Settings: Do not show install info for Play Store app

Clicking the "App details" row in the info subpage for the Play Store
app results in a crash. It appears that this app is not considered a
mainline module and has an installer label, but this app is a special
case. Hide the row for the Play Store app.

Bug: 302093631
Test: atest com.android.settings.spa.app.appinfo.AppInstallerInfoPreferenceTest
Flag: EXEMPT bugfix
Change-Id: I291ee3e5dec2075381cb52d041982583cdd04323
This commit is contained in:
Wes Okuhara
2025-02-28 11:26:23 -08:00
parent 5c7811274e
commit 79563030fb
2 changed files with 28 additions and 4 deletions

View File

@@ -91,10 +91,15 @@ private class AppInstallerInfoPresenter(
}
}.sharedFlow()
val isAvailableFlow = installerLabelFlow.map { installerLabel ->
withContext(Dispatchers.IO) {
!AppUtils.isMainlineModule(packageManager, app.packageName) &&
installerLabel != null
val isAvailableFlow = installerLabelFlow.map() { installerLabel ->
// Do not show the install info for the special case of the Play Store app.
if (app.packageName == context.getString(R.string.config_mainline_module_update_package)) {
false
} else {
withContext(Dispatchers.IO) {
val isMainlineModule = AppUtils.isMainlineModule(packageManager, app.packageName)
!isMainlineModule && installerLabel != null
}
}
}