Skip to content

Commit c7a3552

Browse files
committed
Take version name from manifest of installed APK
1 parent 1aede2c commit c7a3552

8 files changed

Lines changed: 31 additions & 12 deletions

File tree

‎app/src/main/java/org/thunderdog/challegram/Log.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,7 +638,7 @@ protected void process (Message msg) {
638638
osArch,
639639

640640
// Related to Application Build
641-
BuildConfig.VERSION_NAME,
641+
U.getVersionName(),
642642
BuildConfig.ORIGINAL_VERSION_CODE,
643643

644644
// Related to Android version
@@ -690,7 +690,7 @@ public static String getDeviceInformationString () {
690690
return String.format(
691691
Locale.US,
692692
"App: %s\nSDK: %d (%s)\nManufacturer: %s\nModel: %s\nBrand: %s\nDisplay: %s\nProduct: %s\nFingerprint: %s\nScreen: %dx%d (%f)\n",
693-
BuildConfig.VERSION_NAME,
693+
U.getVersionName(),
694694

695695
Build.VERSION.SDK_INT,
696696
SdkVersion.getPrettyName(),

‎app/src/main/java/org/thunderdog/challegram/U.java‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2394,6 +2394,26 @@ public static String getUsefulMetadata (@Nullable Tdlib tdlib) {
23942394
return metadata;
23952395
}
23962396

2397+
// Version name of the manifest of the installed APK, read once. A build of all ABIs makes an APK
2398+
// for each, with its ABI in the version name of its manifest, while all of them share one
2399+
// BuildConfig with the version name of one of them
2400+
private static volatile String versionName;
2401+
2402+
public static String getVersionName () {
2403+
String versionName = U.versionName;
2404+
if (versionName == null) {
2405+
try {
2406+
versionName = AppContext.get().getPackageManager()
2407+
.getPackageInfo(BuildConfig.APPLICATION_ID, 0).versionName;
2408+
} catch (Throwable ignored) { }
2409+
if (StringUtils.isEmpty(versionName)) {
2410+
return BuildConfig.VERSION_NAME;
2411+
}
2412+
U.versionName = versionName;
2413+
}
2414+
return versionName;
2415+
}
2416+
23972417
public static String getApkFingerprint (String algorithm) {
23982418
return getApkFingerprint(algorithm, true);
23992419
}

‎app/src/main/java/org/thunderdog/challegram/core/Lang.java‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
import androidx.annotation.UiThread;
3434

3535
import org.drinkless.tdlib.TdApi;
36-
import org.thunderdog.challegram.BuildConfig;
3736
import org.thunderdog.challegram.Log;
3837
import org.thunderdog.challegram.R;
38+
import org.thunderdog.challegram.U;
3939
import org.thunderdog.challegram.config.Config;
4040
import org.thunderdog.challegram.data.ContentPreview;
4141
import org.thunderdog.challegram.data.TD;
@@ -1049,7 +1049,7 @@ public static String getNotificationCategory (int category) {
10491049
// Build no
10501050

10511051
public static String getAppBuildAndVersion (@Nullable Tdlib tdlib) {
1052-
String msg = getString(R.string.AppNameAndVersion, BuildConfig.VERSION_NAME);
1052+
String msg = getString(R.string.AppNameAndVersion, U.getVersionName());
10531053
if (tdlib != null && tdlib.isEmulator()) {
10541054
msg += " (emulator)";
10551055
}

‎app/src/main/java/org/thunderdog/challegram/data/TGMessage.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import org.drinkless.tdlib.TdApi;
5656
import org.drinkmore.Tracer;
5757
import org.thunderdog.challegram.BaseActivity;
58-
import org.thunderdog.challegram.BuildConfig;
5958
import org.thunderdog.challegram.Log;
6059
import org.thunderdog.challegram.R;
6160
import org.thunderdog.challegram.U;
@@ -8537,7 +8536,7 @@ public static TGMessage valueOfError (MessagesManager context, TdApi.Message msg
85378536

85388537
logEntity.offset = b.length();
85398538

8540-
b.append(Lang.getString(R.string.AppName)).append(' ').append(BuildConfig.VERSION_NAME).append("\n");
8539+
b.append(Lang.getString(R.string.AppName)).append(' ').append(U.getVersionName()).append("\n");
85418540
b.append("Type: ").append(msg.content != null ? msg.content.getClass().getSimpleName() : "NULL").append("\n");
85428541
b.append("Android: ").append(SdkVersion.getPrettyName()).append(" (").append(Build.VERSION.SDK_INT).append(")\n");
85438542
b.append("Screen: ").append(Screen.widestSide()).append("x").append(Screen.smallestSide()).append("x").append(Screen.density()).append("\n");

‎app/src/main/java/org/thunderdog/challegram/telegram/Tdlib.java‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ public TdlibCounter getCounter (@NonNull TdApi.ChatList chatList) {
523523
BuildConfig.TELEGRAM_API_ID,
524524
BuildConfig.TELEGRAM_API_HASH,
525525
null, null, null, // updateParameters
526-
BuildConfig.VERSION_NAME
526+
U.getVersionName()
527527
);
528528
} else {
529529
this.parameters = new TdApi.SetTdlibParameters(
@@ -536,7 +536,7 @@ public TdlibCounter getCounter (@NonNull TdApi.ChatList chatList) {
536536
BuildConfig.TELEGRAM_API_ID,
537537
BuildConfig.TELEGRAM_API_HASH,
538538
null, null, null, // updateParameters
539-
BuildConfig.VERSION_NAME
539+
U.getVersionName()
540540
);
541541
}
542542

@@ -4730,7 +4730,7 @@ public boolean hasPotentiallyVisibleMessages () {
47304730

47314731
public String emailMetadata () {
47324732
return Lang.getString(R.string.email_metadata,
4733-
BuildConfig.VERSION_NAME,
4733+
U.getVersionName(),
47344734
languagePackId,
47354735
TdlibManager.getSystemLanguageCode(),
47364736
TdlibManager.getSystemVersion());

‎app/src/main/java/org/thunderdog/challegram/ui/IntroController.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ private static boolean hasDefaultGlConfigImpl () {
326326
String text = Lang.getString(languagePackInfo,
327327
R.string.email_LoginTooLong_text,
328328

329-
BuildConfig.VERSION_NAME,
329+
U.getVersionName(),
330330
languagePackInfo.id,
331331
Lang.getDuration((int) (getTdlib().timeSinceFirstConnectionAttemptMs() / 1000l)) + " (" + networkTypeStr + ")",
332332
TdlibManager.getSystemLanguageCode(),

‎app/src/main/java/org/thunderdog/challegram/ui/SettingsBugController.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public CharSequence getName () {
172172
}
173173
switch (section) {
174174
case Section.MAIN:
175-
return BuildConfig.VERSION_NAME;
175+
return U.getVersionName();
176176
case Section.UTILITIES:
177177
return Lang.getString(R.string.TestMode);
178178
case Section.PUSH:

‎app/src/main/java/org/thunderdog/challegram/ui/SettingsController.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1444,7 +1444,7 @@ private void showBuildOptions (boolean allowDebug) {
14441444
}
14451445

14461446
SpannableStringBuilder b = new SpannableStringBuilder();
1447-
b.append(Lang.getMarkdownStringSecure(this, R.string.AppSignature, BuildConfig.VERSION_NAME));
1447+
b.append(Lang.getMarkdownStringSecure(this, R.string.AppSignature, U.getVersionName()));
14481448

14491449
showOptions(b, ids.get(), strings.get(), colors.get(), icons.get(), (itemView, id) -> {
14501450
if (id == R.id.btn_copyText) {

0 commit comments

Comments
 (0)