From 5d941ae57070a2a99ceab0dbfbef7dd6094d70be Mon Sep 17 00:00:00 2001 From: androidacy-user Date: Tue, 27 Dec 2022 13:51:39 -0500 Subject: [PATCH] Tweaks and cleanup Signed-off-by: androidacy-user --- app/build.gradle | 19 +++++++++ .../java/com/fox2code/mmm/MainActivity.java | 5 ++- .../com/fox2code/mmm/MainApplication.java | 3 ++ .../com/fox2code/mmm/NotificationType.java | 2 +- .../mmm/settings/SettingsActivity.java | 39 +++++++++++++++---- app/src/main/res/layout/module_entry.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 18 +++++++-- app/src/main/res/values/themes.xml | 5 +++ app/src/main/res/xml/root_preferences.xml | 13 ++++++- 19 files changed, 102 insertions(+), 24 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4997317..f75e916 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -81,6 +81,15 @@ android { flavorDimensions "type" productFlavors { "default" { + // Latest commit hash as BuildConfig.COMMIT_HASH + def gitCommitHash = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim() + buildConfigField "String", "COMMIT_HASH", "\"${gitCommitHash}\"" + // Get the current branch name as BuildConfig.BRANCH_NAME + def gitBranchName = 'git rev-parse --abbrev-ref HEAD'.execute([], project.rootDir).text.trim() + buildConfigField "String", "BRANCH_NAME", "\"${gitBranchName}\"" + // Get remote url as BuildConfig.REMOTE_URL + def gitRemoteUrl = 'git config --get remote.origin.url'.execute([], project.rootDir).text.trim() + buildConfigField "String", "REMOTE_URL", "\"${gitRemoteUrl}\"" dimension "type" buildConfigField "boolean", "ENABLE_AUTO_UPDATER", "true" buildConfigField "boolean", "DEFAULT_ENABLE_CRASH_REPORTING", "true" @@ -119,6 +128,16 @@ android { dimension "type" applicationIdSuffix ".fdroid" + // Latest commit hash as BuildConfig.COMMIT_HASH + def gitCommitHash = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim() + buildConfigField "String", "COMMIT_HASH", "\"${gitCommitHash}\"" + // Get the current branch name as BuildConfig.BRANCH_NAME + def gitBranchName = 'git rev-parse --abbrev-ref HEAD'.execute([], project.rootDir).text.trim() + buildConfigField "String", "BRANCH_NAME", "\"${gitBranchName}\"" + // Get remote url as BuildConfig.REMOTE_URL + def gitRemoteUrl = 'git config --get remote.origin.url'.execute([], project.rootDir).text.trim() + buildConfigField "String", "REMOTE_URL", "\"${gitRemoteUrl}\"" + // Need to disable auto-updater for F-Droid flavor because their inclusion policy // forbids downloading blobs from third-party websites (and F-Droid APK isn't signed // with our keys, so the APK wouldn't install anyways). diff --git a/app/src/main/java/com/fox2code/mmm/MainActivity.java b/app/src/main/java/com/fox2code/mmm/MainActivity.java index cb5be22..97667a5 100644 --- a/app/src/main/java/com/fox2code/mmm/MainActivity.java +++ b/app/src/main/java/com/fox2code/mmm/MainActivity.java @@ -257,7 +257,10 @@ public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRe Log.i("NoodleDebug", "Check Update"); RepoManager.getINSTANCE().update(value -> runOnUiThread(max == 0 ? () -> progressIndicator.setProgressCompat((int) (value * PRECISION), true) : () -> progressIndicator.setProgressCompat((int) (value * PRECISION * 0.75F), true))); NotificationType.NEED_CAPTCHA_ANDROIDACY.autoAdd(moduleViewListBuilder); - + // Add debug notification for debug builds + if (!NotificationType.DEBUG.shouldRemove()) { + moduleViewListBuilder.addNotification(NotificationType.DEBUG); + } if (!NotificationType.NO_INTERNET.shouldRemove()) { moduleViewListBuilder.addNotification(NotificationType.NO_INTERNET); } else if (!NotificationType.REPO_UPDATE_FAILED.shouldRemove()) { diff --git a/app/src/main/java/com/fox2code/mmm/MainApplication.java b/app/src/main/java/com/fox2code/mmm/MainApplication.java index f03645d..18be657 100644 --- a/app/src/main/java/com/fox2code/mmm/MainApplication.java +++ b/app/src/main/java/com/fox2code/mmm/MainApplication.java @@ -280,6 +280,9 @@ public class MainApplication extends FoxApplication implements androidx.work.Con INSTANCE = this; relPackageName = this.getPackageName(); super.onCreate(); + if (BuildConfig.DEBUG) { + Log.d("MainApplication", "Starting FoxMMM version " + BuildConfig.VERSION_NAME + " (" + BuildConfig.VERSION_CODE + "), commit " + BuildConfig.COMMIT_HASH); + } SharedPreferences sharedPreferences = MainApplication.getSharedPreferences(); // We are only one process so it's ok to do this SharedPreferences bootPrefs = MainApplication.bootSharedPreferences = this.getSharedPreferences("mmm_boot", MODE_PRIVATE); diff --git a/app/src/main/java/com/fox2code/mmm/NotificationType.java b/app/src/main/java/com/fox2code/mmm/NotificationType.java index 56761e2..51b0de9 100644 --- a/app/src/main/java/com/fox2code/mmm/NotificationType.java +++ b/app/src/main/java/com/fox2code/mmm/NotificationType.java @@ -29,7 +29,7 @@ public enum NotificationType implements NotificationTypeCst { DEBUG(R.string.debug_build, R.drawable.ic_baseline_bug_report_24) { @Override public boolean shouldRemove() { - return BuildConfig.DEBUG; + return !BuildConfig.DEBUG; } }, SHOWCASE_MODE(R.string.showcase_mode, R.drawable.ic_baseline_lock_24, diff --git a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java index c3c83ca..b1970f0 100644 --- a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java +++ b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java @@ -333,26 +333,31 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { }); // Warning! Locales that are't exist will crash the app + // Anything that is commented out is supported but the translation is not complete to at least 60% HashSet supportedLocales = new HashSet<>(); + // supportedLocales.add("ar"); + // supportedLocales.add("ar_SA"); supportedLocales.add("cs"); supportedLocales.add("de"); - supportedLocales.add("el"); + // supportedLocales.add("el"); + supportedLocales.add("es"); supportedLocales.add("es-rMX"); - supportedLocales.add("et"); + // supportedLocales.add("et"); supportedLocales.add("fr"); supportedLocales.add("id"); supportedLocales.add("it"); - supportedLocales.add("ja"); - supportedLocales.add("nb-rNO"); + // supportedLocales.add("ja"); + // supportedLocales.add("nb-rNO"); supportedLocales.add("pl"); supportedLocales.add("pt-rBR"); supportedLocales.add("ro"); supportedLocales.add("ru"); supportedLocales.add("sk"); supportedLocales.add("tr"); - supportedLocales.add("vi"); + supportedLocales.add("uk"); + // supportedLocales.add("vi"); supportedLocales.add("zh-rCH"); - supportedLocales.add("zh-rTW"); + // supportedLocales.add("zh-rTW"); supportedLocales.add("en"); Preference languageSelector = findPreference("pref_language_selector"); @@ -363,6 +368,23 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { return true; }); + // Handle pref_language_selector_cta by taking user to https://translate.nift4.org/engage/foxmmm/ + LongClickablePreference languageSelectorCta = findPreference("pref_language_selector_cta"); + languageSelectorCta.setOnPreferenceClickListener(preference -> { + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://translate.nift4.org/engage/foxmmm/")); + startActivity(browserIntent); + return true; + }); + + // Long click to copy url + languageSelectorCta.setOnPreferenceLongClickListener(v -> { + ClipboardManager clipboard = (ClipboardManager) requireContext().getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("URL", "https://translate.nift4.org/engage/foxmmm/"); + clipboard.setPrimaryClip(clip); + Toast.makeText(requireContext(), R.string.link_copied, Toast.LENGTH_SHORT).show(); + return true; + }); + int level = this.currentLanguageLevel(); if (level != LANGUAGE_SUPPORT_LEVEL) { Log.e(TAG, "Detected language level " + level + ", latest is " + LANGUAGE_SUPPORT_LEVEL); @@ -484,6 +506,8 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { findPreference("pref_report_bug").setVisible(false); } linkClickable = findPreference("pref_source_code"); + // Set summary to the last commit this build was built from + linkClickable.setSummary(String.format(getString(R.string.source_code_summary), BuildConfig.COMMIT_HASH)); linkClickable.setOnPreferenceClickListener(p -> { if (devModeStep == 2) { devModeStep = 0; @@ -499,7 +523,8 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { ExternalHelper.INSTANCE.refreshHelper(getContext()); return true; } - IntentHelper.openUrl(p.getContext(), "https://github.com/Fox2Code/FoxMagiskModuleManager"); + // build url from BuildConfig.REMOTE_URL and BuildConfig.COMMIT_HASH. May have to remove the .git at the end + IntentHelper.openUrl(p.getContext(), BuildConfig.REMOTE_URL + "/tree/" + BuildConfig.COMMIT_HASH); return true; }); linkClickable.setOnPreferenceLongClickListener(p -> { diff --git a/app/src/main/res/layout/module_entry.xml b/app/src/main/res/layout/module_entry.xml index 7ff8527..d3df7a3 100644 --- a/app/src/main/res/layout/module_entry.xml +++ b/app/src/main/res/layout/module_entry.xml @@ -58,7 +58,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:maxLines="1" + android:maxLines="2" android:text="@string/loading" android:textSize="16sp" android:textAppearance="?attr/textAppearanceTitleMedium" diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 46c0647..3ef6c81 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -179,7 +179,7 @@ Danke für dein Feedback Konnte nicht abgesendet werden, da keine Fehlerbeschreibung angegeben wurde Zu Online-Repos gehen - %1$s v%2$s (%3$o) | %4$s Build + %1$s v%2$s (%3$d) | %4$s Build Offiziell Inoffiziell Willkommen diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 70e29cc..bb36aaf 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -218,7 +218,7 @@ Il n\’est pas possible d\’envoyer le retour d\’expérience etant donné qu\’aucune description n\’a été fournie Défiler jusqu\’aux dépôts en ligne - %1$s v%2$s (%3$o) | %4$s Fabrication + %1$s v%2$s (%3$d) | %4$s Fabrication Officielle Non-officielle Première mise en service diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index e4cb281..8f64487 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -199,7 +199,7 @@ Feedback inviato correttamente. Lo esamineremo a breve Impossibile inviare il feedback in quanto non è stata fornita alcuna descrizione Scorri fino al repository online - %1$s v%2$s (%3$o) | %4$s Crea + %1$s v%2$s (%3$d) | %4$s Crea Ufficiale Non ufficiale Configurazione per la prima volta diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 3bab091..b7feae5 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -150,7 +150,7 @@ Feedback met succes verzonden. We zullen het zo snel mogelijk bekijken Kan geen feedback verzenden omdat er geen beschrijving is gegeven Scroll naar online repo - %1$s v%2$s (%3$o) | %4$s Build + %1$s v%2$s (%3$d) | %4$s Build Officieel Niet-officieel Eerste installatie diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 6c0b3ca..c9d13d1 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -188,7 +188,7 @@ Nie można przesłać opinii, ponieważ nie podano opisu Przewiń do repozytorium online Oficjalna - %1$s v%2$s (%3$o) | %4$s kompilacja + %1$s v%2$s (%3$d) | %4$s kompilacja Pomyślnie przesłano opinię. Wkrótce to sprawdzimy Powitalna konfiguracja Zastosuj diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index c9d02d8..c387d89 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -164,7 +164,7 @@ Relatório enviador com sucesso. Iremos analisar logo em breve Incapaz de enviar relatório já que nenhuma descrição foi providenciada Descer até os repositórios online - Versão %1$s v%2$s (%3$o) | %4$s + Versão %1$s v%2$s (%3$d) | %4$s Oficial Não oficial Configuração inicial diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 56185aa..4fed6bf 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -193,7 +193,7 @@ Feedback trimis cu succes. Îl vom revizui în curând Nu s-a putut trimite feedback deoarece nu a fost furnizată nicio descriere Derulați la depozitele online - %1$s v%2$s (%3$o) | %4$s + %1$s v%2$s (%3$d) | %4$s Oficial Neoficial Configurare pentru prima dată diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 138792b..0762c70 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -192,7 +192,7 @@ Отзыв отправлен успешно. Мы рассмотрим его в ближайшее время Сообщите нам что случилось Перейдите к онлайн-репозиторию - Сборка %1$s v%2$s (%3$o) | %4$s + Сборка %1$s v%2$s (%3$d) | %4$s Официальный Репозитории Разное diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 6309e3d..8d23a30 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -186,7 +186,7 @@ Відгук успішно надіслано. Невдовзі ми його розглянемо Не вдалося надіслати відгук, оскільки не було надано опису Перейдіть до онлайн репозиторію - Збірка: %1$s v%2$s (%3$o) | %4$s + Збірка: %1$s v%2$s (%3$d) | %4$s Офіційний Неофіційний Перше налаштування diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2f45939..760a57f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -218,7 +218,7 @@ 无法提交反馈, 因为 因为没有提供描述 移动到在线仓库 - %1$s v%2$s (%3$o) | %4$s 构建 + %1$s v%2$s (%3$d) | %4$s 构建 官方 非官方 初始设定 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e6abe86..a868210 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -218,7 +218,7 @@ Could not submit feedback as no description was provided Scroll to online repo - %1$s v%2$s (%3$o) | %4$s Build + %1$s v%2$s (%3$d) | %4$s Build Official Unofficial First time setup @@ -248,12 +248,24 @@ This is a debug build. Expect some bugs and worse performance. Androidacy Repo Magisk Alt Repo - You\'ve enabled or disabled a repo. Please refresh the module list or restart the app.FinishChoose a themeChoose a themeSystem themeLight themeDark themeAMOLED Black themeTransparent light theme - will disable monet and blur!Choose a themeThemeSystem + You\'ve enabled or disabled a repo. Please refresh the module list or restart the app. + Finish + Choose a theme + Choose a theme + System theme + Light theme + Dark theme + AMOLED Black theme + Transparent light theme - will disable monet and blur! + Choose a theme + Theme + System Dark AMOLED Black Light (transparency) Light This app is outdated. Please update the app to the latest version. - Your webview is outdated! Please update it. + Your webview is outdated! Please update it.Don\'t see your language?Help us by translating it! Tap here to find out more. + Commit %1$s diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 492c6bd..d39e9c2 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -96,6 +96,11 @@ @color/orange_700 @color/orange_500 @color/orange_700 + + @color/orange_200 + @color/black + @color/white + @null