From 9c2d361a1c912a15dc937315b55bc29de8e0fe77 Mon Sep 17 00:00:00 2001 From: androidacy-user Date: Wed, 24 Aug 2022 11:39:00 -0400 Subject: [PATCH] Update androidacy APIs Signed-off-by: androidacy-user --- README.md | 8 +-- app/build.gradle | 23 +++--- app/src/main/AndroidManifest.xml | 66 +++++++++++------ .../java/com/fox2code/mmm/MainActivity.java | 14 ++++ .../mmm/androidacy/AndroidacyRepoData.java | 70 +++++-------------- .../mmm/settings/SettingsActivity.java | 24 ++++++- app/src/main/res/values-cs/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es-rMX/strings.xml | 2 +- app/src/main/res/values-et/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-id/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-nb-rNO/strings.xml | 2 +- app/src/main/res/values-night-v31/strings.xml | 4 ++ app/src/main/res/values-night/strings.xml | 4 ++ 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-sk/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-v23/strings.xml | 4 ++ app/src/main/res/values-v31/strings.xml | 4 ++ app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/strings.xml | 4 +- app/src/main/res/xml/root_preferences.xml | 9 +++ build.gradle | 4 +- 32 files changed, 161 insertions(+), 110 deletions(-) create mode 100644 app/src/main/res/values-night-v31/strings.xml create mode 100644 app/src/main/res/values-night/strings.xml create mode 100644 app/src/main/res/values-v23/strings.xml create mode 100644 app/src/main/res/values-v31/strings.xml diff --git a/README.md b/README.md index f2ec466..6540557 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,7 @@ ## Fox Module contest -[NoStorageRestrict](https://github.com/Magisk-Modules-Alt-Repo/NoStorageRestrict) -by [@DanGLES3](https://github.com/DanGLES3) won via vote in community telegram server. +[NoStorageRestrict](https://github.com/Magisk-Modules-Alt-Repo/NoStorageRestrict) by [@DanGLES3](https://github.com/DanGLES3) won via vote in community telegram server. Module description: Removes the restriction when selecting folders (Downloads/Android) through the file manager on Android 11 and higher @@ -19,12 +18,11 @@ Main activity: ## What is this? -The official Magisk is dropping support to download online modules... -So I made my own app to do that! :3 +The official Magisk has dropped support to download online modules, so I made Fox's Magisk Module Manager to help you download and install Magisk modules. **This app is not officially supported by Magisk or its developers** -**The modules shown in this app are not affiliated with this app** +**The modules shown in this app are not affiliated with this app or Magisk** (Please contact repo owners instead) ## Requirements diff --git a/app/build.gradle b/app/build.gradle index 2362ae3..d5465a1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' id 'com.mikepenz.aboutlibraries.plugin' + id "io.sentry.android.gradle" version "3.1.4" } android { @@ -10,8 +11,8 @@ android { applicationId "com.fox2code.mmm" minSdk 21 targetSdk 33 - versionCode 53 - versionName "0.6.1" + versionCode 54 + versionName "0.7.0-dev" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } @@ -35,9 +36,9 @@ android { dimension "type" buildConfigField "boolean", "ENABLE_AUTO_UPDATER", "true" buildConfigField( - "java.util.List", - "ENABLED_REPOS", - "java.util.Arrays.asList(\"magisk_alt_repo\", \"dg_magisk_repo\", \"androidacy_repo\")", + "java.util.List", + "ENABLED_REPOS", + "java.util.Arrays.asList(\"magisk_alt_repo\", \"dg_magisk_repo\", \"androidacy_repo\")", ) } @@ -53,9 +54,9 @@ android { // Repo with ads or tracking feature are disabled by default for the // F-Droid flavor. buildConfigField( - "java.util.List", - "ENABLED_REPOS", - "java.util.Arrays.asList(\"magisk_alt_repo\")", + "java.util.List", + "ENABLED_REPOS", + "java.util.Arrays.asList(\"magisk_alt_repo\")", ) } } @@ -75,7 +76,7 @@ aboutLibraries { } configurations { - implementation.exclude group: 'org.jetbrains' , module: 'annotations' + implementation.exclude group: 'org.jetbrains', module: 'annotations' } dependencies { @@ -89,7 +90,7 @@ dependencies { implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.webkit:webkit:1.4.0' implementation 'com.google.android.material:material:1.6.1' - implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}" + implementation 'com.mikepenz:aboutlibraries:10.4.1-a01' implementation "dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0" implementation "dev.rikka.rikkax.insets:insets:1.3.0" implementation 'com.github.Dimezis:BlurView:version-1.6.6' @@ -113,7 +114,7 @@ dependencies { implementation "com.caverock:androidsvg:1.4" // Test - testImplementation 'junit:junit:4.+' + testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6da80b2..49205b5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,7 +5,9 @@ tools:ignore="QueryAllPackagesPermission"> - + @@ -16,36 +18,39 @@ - - + + + android:label="@string/title_activity_settings" + android:parentActivityName=".MainActivity"> @@ -53,8 +58,8 @@ + android:label="@string/app_name_short" + android:launchMode="singleTask"> @@ -62,10 +67,10 @@ @@ -73,30 +78,45 @@ - + android:parentActivityName=".MainActivity" + android:theme="@style/Theme.MagiskModuleManager"> - + + - - + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/fox2code/mmm/MainActivity.java b/app/src/main/java/com/fox2code/mmm/MainActivity.java index ed9bd2e..d89c8ed 100644 --- a/app/src/main/java/com/fox2code/mmm/MainActivity.java +++ b/app/src/main/java/com/fox2code/mmm/MainActivity.java @@ -37,6 +37,7 @@ import com.google.android.material.progressindicator.LinearProgressIndicator; import eightbitlab.com.blurview.BlurView; import eightbitlab.com.blurview.RenderScriptBlur; +import io.sentry.android.core.SentryAndroid; public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRefreshListener, SearchView.OnQueryTextListener, SearchView.OnCloseListener, @@ -73,6 +74,19 @@ public class MainActivity extends FoxActivity implements SwipeRefreshLayout.OnRe @Override protected void onCreate(Bundle savedInstanceState) { + SentryAndroid.init(this, options -> { + // Add a callback that will be used before the event is sent to Sentry. + // With this callback, you can modify the event or, when returning null, also discard the event. + options.setBeforeSend((event, hint) -> { + // Check saved preferences to see if the user has opted out of crash reporting. + // If the user has opted out, return null. + if (SettingsActivity.getCrashReporting(this)) { + return event; + } else { + return null; + } + }); + }); this.initMode = true; BackgroundUpdateChecker.onMainActivityCreate(this); super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java index 6f068eb..0a77530 100644 --- a/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java +++ b/app/src/main/java/com/fox2code/mmm/androidacy/AndroidacyRepoData.java @@ -21,24 +21,23 @@ import org.json.JSONObject; import java.io.File; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Collections; import java.util.Iterator; import java.util.List; -import okhttp3.Cookie; import okhttp3.HttpUrl; @SuppressWarnings("KotlinInternalInJava") public final class AndroidacyRepoData extends RepoData { private static final String TAG = "AndroidacyRepoData"; - private static final HttpUrl OK_HTTP_URL; + static { HttpUrl.Builder OK_HTTP_URL_BUILDER = new HttpUrl.Builder().scheme("https"); // Using HttpUrl.Builder.host(String) crash the app OK_HTTP_URL_BUILDER.setHost$okhttp(".androidacy.com"); - OK_HTTP_URL = OK_HTTP_URL_BUILDER.build(); + OK_HTTP_URL_BUILDER.build(); } + // Avoid spamming requests to Androidacy private long androidacyBlockade = 0; private String token = null; @@ -60,26 +59,10 @@ public final class AndroidacyRepoData extends RepoData { this.defaultSupport = "https://t.me/androidacy_discussions"; this.defaultDonate = "https://www.androidacy.com/membership-join/?utm_source=foxmmm&utm-medium=app&utm_campaign=fox-inapp"; this.defaultSubmitModule = "https://www.androidacy.com/module-repository-applications/"; - this.host = testMode ? "staging-api.androidacy.com" : "api.androidacy.com"; + this.host = testMode ? "staging-api.androidacy.com" : "production-api.androidacy.com"; this.testMode = testMode; } - private static String getCookies() { - if (Http.hasWebView()) { - return CookieManager.getInstance().getCookie("https://.androidacy.com/"); - } else { - Iterator cookies = Http.getCookieJar() - .loadForRequest(OK_HTTP_URL).iterator(); - if (!cookies.hasNext()) return ""; - StringBuilder stringBuilder = new StringBuilder(); - while (true) { - stringBuilder.append(cookies.next().toString()); - if (!cookies.hasNext()) return stringBuilder.toString(); - stringBuilder.append(","); - } - } - } - public static AndroidacyRepoData getInstance() { return RepoManager.getINSTANCE().getAndroidacyRepoData(); } @@ -91,14 +74,8 @@ public final class AndroidacyRepoData extends RepoData { long time = System.currentTimeMillis(); if (this.androidacyBlockade > time) return false; this.androidacyBlockade = time + 30_000L; - String cookies = AndroidacyRepoData.getCookies(); - int start = cookies == null ? -1 : cookies.indexOf("USER=") + 5; - String token = null; - if (start != -1) { - int end = cookies.indexOf(";", start); - if (end != -1) - token = cookies.substring(start, end); - } + // Get token from androidacy_token shared preference + String token = this.cachedPreferences.getString("androidacy_token", null); if (token != null) { try { Http.doHttpGet("https://" + this.host + "/auth/me?token=" + token, true); @@ -110,14 +87,10 @@ public final class AndroidacyRepoData extends RepoData { return false; } Log.w(TAG, "Invalid token, resetting..."); - if (Http.hasWebView()) { - CookieManager.getInstance().setCookie("https://.androidacy.com/", - "USER=; expires=Thu, 01 Jan 1970 00:00:00 GMT;" + - " path=/; secure; domain=.androidacy.com"); - } else { - Http.getCookieJar().saveFromResponse( - OK_HTTP_URL, Collections.emptyList()); - } + // Remove saved preference + SharedPreferences.Editor editor = this.cachedPreferences.edit(); + editor.remove("androidacy_token"); + editor.apply(); this.token = token = null; } } @@ -126,22 +99,16 @@ public final class AndroidacyRepoData extends RepoData { Log.i(TAG, "Refreshing token..."); token = new String(Http.doHttpPost( "https://" + this.host + "/auth/register", - "",true), StandardCharsets.UTF_8); - if (Http.hasWebView()) { - CookieManager.getInstance().setCookie("https://.androidacy.com/", - "USER=" + token + "; expires=Fri, 31 Dec 9999 23:59:59 GMT;" + - " path=/; secure; domain=.androidacy.com"); - } else { - Http.getCookieJar().saveFromResponse(OK_HTTP_URL, - Collections.singletonList(Cookie.parse(OK_HTTP_URL, - "USER=" + token + "; expires=Fri, 31 Dec 9999 23:59:59 GMT;" + - " path=/; secure; domain=.androidacy.com"))); - } + "foxmmm=true", true), StandardCharsets.UTF_8); + // Save token to shared preference + SharedPreferences.Editor editor = this.cachedPreferences.edit(); + editor.putString("androidacy_token", token); + editor.apply(); } catch (Exception e) { if ("Received error code: 419".equals(e.getMessage()) || "Received error code: 429".equals(e.getMessage()) || "Received error code: 503".equals(e.getMessage()) - ) { + ) { Log.e(TAG, "We are being rate limited!", e); this.androidacyBlockade = time + 3_600_000L; } @@ -194,7 +161,7 @@ public final class AndroidacyRepoData extends RepoData { jsonObject.optString("zipUrl", "")); repoModule.notesUrl = filterURL( jsonObject.optString("notesUrl", "")); - if (repoModule.zipUrl == null) { + if (repoModule.zipUrl == null) { repoModule.zipUrl = // Fallback url in case the API doesn't have zipUrl "https://" + this.host + "/magisk/info/" + moduleId; } @@ -264,7 +231,8 @@ public final class AndroidacyRepoData extends RepoData { } @Override - public void storeMetadata(RepoModule repoModule, byte[] data) {} + public void storeMetadata(RepoModule repoModule, byte[] data) { + } @Override public boolean tryLoadMetadata(RepoModule repoModule) { 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 3f767f0..304ed05 100644 --- a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java +++ b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java @@ -17,6 +17,7 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentTransaction; import androidx.preference.ListPreference; import androidx.preference.Preference; @@ -61,6 +62,11 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { private static final String TAG = "SettingsActivity"; private static int devModeStep = 0; + public static boolean getCrashReporting(MainActivity mainActivity) { + return mainActivity.getPreferences(Context.MODE_PRIVATE) + .getBoolean("crash_reporting", true); + } + @Override protected void onCreate(Bundle savedInstanceState) { devModeStep = 0; @@ -124,6 +130,16 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { }, 1); return true; }); + // Crash reporting + TwoStatePreference crashReportingPreference = findPreference("pref_crash_reporting"); + crashReportingPreference.setChecked(getCrashReporting( + (MainActivity) requireActivity())); + crashReportingPreference.setOnPreferenceChangeListener((preference, newValue) -> { + devModeStep = 0; + getCrashReportingEditor(requireActivity()).putBoolean("crash_reporting", + (boolean) newValue).apply(); + return true; + }); Preference enableBlur = findPreference("pref_enable_blur"); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { enableBlur.setSummary(R.string.require_android_6); @@ -277,6 +293,10 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { BuildConfig.VERSION_CODE + ")"); } + private SharedPreferences.Editor getCrashReportingEditor(FragmentActivity requireActivity) { + return requireActivity.getSharedPreferences("crash_reporting", Context.MODE_PRIVATE).edit(); + } + private void openFragment(Fragment fragment, @StringRes int title) { FoxActivity compatActivity = getFoxActivity(this); compatActivity.setOnBackPressedCallback(this); @@ -384,9 +404,7 @@ public class SettingsActivity extends FoxActivity implements LanguageActivity { } catch (IOException|JSONException e) { Log.e(TAG, "Failed to preload repo values", e); } - UiThreadHandler.handler.post(() -> { - updateCustomRepoList(false); - }); + UiThreadHandler.handler.post(() -> updateCustomRepoList(false)); } }.start(); } diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 646f642..4f11bdc 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -92,4 +92,5 @@ Povolit rozostření Repozitář povolen Repozitář zakázán + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 5a0b88a..cdb56aa 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -94,7 +94,6 @@ Repo hinzufügen Repo entfernen Eigene URL - Das Androidacy-Repo enthält Anzeigen und Tracker. Backup Modules Module wiederherstellen Dieser Vorgang erfordert eine Internetverbindung @@ -103,4 +102,5 @@ Beschreibung Deinstallieren Konfig + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 75b93ef..520c77d 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -124,7 +124,6 @@ Προσθήκη αποθετηρίου Αφαίρεση αποθετηρίου Προσαρμοσμένη διεύθυνση url - Το αποθετήριο Androidacy έχει διαφημίσεις και ιχνηλάτες. Εφεδρικά modules Επαναφορά module Αυτή η λειτουργία απαιτεί σύνδεση στο Διαδίκτυο @@ -144,4 +143,5 @@ Ορισμένες μεταφράσεις για την τρέχουσα γλώσσα δεν είναι ενημερωμένες, παρακαλούμε να συνεισφέρετε στις μεταφράσεις εφαρμογών στο GitHub Μεταφράστηκε απο Tha_14 + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 7de0d58..43ef05e 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -124,8 +124,8 @@ Añadir Repositorio Eliminar Repositorio URL Personalizado - El repositorio Androidacy tiene anuncios y trackers. Hacer copia de seguridad de los módulos Restaurar módulos Esta operación requiere una conexión a Internet. + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index efce5aa..ca51e6b 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -87,4 +87,5 @@ Hoidla lubatud Hoidla keelatud + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 88f5e11..87eab18 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -124,8 +124,8 @@ Ajouter dépôt Supprimer dépôt URL personnalisée - Le dépôt Androidacy utilise des publicités et des pisteurs. Sauvegarder les modules Restaurer les modules Cette opération requière une connexion internet + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 3815c05..83931fb 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -93,4 +93,5 @@ Aktifkan blur Repo diaktifkan Repo dinonaktifkan + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 367addf..32c54cd 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -127,7 +127,6 @@ Aggiungi Repository Rimuovi Repository Url personalizzato - La repository di Androidacy contiene pubblicità e tracker. Salva moduli Ripristina moduli Questa operazione richiede una connessione ad internet @@ -149,4 +148,5 @@ Traduzione di tugaia56 + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 39f4e9a..923042a 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -40,4 +40,5 @@ ソースコード 開発者モードが有効です Force English language + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 37b3d3e..521a3f9 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -94,5 +94,5 @@ Tilsløring Pakkebrønn på Pakkebrønn av - Androidacy-pakkebrønnen har reklame og sporere. + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-night-v31/strings.xml b/app/src/main/res/values-night-v31/strings.xml new file mode 100644 index 0000000..56b553c --- /dev/null +++ b/app/src/main/res/values-night-v31/strings.xml @@ -0,0 +1,4 @@ + + + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder + \ No newline at end of file diff --git a/app/src/main/res/values-night/strings.xml b/app/src/main/res/values-night/strings.xml new file mode 100644 index 0000000..56b553c --- /dev/null +++ b/app/src/main/res/values-night/strings.xml @@ -0,0 +1,4 @@ + + + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder + \ No newline at end of file diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 659a1d7..73f8383 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -124,7 +124,6 @@ Dodaj repozytorium Usuń repozytorium Niestandardowy URL - Repo Androidacy korzysta z reklam i trackerów. Kopia zapasowa modułów Przywracanie modułów Ta operacja wymaga połączenia internetowego @@ -147,4 +146,5 @@ prosimy o rozważenie uzupełnienia tłumaczeń aplikacji na GitHubie. Tłumaczenie: Daviteusz + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3e13142..1977166 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -127,7 +127,6 @@ Adicionar Repositório Remover Repositórios URL Customizado - O Repositórios Androidacy possui anuncios e rastreadores. Fazer backup dos modulos Restaurar modulos Essa operação requer uma conexão com a internet @@ -149,4 +148,5 @@ Algumas traduções para sua lingua atual não esta em dia, por favor considere contribuir para as traduções do app no Github Traduzido por mi007d e DanGLES3 + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 2172cb1..9ee1fc3 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -119,7 +119,6 @@ Adăugare depozit Eliminare depozit URL personalizat - Depozitul Androidacy utilizează reclame și instrumente de urmărire. Rezervare module Restabilire module Această operațiune necesită o conexiune la Internet @@ -138,4 +137,5 @@ nu sunt actualizate, vă rugăm să luați în considerare contribuția la traducerea aplicației pe GitHub Tradus de Fox2Code + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 143cc46..5ab9ad7 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -120,8 +120,8 @@ Добавить репо Убрать репо Свой URL - Репо Androidacy содержит рекламу и трекеры. Резервное копирование модулей Восстановить модули Для этого действия потребуется подключение к Интернету + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 70f7e4a..1ffe0c4 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -92,4 +92,5 @@ Povoliť rozostrenia Repozitár povolený Repozitár zakázaný + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 947ec9f..c8790fd 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -127,7 +127,6 @@ Repo ekle Repo\'yu kaldır Özel url - Androidacy repo\'da reklamlar ve takipçiler vardır. Modülleri yedekle Modülleri geri yükle Bu işlem bir internet bağlantısı gerektirir @@ -147,4 +146,5 @@ Şimdiki dil için bazı çeviriler güncel değil, lütfen GitHub\'daki uygulama çevirilerine katkıda bulunmayı düşünün Alprnn357 tarafından çevrildi + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-v23/strings.xml b/app/src/main/res/values-v23/strings.xml new file mode 100644 index 0000000..56b553c --- /dev/null +++ b/app/src/main/res/values-v23/strings.xml @@ -0,0 +1,4 @@ + + + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder + \ No newline at end of file diff --git a/app/src/main/res/values-v31/strings.xml b/app/src/main/res/values-v31/strings.xml new file mode 100644 index 0000000..56b553c --- /dev/null +++ b/app/src/main/res/values-v31/strings.xml @@ -0,0 +1,4 @@ + + + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder + \ No newline at end of file diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index c560c0b..997aaee 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -119,8 +119,8 @@ Thêm kho Gỡ kho Url tuỳ chỉnh - Kho Androidacy có các quảng cáo và trình theo dõi. Sao lưu mô-đun Khôi phục mô-đun Quá trình này yêu cầu kết nối internet + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 936a911..0fa7ca6 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -129,7 +129,6 @@ 添加库 移除库 自定义网址 - Androidacy repo具有广告和跟踪器. 备份模块 还原模块 此操作需要互联网连接 @@ -150,4 +149,5 @@ 请考虑为 GitHub 上的应用程序翻译做出贡献 由ender-zhao翻译 + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 0d080eb..21979bb 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -120,7 +120,6 @@ 新增倉庫 移除倉庫 自定義網址 - Androidacy repo 內建廣告和跟蹤器. 備份模組 還原模組 需要網路連線 @@ -140,4 +139,5 @@ 如果您使用的當前語言沒有及時更新,請考慮在 GitHub 上的為翻譯做出貢獻。 由 OrStudio.tw(@crcky5322) 提供美妙的翻譯 + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2dbccca..7074e48 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -129,7 +129,7 @@ Add Repo Remove Repo Custom url - The Androidacy repo has ads and trackers. + This repository may display some non-intrusive advertising to cover server and development costs. Backup modules Restore modules This operation require an internet connection @@ -152,4 +152,6 @@ not up-to-date, please consider contributing to the app translations on GitHub Translated by Fox2Code + Automatically report bugs and performance to the developers + If you disable this, the developer will not get automatic bug reports, and this may make troubleshooting harder diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index 5325cb9..eec6891 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -115,6 +115,15 @@ app:title="@string/prevent_reboot_pref" app:summary="@string/prevent_reboot_desc" app:singleLineTitle="false" /> + + +