From e7762e6d158bd07fdd77d54251758d55503bcee9 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Fri, 19 Jul 2024 19:20:56 +0700 Subject: [PATCH] AppDetailsFragment: Require extended updates for incompatible apps too Signed-off-by: Aayush Gupta --- .../store/view/ui/details/AppDetailsFragment.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt index 230286b19..32a8883bc 100644 --- a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt @@ -68,6 +68,7 @@ import com.aurora.store.data.model.ViewState import com.aurora.store.data.model.ViewState.Loading.getDataAs import com.aurora.store.data.providers.AuthProvider import com.aurora.store.databinding.FragmentDetailsBinding +import com.aurora.store.util.CertUtil import com.aurora.store.util.CommonUtil import com.aurora.store.util.PackageUtil import com.aurora.store.util.PathUtil @@ -609,6 +610,14 @@ class AppDetailsFragment : BaseFragment() { binding.layoutDetailsInstall.btnDownload.let { btn -> btn.setButtonState(true) if (app.isInstalled) { + val isExtendedUpdateEnabled = Preferences.getBoolean( + requireContext(), Preferences.PREFERENCE_UPDATES_EXTENDED + ) + val needsExtendedUpdate = !app.certificateSetList.any { + it.certificateSet in CertUtil.getEncodedCertificateHashes( + requireContext(), app.packageName + ) + } isUpdatable = PackageUtil.isUpdatable( requireContext(), app.packageName, @@ -618,7 +627,7 @@ class AppDetailsFragment : BaseFragment() { val installedVersion = PackageUtil.getInstalledVersion(requireContext(), app.packageName) - if (isUpdatable) { + if (isUpdatable && !needsExtendedUpdate || isUpdatable && isExtendedUpdateEnabled) { binding.layoutDetailsApp.txtLine3.text = ("$installedVersion ➔ ${app.versionName} (${app.versionCode})") btn.setText(R.string.action_update)