AppDetailsFragment: Bring back installed to update version info

Dropped accidentally while reworking install buttons

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-12-31 18:27:09 +07:00
parent 9693a597c8
commit 540054af13
3 changed files with 24 additions and 5 deletions

View File

@@ -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)
}

View File

@@ -485,7 +485,7 @@ class AppDetailsFragment : BaseFragment<FragmentDetailsBinding>() {
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<FragmentDetailsBinding>() {
}
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<FragmentDetailsBinding>() {
}
} 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)

View File

@@ -485,4 +485,5 @@
<!-- AppDetailsFragment -->
<string name="action_unarchive">Unarchive</string>
<string name="unable_to_open">Unable to open app</string>
<string name="version_update" translatable="false"><xliff:g id="installed_version_name">%1$s</xliff:g> (<xliff:g id="installed_version_code">%2$d</xliff:g>) ➔ <xliff:g id="update_version_name">%3$s</xliff:g> (<xliff:g id="update_version_code">%4$d</xliff:g>)</string>
</resources>