From 540054af13962399ab220f09b056d9a53335e247 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Tue, 31 Dec 2024 18:27:09 +0700 Subject: [PATCH] AppDetailsFragment: Bring back installed to update version info Dropped accidentally while reworking install buttons Signed-off-by: Aayush Gupta --- .../java/com/aurora/store/util/PackageUtil.kt | 13 ++++++++++--- .../store/view/ui/details/AppDetailsFragment.kt | 15 +++++++++++++-- app/src/main/res/values/strings.xml | 1 + 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/aurora/store/util/PackageUtil.kt b/app/src/main/java/com/aurora/store/util/PackageUtil.kt index d9fa2cd50..e0764269d 100644 --- a/app/src/main/java/com/aurora/store/util/PackageUtil.kt +++ b/app/src/main/java/com/aurora/store/util/PackageUtil.kt @@ -139,15 +139,22 @@ object PackageUtil { } } - fun getInstalledVersion(context: Context, packageName: String): String { + fun getInstalledVersionName(context: Context, packageName: String): String { return try { - val packageInfo = getPackageInfo(context, packageName) - "${packageInfo.versionName} (${PackageInfoCompat.getLongVersionCode(packageInfo)})" + getPackageInfo(context, packageName).versionName ?: "" } catch (e: PackageManager.NameNotFoundException) { "" } } + fun getInstalledVersionCode(context: Context, packageName: String): Long { + return try { + PackageInfoCompat.getLongVersionCode(getPackageInfo(context, packageName)) + } catch (e: PackageManager.NameNotFoundException) { + 0 + } + } + fun isTv(context: Context): Boolean { return context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK) } 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 8097957ce..569e33abc 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 @@ -485,7 +485,7 @@ class AppDetailsFragment : BaseFragment() { packageName.text = app.packageName txtLine1.text = app.displayName txtLine2.text = app.developerName - txtLine3.text = ("${app.versionName} (${app.versionCode})") + txtLine3.text = getString(R.string.version, app.versionName, app.versionCode) txtLine2.setOnClickListener { findNavController().navigate( @@ -593,6 +593,13 @@ class AppDetailsFragment : BaseFragment() { } if ((isUpdatable && hasValidCert) || (isUpdatable && isExtendedUpdateEnabled)) { + binding.layoutDetailsApp.txtLine3.text = getString( + R.string.version_update, + PackageUtil.getInstalledVersionName(requireContext(), app.packageName), + PackageUtil.getInstalledVersionCode(requireContext(), app.packageName), + app.versionName, + app.versionCode + ) binding.layoutDetailsApp.btnPrimaryAction.apply { text = getString(R.string.action_update) setOnClickListener { @@ -606,7 +613,11 @@ class AppDetailsFragment : BaseFragment() { } } else { binding.layoutDetailsApp.apply { - txtLine3.text = PackageUtil.getInstalledVersion(requireContext(), app.packageName) + txtLine3.text = getString( + R.string.version, + PackageUtil.getInstalledVersionName(requireContext(), app.packageName), + PackageUtil.getInstalledVersionCode(requireContext(), app.packageName) + ) btnPrimaryAction.apply { val intent = PackageUtil.getLaunchIntent(requireContext(), app.packageName) setText(R.string.action_open) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 90e31a3e9..ab63e8d37 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -485,4 +485,5 @@ Unarchive Unable to open app + %1$s (%2$d) ➔ %3$s (%4$d)