mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-05-05 16:24:27 +02:00
fix: import export screen UX
This commit is contained in:
parent
8d3d500b7b
commit
48fe3a707e
@ -49,15 +49,17 @@ class KeystoreManager(app: Application, private val prefs: PreferencesManager) {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
keystorePath.outputStream().use {
|
withContext(Dispatchers.IO) {
|
||||||
ks.store(it, null)
|
keystorePath.outputStream().use {
|
||||||
|
ks.store(it, null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updatePrefs(DEFAULT, DEFAULT)
|
updatePrefs(DEFAULT, DEFAULT)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun import(cn: String, pass: String, keystore: InputStream): Boolean {
|
suspend fun import(cn: String, pass: String, keystore: InputStream): Boolean {
|
||||||
val keystoreData = keystore.readBytes()
|
val keystoreData = withContext(Dispatchers.IO) { keystore.readBytes() }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val ks = ApkSigner.readKeyStore(ByteArrayInputStream(keystoreData), null)
|
val ks = ApkSigner.readKeyStore(ByteArrayInputStream(keystoreData), null)
|
||||||
|
@ -55,14 +55,17 @@ class ImportExportViewModel(
|
|||||||
|
|
||||||
fun resetOptionsForPackage(packageName: String) = viewModelScope.launch {
|
fun resetOptionsForPackage(packageName: String) = viewModelScope.launch {
|
||||||
optionsRepository.clearOptionsForPackage(packageName)
|
optionsRepository.clearOptionsForPackage(packageName)
|
||||||
|
app.toast(app.getString(R.string.patch_options_reset_toast))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun clearOptionsForBundle(patchBundle: PatchBundleSource) = viewModelScope.launch {
|
fun clearOptionsForBundle(patchBundle: PatchBundleSource) = viewModelScope.launch {
|
||||||
optionsRepository.clearOptionsForPatchBundle(patchBundle.uid)
|
optionsRepository.clearOptionsForPatchBundle(patchBundle.uid)
|
||||||
|
app.toast(app.getString(R.string.patch_options_reset_toast))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun resetOptions() = viewModelScope.launch {
|
fun resetOptions() = viewModelScope.launch {
|
||||||
optionsRepository.reset()
|
optionsRepository.reset()
|
||||||
|
app.toast(app.getString(R.string.patch_options_reset_toast))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun startKeystoreImport(content: Uri) = viewModelScope.launch {
|
fun startKeystoreImport(content: Uri) = viewModelScope.launch {
|
||||||
@ -98,6 +101,7 @@ class ImportExportViewModel(
|
|||||||
private suspend fun tryKeystoreImport(cn: String, pass: String, path: Path): Boolean {
|
private suspend fun tryKeystoreImport(cn: String, pass: String, path: Path): Boolean {
|
||||||
path.inputStream().use { stream ->
|
path.inputStream().use { stream ->
|
||||||
if (keystoreManager.import(cn, pass, stream)) {
|
if (keystoreManager.import(cn, pass, stream)) {
|
||||||
|
app.toast(app.getString(R.string.import_keystore_success))
|
||||||
cancelKeystoreImport()
|
cancelKeystoreImport()
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@ -116,6 +120,7 @@ class ImportExportViewModel(
|
|||||||
|
|
||||||
fun exportKeystore(target: Uri) = viewModelScope.launch {
|
fun exportKeystore(target: Uri) = viewModelScope.launch {
|
||||||
keystoreManager.export(contentResolver.openOutputStream(target)!!)
|
keystoreManager.export(contentResolver.openOutputStream(target)!!)
|
||||||
|
app.toast(app.getString(R.string.export_keystore_success))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun regenerateKeystore() = viewModelScope.launch {
|
fun regenerateKeystore() = viewModelScope.launch {
|
||||||
@ -123,8 +128,9 @@ class ImportExportViewModel(
|
|||||||
app.toast(app.getString(R.string.regenerate_keystore_success))
|
app.toast(app.getString(R.string.regenerate_keystore_success))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun resetSelection() = viewModelScope.launch(Dispatchers.Default) {
|
fun resetSelection() = viewModelScope.launch {
|
||||||
selectionRepository.reset()
|
withContext(Dispatchers.Default) { selectionRepository.reset() }
|
||||||
|
app.toast(app.getString(R.string.reset_patch_selection_success))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun executeSelectionAction(target: Uri) = viewModelScope.launch {
|
fun executeSelectionAction(target: Uri) = viewModelScope.launch {
|
||||||
@ -173,6 +179,7 @@ class ImportExportViewModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
selectionRepository.import(bundleUid, selection)
|
selectionRepository.import(bundleUid, selection)
|
||||||
|
app.toast(app.getString(R.string.import_patch_selection_success))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,6 +198,7 @@ class ImportExportViewModel(
|
|||||||
Json.Default.encodeToStream(selection, it)
|
Json.Default.encodeToStream(selection, it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
app.toast(app.getString(R.string.export_patch_selection_success))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,20 +81,25 @@
|
|||||||
<string name="import_keystore_dialog_password_field">Password</string>
|
<string name="import_keystore_dialog_password_field">Password</string>
|
||||||
<string name="import_keystore_dialog_button">Import</string>
|
<string name="import_keystore_dialog_button">Import</string>
|
||||||
<string name="import_keystore_wrong_credentials">Wrong keystore credentials</string>
|
<string name="import_keystore_wrong_credentials">Wrong keystore credentials</string>
|
||||||
|
<string name="import_keystore_success">Imported keystore</string>
|
||||||
<string name="export_keystore">Export keystore</string>
|
<string name="export_keystore">Export keystore</string>
|
||||||
<string name="export_keystore_description">Export the current keystore</string>
|
<string name="export_keystore_description">Export the current keystore</string>
|
||||||
<string name="export_keystore_unavailable">No keystore to export</string>
|
<string name="export_keystore_unavailable">No keystore to export</string>
|
||||||
|
<string name="export_keystore_success">Exported keystore</string>
|
||||||
<string name="regenerate_keystore">Regenerate keystore</string>
|
<string name="regenerate_keystore">Regenerate keystore</string>
|
||||||
<string name="regenerate_keystore_description">Generate a new keystore</string>
|
<string name="regenerate_keystore_description">Generate a new keystore</string>
|
||||||
<string name="regenerate_keystore_success">The keystore has been successfully replaced</string>
|
<string name="regenerate_keystore_success">The keystore has been successfully replaced</string>
|
||||||
<string name="import_patch_selection">Import patch selection</string>
|
<string name="import_patch_selection">Import patch selection</string>
|
||||||
<string name="import_patch_selection_description">Import patch selection from a JSON file</string>
|
<string name="import_patch_selection_description">Import patch selection from a JSON file</string>
|
||||||
<string name="import_patch_selection_fail">Could not import patch selection: %s</string>
|
<string name="import_patch_selection_fail">Could not import patch selection: %s</string>
|
||||||
|
<string name="import_patch_selection_success">Imported patch selection</string>
|
||||||
<string name="export_patch_selection">Export patch selection</string>
|
<string name="export_patch_selection">Export patch selection</string>
|
||||||
<string name="export_patch_selection_description">Export patch selection from a JSON file</string>
|
<string name="export_patch_selection_description">Export patch selection to a JSON file</string>
|
||||||
<string name="export_patch_selection_fail">Could not export patch selection: %s</string>
|
<string name="export_patch_selection_fail">Could not export patch selection: %s</string>
|
||||||
|
<string name="export_patch_selection_success">Exported patch selection</string>
|
||||||
<string name="reset_patch_selection">Reset patch selection</string>
|
<string name="reset_patch_selection">Reset patch selection</string>
|
||||||
<string name="reset_patch_selection_description">Reset the stored patch selection</string>
|
<string name="reset_patch_selection_description">Reset the stored patch selection</string>
|
||||||
|
<string name="reset_patch_selection_success">Patch selection has been reset</string>
|
||||||
<string name="patch_options_reset_package">Reset patch options for app</string>
|
<string name="patch_options_reset_package">Reset patch options for app</string>
|
||||||
<string name="patch_options_reset_package_description">Resets patch options for a single app</string>
|
<string name="patch_options_reset_package_description">Resets patch options for a single app</string>
|
||||||
<string name="patch_options_reset_bundle">Resets patch options for bundle</string>
|
<string name="patch_options_reset_bundle">Resets patch options for bundle</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user