only support versionCode

would love to support version name but it's not going to work out very well

Signed-off-by: androidacy-user <opensource@androidacy.com>
pull/27/head
androidacy-user 3 years ago
parent 159454b90e
commit 8485de8629

@ -12,6 +12,7 @@ plugins {
id("com.mikepenz.aboutlibraries.plugin")
kotlin("android")
kotlin("kapt")
id("androidx.baselineprofile")
}
// apply realm-android
@ -39,12 +40,12 @@ android {
minSdk = 24
targetSdk = 33
versionCode = 70
versionName = "2.0.2"
versionName = "2.1.0"
vectorDrawables {
useSupportLibrary = true
}
multiDexEnabled = true
resourceConfigurations.addAll(listOf("ar", "bs", "cs", "de", "es-rMX", "fr", "hu", "id", "ja", "nl", "pl", "pt", "pt-rBR", "ro", "ru", "tr", "uk", "zh", "zh-rTW", "en"))
resourceConfigurations.addAll(listOf("ar", "bs", "cs", "de", "es-rMX", "fr", "hu", "id", "ja", "hu", "nl", "pl", "pt", "pt-rBR", "ro", "ru", "tr", "uk", "zh", "zh-rTW", "en"))
}
splits {
@ -426,6 +427,8 @@ dependencies {
// google guava, maybe fix a bug
implementation("com.google.guava:guava:31.1-android")
implementation("androidx.profileinstaller:profileinstaller:1.3.0")
"baselineProfile"(project(mapOf("path" to ":baselineprofile")))
val libsuVersion = "5.0.5"

@ -86,6 +86,7 @@ public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRe
private SearchView searchView;
private boolean initMode;
private RuntimeUtils runtimeUtils;
public static Boolean isShowingWeblateSb = false; // race condition
public MainActivity() {
this.moduleViewListBuilder = new ModuleViewListBuilder(this);

@ -383,7 +383,7 @@ public class MainApplication extends FoxApplication implements androidx.work.Con
@Override
public void onCreate() {
supportedLocales.addAll(Arrays.asList("ar", "bs", "cs", "de", "es-rMX", "fr", "hu", "id", "ja", "nl", "pl", "pt", "pt-rBR", "ro", "ru", "tr", "uk", "zh", "zh-rTW", "en"));
supportedLocales.addAll(Arrays.asList("ar", "bs", "cs", "de", "es-rMX", "fr", "hu", "id", "ja", "hu", "nl", "pl", "pt", "pt-rBR", "ro", "ru", "tr", "uk", "zh", "zh-rTW", "en"));
if (INSTANCE == null) INSTANCE = this;
relPackageName = this.getPackageName();
super.onCreate();

@ -7,6 +7,8 @@ import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.provider.Settings
import android.view.View
import android.widget.CheckBox
@ -203,13 +205,14 @@ class RuntimeUtils {
fun showWeblateSnackbar(
context: Context, activity: MainActivity, language: String, languageName: String
) {
MainActivity.isShowingWeblateSb = true
// if we haven't shown context snackbar for context version yet
val prefs = MainApplication.getSharedPreferences("mmm")
if (prefs.getInt("weblate_snackbar_shown", 0) == BuildConfig.VERSION_CODE) return
val snackbar: Snackbar = Snackbar.make(
activity.findViewById(R.id.root_container),
activity.getString(R.string.language_not_available, languageName),
Snackbar.LENGTH_LONG
4000
)
snackbar.setAction(R.string.ok) {
val intent = Intent(Intent.ACTION_VIEW)
@ -217,6 +220,10 @@ class RuntimeUtils {
activity.startActivity(intent)
}
snackbar.show()
// after four seconds, set isShowingWeblateSb to false
Handler(Looper.getMainLooper()).postDelayed({
MainActivity.isShowingWeblateSb = false
}, 4000)
prefs.edit().putInt("weblate_snackbar_shown", BuildConfig.VERSION_CODE).apply()
}
@ -230,6 +237,13 @@ class RuntimeUtils {
@SuppressLint("RestrictedApi")
fun showUpgradeSnackbar(context: Context, activity: MainActivity) {
Timber.i("showUpgradeSnackbar start")
// if sb is already showing, wait 4 seconds and try again
if (MainActivity.isShowingWeblateSb) {
Handler(Looper.getMainLooper()).postDelayed({
showUpgradeSnackbar(context, activity)
}, 4500)
return
}
val prefs = MainApplication.getSharedPreferences("mmm")
// if last shown < 7 days ago
if (prefs.getLong("ugsns4", 0) > System.currentTimeMillis() - 604800000) return

@ -1,4 +1,7 @@
@file:Suppress("UnstableApiUsage")
include(":baselineprofile")
plugins {
id("com.gradle.enterprise") version("3.13")
}

Loading…
Cancel
Save