From 450cc0b6d299692a19b3fcd29354088f8f74ecfe Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Wed, 8 May 2024 15:56:04 +0530 Subject: [PATCH] InstallerFragment: Don't suggest unavailable installers Other than Session and Native, all installers require third-party apps. No need to pollute installers list with them if they are unavailable as users often gets confused otherwise. Signed-off-by: Aayush Gupta --- .../view/ui/preferences/InstallerFragment.kt | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/InstallerFragment.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/InstallerFragment.kt index 6bf385934..f7bf2e944 100644 --- a/app/src/main/java/com/aurora/store/view/ui/preferences/InstallerFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/preferences/InstallerFragment.kt @@ -202,13 +202,26 @@ class InstallerFragment : BaseFragment(R.layout.fragment_installer) { private fun getInstallers(): List { val installers = mutableListOf( SessionInstaller.getInstallerInfo(requireContext()), - NativeInstaller.getInstallerInfo(requireContext()), - RootInstaller.getInstallerInfo(requireContext()), - ServiceInstaller.getInstallerInfo(requireContext()), - AMInstaller.getInstallerInfo(requireContext()) + NativeInstaller.getInstallerInfo(requireContext()) ) - if (isOAndAbove()) { + // 2 + if (AppInstaller.hasRootAccess()) { + installers.add(RootInstaller.getInstallerInfo(requireContext())) + } + + // 3 + if (AppInstaller.hasAuroraService(requireContext())) { + installers.add(ServiceInstaller.getInstallerInfo(requireContext())) + } + + // 4 + if (AppInstaller.hasAppManager(requireContext())) { + installers.add(AMInstaller.getInstallerInfo(requireContext())) + } + + // 5 + if (isOAndAbove() && AppInstaller.hasShizukuOrSui(requireContext())) { installers.add(ShizukuInstaller.getInstallerInfo(requireContext())) }