From ede1ab5ed4c5c78ef9fd0ccf5e23a279d5cbab21 Mon Sep 17 00:00:00 2001 From: Ushie Date: Sat, 1 Feb 2025 04:05:28 +0300 Subject: [PATCH] feat: Reorder Import & Export settings (#2403) --- .../settings/ImportExportSettingsScreen.kt | 82 ++++++++++--------- app/src/main/res/values/strings.xml | 1 + 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/ui/screen/settings/ImportExportSettingsScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/settings/ImportExportSettingsScreen.kt index 452500ed..7f8083f3 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/settings/ImportExportSettingsScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/settings/ImportExportSettingsScreen.kt @@ -124,7 +124,30 @@ fun ImportExportSettingsScreen( .fillMaxSize() .padding(paddingValues) ) { - GroupHeader(stringResource(R.string.signing)) + var showPackageSelector by rememberSaveable { + mutableStateOf(false) + } + var showBundleSelector by rememberSaveable { + mutableStateOf(false) + } + + if (showPackageSelector) { + PackageSelector(packages = packagesWithOptions) { selected -> + selected?.let(vm::resetOptionsForPackage) + + showPackageSelector = false + } + } + + if (showBundleSelector) { + BundleSelector(bundles = patchBundles) { bundle -> + bundle?.let(vm::clearOptionsForBundle) + + showBundleSelector = false + } + } + + GroupHeader(stringResource(R.string.import_)) GroupItem( onClick = { importKeystoreLauncher.launch("*/*") @@ -132,6 +155,13 @@ fun ImportExportSettingsScreen( headline = R.string.import_keystore, description = R.string.import_keystore_description ) + GroupItem( + onClick = vm::importSelection, + headline = R.string.import_patch_selection, + description = R.string.import_patch_selection_description + ) + + GroupHeader(stringResource(R.string.export)) GroupItem( onClick = { if (!vm.canExport()) { @@ -143,54 +173,25 @@ fun ImportExportSettingsScreen( headline = R.string.export_keystore, description = R.string.export_keystore_description ) - GroupItem( - onClick = vm::regenerateKeystore, - headline = R.string.regenerate_keystore, - description = R.string.regenerate_keystore_description - ) - - GroupHeader(stringResource(R.string.patches)) - GroupItem( - onClick = vm::importSelection, - headline = R.string.import_patch_selection, - description = R.string.import_patch_selection_description - ) GroupItem( onClick = vm::exportSelection, headline = R.string.export_patch_selection, description = R.string.export_patch_selection_description ) - // TODO: allow resetting selection for specific bundle or package name. + + GroupHeader(stringResource(R.string.reset)) GroupItem( - onClick = vm::resetSelection, + onClick = vm::regenerateKeystore, + headline = R.string.regenerate_keystore, + description = R.string.regenerate_keystore_description + ) + GroupItem( + onClick = vm::resetSelection, // TODO: allow resetting selection for specific bundle or package name. headline = R.string.reset_patch_selection, description = R.string.reset_patch_selection_description ) - - var showPackageSelector by rememberSaveable { - mutableStateOf(false) - } - var showBundleSelector by rememberSaveable { - mutableStateOf(false) - } - - if (showPackageSelector) - PackageSelector(packages = packagesWithOptions) { selected -> - selected?.let(vm::resetOptionsForPackage) - - showPackageSelector = false - } - - if (showBundleSelector) - BundleSelector(bundles = patchBundles) { bundle -> - bundle?.let(vm::clearOptionsForBundle) - - showBundleSelector = false - } - - // TODO: patch options import/export. GroupItem( - onClick = vm::resetOptions, + onClick = vm::resetOptions, // TODO: patch options import/export. headline = R.string.patch_options_reset_all, description = R.string.patch_options_reset_all_description, ) @@ -199,12 +200,13 @@ fun ImportExportSettingsScreen( headline = R.string.patch_options_reset_package, description = R.string.patch_options_reset_package_description ) - if (patchBundles.size > 1) + if (patchBundles.size > 1) { GroupItem( onClick = { showBundleSelector = true }, headline = R.string.patch_options_reset_bundle, description = R.string.patch_options_reset_bundle_description, ) + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7a54b8d0..fab90c15 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -420,4 +420,5 @@ Show update message on launch Shows a popup notification whenever there is a new update available on launch. Failed to import keystore + Export