From 4acef776b22e1b8fb53d36f8473df4c02288dd92 Mon Sep 17 00:00:00 2001 From: Ax333l Date: Sat, 20 Jan 2024 17:48:08 +0100 Subject: [PATCH] refactor: use consistent wording for the version compat check --- .../revanced/manager/domain/manager/PreferencesManager.kt | 2 +- .../revanced/manager/ui/screen/PatchesSelectorScreen.kt | 4 ++-- .../revanced/manager/ui/screen/SelectedAppInfoScreen.kt | 6 +++--- .../manager/ui/screen/settings/AdvancedSettingsScreen.kt | 6 +++--- .../app/revanced/manager/ui/viewmodel/MainViewModel.kt | 6 +----- .../manager/ui/viewmodel/PatchesSelectorViewModel.kt | 8 ++++---- app/src/main/res/values/strings.xml | 4 ++-- 7 files changed, 16 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/domain/manager/PreferencesManager.kt b/app/src/main/java/app/revanced/manager/domain/manager/PreferencesManager.kt index 34a41ab8..a8a64d71 100644 --- a/app/src/main/java/app/revanced/manager/domain/manager/PreferencesManager.kt +++ b/app/src/main/java/app/revanced/manager/domain/manager/PreferencesManager.kt @@ -13,7 +13,7 @@ class PreferencesManager( val api = stringPreference("api_url", "https://api.revanced.app") val multithreadingDexFileWriter = booleanPreference("multithreading_dex_file_writer", true) - val allowExperimental = booleanPreference("allow_experimental", false) + val disablePatchVersionCompatCheck = booleanPreference("disable_patch_version_compatibility_check", false) val keystoreCommonName = stringPreference("keystore_cn", KeystoreManager.DEFAULT) val keystorePass = stringPreference("keystore_pass", KeystoreManager.DEFAULT) diff --git a/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt index 5f7a1791..d501e2f1 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/PatchesSelectorScreen.kt @@ -257,7 +257,7 @@ fun PatchesSelectorScreen( ) } - if (!vm.allowExperimental) return@LazyColumnWithScrollbar + if (!vm.allowIncompatiblePatches) return@LazyColumnWithScrollbar patchList( uid = bundle.uid, patches = bundle.unsupported.searched(), @@ -366,7 +366,7 @@ fun PatchesSelectorScreen( uid = bundle.uid, patches = bundle.unsupported, filterFlag = SHOW_UNSUPPORTED, - supported = vm.allowExperimental + supported = vm.allowIncompatiblePatches ) { ListHeader( title = stringResource(R.string.unsupported_patches), diff --git a/app/src/main/java/app/revanced/manager/ui/screen/SelectedAppInfoScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/SelectedAppInfoScreen.kt index 5ae3c40a..e6f96524 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/SelectedAppInfoScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/SelectedAppInfoScreen.kt @@ -56,10 +56,10 @@ fun SelectedAppInfoScreen( vm.bundlesRepo.bundleInfoFlow(packageName, version) }.collectAsStateWithLifecycle(initialValue = emptyList()) - val allowExperimental by vm.prefs.allowExperimental.getAsState() + val allowIncompatiblePatches by vm.prefs.disablePatchVersionCompatCheck.getAsState() val patches by remember { derivedStateOf { - vm.getPatches(bundles, allowExperimental) + vm.getPatches(bundles, allowIncompatiblePatches) } } val selectedPatchCount by remember { @@ -99,7 +99,7 @@ fun SelectedAppInfoScreen( vm.selectedApp, vm.getCustomPatches( bundles, - allowExperimental + allowIncompatiblePatches ), vm.options ) diff --git a/app/src/main/java/app/revanced/manager/ui/screen/settings/AdvancedSettingsScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/settings/AdvancedSettingsScreen.kt index 390e09a4..99382f98 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/settings/AdvancedSettingsScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/settings/AdvancedSettingsScreen.kt @@ -87,10 +87,10 @@ fun AdvancedSettingsScreen( GroupHeader(stringResource(R.string.patcher)) BooleanItem( - preference = vm.prefs.allowExperimental, + preference = vm.prefs.disablePatchVersionCompatCheck, coroutineScope = vm.viewModelScope, - headline = R.string.experimental_patches, - description = R.string.experimental_patches_description + headline = R.string.patch_compat_check, + description = R.string.patch_compat_check_description ) BooleanItem( preference = vm.prefs.multithreadingDexFileWriter, diff --git a/app/src/main/java/app/revanced/manager/ui/viewmodel/MainViewModel.kt b/app/src/main/java/app/revanced/manager/ui/viewmodel/MainViewModel.kt index 3534b5d5..d32b36aa 100644 --- a/app/src/main/java/app/revanced/manager/ui/viewmodel/MainViewModel.kt +++ b/app/src/main/java/app/revanced/manager/ui/viewmodel/MainViewModel.kt @@ -3,7 +3,6 @@ package app.revanced.manager.ui.viewmodel import android.app.Application import android.content.ActivityNotFoundException import android.content.Intent -import android.os.Build import android.util.Base64 import android.util.Log import androidx.activity.ComponentActivity @@ -23,15 +22,12 @@ import app.revanced.manager.domain.repository.PatchBundleRepository import app.revanced.manager.domain.repository.PatchSelectionRepository import app.revanced.manager.domain.repository.SerializedSelection import app.revanced.manager.network.api.ReVancedAPI -import app.revanced.manager.network.utils.getOrThrow import app.revanced.manager.ui.theme.Theme import app.revanced.manager.util.tag import app.revanced.manager.util.toast import app.revanced.manager.util.uiSafe -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json @@ -134,7 +130,7 @@ class MainViewModel( prefs.api.update(api.removeSuffix("/")) } settings.experimentalPatchesEnabled?.let { allowExperimental -> - prefs.allowExperimental.update(allowExperimental) + prefs.disablePatchVersionCompatCheck.update(allowExperimental) } settings.patchesAutoUpdate?.let { autoUpdate -> with(patchBundleRepository) { diff --git a/app/src/main/java/app/revanced/manager/ui/viewmodel/PatchesSelectorViewModel.kt b/app/src/main/java/app/revanced/manager/ui/viewmodel/PatchesSelectorViewModel.kt index d0c6446d..1ed41205 100644 --- a/app/src/main/java/app/revanced/manager/ui/viewmodel/PatchesSelectorViewModel.kt +++ b/app/src/main/java/app/revanced/manager/ui/viewmodel/PatchesSelectorViewModel.kt @@ -52,7 +52,7 @@ class PatchesSelectorViewModel(input: Params) : ViewModel(), KoinComponent { var selectionWarningEnabled by mutableStateOf(true) private set - val allowExperimental = get().allowExperimental.getBlocking() + val allowIncompatiblePatches = get().disablePatchVersionCompatCheck.getBlocking() val bundlesFlow = get().bundleInfoFlow(packageName, input.app.version) @@ -63,7 +63,7 @@ class PatchesSelectorViewModel(input: Params) : ViewModel(), KoinComponent { return@launch } - fun BundleInfo.hasDefaultPatches() = patchSequence(allowExperimental).any { it.include } + fun BundleInfo.hasDefaultPatches() = patchSequence(allowIncompatiblePatches).any { it.include } // Don't show the warning if there are no default patches. selectionWarningEnabled = bundlesFlow.first().any(BundleInfo::hasDefaultPatches) @@ -100,13 +100,13 @@ class PatchesSelectorViewModel(input: Params) : ViewModel(), KoinComponent { private suspend fun generateDefaultSelection(): PersistentPatchSelection { val bundles = bundlesFlow.first() val generatedSelection = - bundles.toPatchSelection(allowExperimental) { _, patch -> patch.include } + bundles.toPatchSelection(allowIncompatiblePatches) { _, patch -> patch.include } return generatedSelection.toPersistentPatchSelection() } fun selectionIsValid(bundles: List) = bundles.any { bundle -> - bundle.patchSequence(allowExperimental).any { patch -> + bundle.patchSequence(allowIncompatiblePatches).any { patch -> isSelected(bundle.uid, patch) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 69e04df7..1625639c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -67,8 +67,8 @@ Choose between light or dark theme Multi-threaded DEX file writer Use multiple cores to write DEX files. This is faster, but uses more memory - Allow experimental patches - Allow patching incompatible patches with experimental versions, something may break + Disable version compatibility check + The check restricts patches to supported app versions Import keystore Import a custom keystore Enter keystore credentials