refactor: move mount code to when block

This commit is contained in:
Ax333l 2023-10-17 09:21:06 +02:00
parent 5aefb3bc59
commit 7ba00cafd9

View File

@ -97,11 +97,13 @@ class InstallerViewModel(
val (selectedApp, patches, options) = input val (selectedApp, patches, options) = input
_progress = MutableStateFlow(PatcherProgressManager.generateSteps( _progress = MutableStateFlow(
PatcherProgressManager.generateSteps(
app, app,
patches.flatMap { (_, selected) -> selected }, patches.flatMap { (_, selected) -> selected },
selectedApp selectedApp
).toImmutableList()) ).toImmutableList()
)
patcherWorkerId = patcherWorkerId =
workerRepository.launchExpedited<PatcherWorker, PatcherWorker.Args>( workerRepository.launchExpedited<PatcherWorker, PatcherWorker.Args>(
@ -186,25 +188,26 @@ class InstallerViewModel(
is SelectedApp.Local -> { is SelectedApp.Local -> {
if (selectedApp.shouldDelete) selectedApp.file.delete() if (selectedApp.shouldDelete) selectedApp.file.delete()
} }
else -> {}
}
tempDir.deleteRecursively()
is SelectedApp.Installed -> {
try { try {
if (input.selectedApp is SelectedApp.Installed) {
installedApp?.let { installedApp?.let {
if (it.installType == InstallType.ROOT) { if (it.installType == InstallType.ROOT) {
rootInstaller.mount(packageName) rootInstaller.mount(packageName)
} }
} }
}
} catch (e: Exception) { } catch (e: Exception) {
Log.e(tag, "Failed to mount", e) Log.e(tag, "Failed to mount", e)
app.toast(app.getString(R.string.failed_to_mount, e.simpleMessage())) app.toast(app.getString(R.string.failed_to_mount, e.simpleMessage()))
} }
} }
else -> {}
}
tempDir.deleteRecursively()
}
private suspend fun signApk(): Boolean { private suspend fun signApk(): Boolean {
if (!hasSigned) { if (!hasSigned) {
try { try {
@ -239,9 +242,13 @@ class InstallerViewModel(
if (!signApk()) return@launch if (!signApk()) return@launch
when (installType) { when (installType) {
InstallType.DEFAULT -> { pm.installApp(listOf(signedFile)) } InstallType.DEFAULT -> {
pm.installApp(listOf(signedFile))
}
InstallType.ROOT -> { installAsRoot() } InstallType.ROOT -> {
installAsRoot()
}
} }
} finally { } finally {
@ -286,7 +293,8 @@ class InstallerViewModel(
app.toast(app.getString(R.string.install_app_fail, e.simpleMessage())) app.toast(app.getString(R.string.install_app_fail, e.simpleMessage()))
try { try {
rootInstaller.uninstall(packageName) rootInstaller.uninstall(packageName)
} catch (_: Exception) { } } catch (_: Exception) {
}
} }
} }
} }