commit 4759d910b3d1851960c28882ad02da967e24e8de parent c3f04f594275969db4ccf62205586d2e4541f5de Author: rhunk <101876869+rhunk@users.noreply.github.com> Date: Wed, 1 Nov 2023 01:36:40 +0100 fix(manager/install_tab): detect package uninstall Diffstat:
M | manager/src/main/kotlin/me/rhunk/snapenhance/manager/ui/tab/impl/download/InstallPackageTab.kt | | | 10 | +++++++--- |
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/manager/src/main/kotlin/me/rhunk/snapenhance/manager/ui/tab/impl/download/InstallPackageTab.kt b/manager/src/main/kotlin/me/rhunk/snapenhance/manager/ui/tab/impl/download/InstallPackageTab.kt @@ -99,9 +99,13 @@ class InstallPackageTab : Tab("install_app") { installPackageCallback = null } - val downloadPath = getArguments()?.getString("downloadPath") ?: return - val appPackage = getArguments()?.getString("appPackage") ?: return - val shouldUninstall = getArguments()?.getBoolean("uninstall") ?: false + val downloadPath = remember { getArguments()?.getString("downloadPath") } ?: return + val appPackage = remember { getArguments()?.getString("appPackage") } ?: return + val shouldUninstall = remember { getArguments()?.getBoolean("uninstall")?.let { + if (runCatching { activity.packageManager.getPackageInfo(appPackage, 0) }.getOrNull() == null) { + false + } else it + } ?: false } Column( modifier = Modifier.fillMaxSize().padding(16.dp),