diff --git a/Jenkinsfile b/Jenkinsfile
index 7ac99a9c..b7c7b8dd 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -11,17 +11,6 @@ node('android') {
git branch: env.BRANCH_NAME, credentialsId: cred_git, url: repo_url
}
- stage('Prepare') {
- sh """
- if ! echo $BRANCH_NAME | grep -Eq '(play|beta)'; then
- sed -i "s/\\(versionName \\)\\"[0-9\\.]*\\"/\\1\\"$BRANCH_NAME-#$BUILD_NUMBER\\"/" app/build.gradle
- sed -i "s/\\(android:defaultValue=\\)\\"play\\"/\\1\\"$BRANCH_NAME\\"/" app/src/main/res/xml/preferences.xml
- sed -i "s/\\(\\"pref_updater_branch\\", \\)\\"play\\"/\\1\\"$BRANCH_NAME\\"/" app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
- sed -i "s/\\(\\"pref_updater_build\\", \\)0/\\1$BUILD_NUMBER/" app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
- fi
- """
- }
-
stage('Build') {
sh 'gradle build'
sh """
diff --git a/app/build.gradle b/app/build.gradle
index b9a517e9..0a5198be 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -12,6 +12,12 @@ android {
versionCode 70
versionName "1.8.3.2"
+ // Jenkins build info
+ def branch_name = System.getenv("BRANCH_NAME") ?: "play"
+ buildConfigField "String", "BRANCH_NAME", "\"$branch_name\""
+ buildConfigField "Integer", "BUILD_NUMBER", System.getenv("BUILD_NUMBER") ?: "0"
+ resValue "string", "build_branch_name", "\"$branch_name\""
+
// GitHub Pages
buildConfigField "String", "\$GITHUB", "\"https://mosmetro-android.github.io\""
buildConfigField "String", "NEWS_URL", "\$GITHUB + \"/news.json\""
diff --git a/app/src/main/java/pw/thedrhax/mosmetro/activities/SettingsActivity.java b/app/src/main/java/pw/thedrhax/mosmetro/activities/SettingsActivity.java
index 0d01a37f..b356406e 100644
--- a/app/src/main/java/pw/thedrhax/mosmetro/activities/SettingsActivity.java
+++ b/app/src/main/java/pw/thedrhax/mosmetro/activities/SettingsActivity.java
@@ -98,7 +98,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
screen.addPreference(experimental);
final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity());
- String current_branch = settings.getString("pref_updater_branch", "play");
+ String current_branch = settings.getString("pref_updater_branch", Version.getBranch());
for (final UpdateCheckTask.Branch branch : branches) {
CheckBoxPreference pref = new CheckBoxPreference(getActivity()) {
@Override
diff --git a/app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java b/app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
index b5dd3306..ebe2f4b4 100644
--- a/app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
+++ b/app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
@@ -79,7 +79,7 @@ protected Void doInBackground (Boolean... force) {
// Retrieve info from server
String content = retriever.get(UPDATE_INFO_URL, 60*60,
- "{\"" + settings.getString("pref_updater_branch", "play") + "\":" +
+ "{\"" + settings.getString("pref_updater_branch", Version.getBranch()) + "\":" +
"{\"url\":\"none\",\"by_build\":\"0\",\"version\":\"0\",\"message\":\"none\"}}",
CachedRetriever.Type.JSON
);
@@ -104,7 +104,7 @@ protected Void doInBackground (Boolean... force) {
continue;
}
- if (branch.name.equals(settings.getString("pref_updater_branch", "play"))) {
+ if (branch.name.equals(settings.getString("pref_updater_branch", Version.getBranch()))) {
current_branch = branch;
}
diff --git a/app/src/main/java/pw/thedrhax/util/Version.java b/app/src/main/java/pw/thedrhax/util/Version.java
index 908bda71..4672f886 100644
--- a/app/src/main/java/pw/thedrhax/util/Version.java
+++ b/app/src/main/java/pw/thedrhax/util/Version.java
@@ -20,6 +20,8 @@
import android.support.annotation.NonNull;
+import java.util.Locale;
+
import pw.thedrhax.mosmetro.BuildConfig;
/**
@@ -41,28 +43,18 @@ public static int getVersionCode() {
}
@NonNull public static String getFormattedVersion() {
- return getVersionName() + "-" + getVersionCode();
+ if (getBranch().equals("play")) {
+ return getVersionName();
+ } else {
+ return String.format(Locale.ENGLISH,"%s #%d", getBranch(), getBuildNumber());
+ }
}
- // TODO: Store branch name in app.gradle
@NonNull public static String getBranch() {
- String version_name = Version.getVersionName();
-
- if (version_name.contains("#")) {
- return version_name.substring(0, version_name.indexOf("#") - 1);
- } else {
- return "play";
- }
+ return BuildConfig.BRANCH_NAME;
}
- // TODO: Store build number in app.gradle
public static int getBuildNumber() {
- String version_name = Version.getVersionName();
-
- if (version_name.contains("#")) {
- return Integer.parseInt(version_name.substring(version_name.indexOf("#") + 1));
- } else {
- return 0; // play or beta are currently installed
- }
+ return BuildConfig.BUILD_NUMBER;
}
}
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index ebaeebd8..ba93b6a3 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -19,7 +19,7 @@
Ошибка: %s
не
попытка %d из %d
- Версия приложения: %s
+ Версия: %s
Показать подробные сообщения
Текст скопирован в буфер обмена
Очистить экран
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c052af46..ddddd8f7 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -21,7 +21,7 @@
Error: %s
not
try %d out of %d
- Application version: %s
+ Version: %s
Show verbose messages
Text copied to clipboard
Clear screen
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 9a3bcaaa..a98fb1b8 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -62,7 +62,7 @@
android:key="pref_updater_branch"
android:title="@string/pref_updater_branch"
android:summary="@string/pref_updater_branch_summary"
- android:defaultValue="play"
+ android:defaultValue="@string/build_branch_name"
android:enabled="false" />