Do not show "Not installed for this user" summary for archived app
Test: AllAppListTest
Bug: 304255511
Change-Id: I806fed91d4716e8e21f70ec1ad8572f246c7f031
diff --git a/src/com/android/settings/spa/app/AllAppList.kt b/src/com/android/settings/spa/app/AllAppList.kt
index f3ad2e6..383a0e8 100644
--- a/src/com/android/settings/spa/app/AllAppList.kt
+++ b/src/com/android/settings/spa/app/AllAppList.kt
@@ -136,7 +136,7 @@
derivedStateOf {
storageSummary.value +
when {
- !record.app.installed -> {
+ !record.app.installed && !record.app.isArchived -> {
System.lineSeparator() + context.getString(R.string.not_installed)
}
isDisabled(record) -> {
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
index fe7c6a2..53ed4f0 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
@@ -216,6 +216,23 @@
composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
}
+ @Test
+ fun allAppListModel_getSummaryWhenArchived() {
+ val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
+ val archivedApp = ApplicationInfo().apply {
+ packageName = PACKAGE_NAME
+ isArchived = true
+ }
+
+ lateinit var summaryState: State<String>
+ composeTestRule.setContent {
+ summaryState =
+ listModel.getSummary(option = 0, record = AppRecordWithSize(app = archivedApp))
+ }
+
+ assertThat(summaryState.value).isEqualTo(SUMMARY)
+ }
+
private fun getAppListInput(): AppListInput<AppRecordWithSize> {
lateinit var input: AppListInput<AppRecordWithSize>
composeTestRule.setContent {