Loading src/com/android/settings/spa/app/AllAppList.kt +7 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settingslib.spa.framework.util.mapItem import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.ui.SpinnerOption import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.installed Loading Loading @@ -131,7 +132,11 @@ class AllAppListModel( override fun getSummary(option: Int, record: AppRecordWithSize): () -> String { val storageSummary = record.app.getStorageSummary() return { val summaryList = mutableListOf(storageSummary.value) val summaryList = mutableListOf<String>() val storageSummaryValue = storageSummary.value if (storageSummaryValue.isNotBlank()) { summaryList += storageSummaryValue } when { !record.app.installed && !record.app.isArchived -> { summaryList += context.getString(R.string.not_installed) Loading @@ -142,6 +147,7 @@ class AllAppListModel( } } summaryList.joinToString(separator = System.lineSeparator()) .ifEmpty { context.getPlaceholder() } // Use placeholder to reduce flaky } } Loading tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt +35 −3 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.settings.R import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.testutils.FakeNavControllerWrapper import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder import com.android.settingslib.spaprivileged.template.app.AppListInput import com.android.settingslib.spaprivileged.template.app.AppListItemModel import com.google.common.truth.Truth.assertThat Loading Loading @@ -142,7 +143,7 @@ class AllAppListTest { } @Test fun allAppListModel_getSummary() { fun listModelGetSummary_regular() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } lateinit var summary: () -> String Loading @@ -154,7 +155,19 @@ class AllAppListTest { } @Test fun allAppListModel_getSummaryWhenDisabled() { fun listModelGetSummary_emptyStorage() { val listModel = AllAppListModel(context) { stateOf("") } lateinit var summary: () -> String composeTestRule.setContent { summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP)) } assertThat(summary()).isEqualTo(context.getPlaceholder()) } @Test fun listModelGetSummary_disabled() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } val disabledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME Loading @@ -172,7 +185,26 @@ class AllAppListTest { } @Test fun allAppListModel_getSummaryWhenNotInstalled() { fun listModelGetSummary_emptyStorageAndDisabled() { val listModel = AllAppListModel(context) { stateOf("") } val disabledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME flags = ApplicationInfo.FLAG_INSTALLED enabled = false } lateinit var summary: () -> String composeTestRule.setContent { summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = disabledApp)) } assertThat(summary()) .isEqualTo(context.getString(com.android.settingslib.R.string.disabled)) } @Test fun listModelGetSummary_notInstalled() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } val notInstalledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME Loading Loading
src/com/android/settings/spa/app/AllAppList.kt +7 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import com.android.settingslib.spa.framework.util.mapItem import com.android.settingslib.spa.widget.preference.Preference import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.ui.SpinnerOption import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder import com.android.settingslib.spaprivileged.model.app.AppListModel import com.android.settingslib.spaprivileged.model.app.AppRecord import com.android.settingslib.spaprivileged.model.app.installed Loading Loading @@ -131,7 +132,11 @@ class AllAppListModel( override fun getSummary(option: Int, record: AppRecordWithSize): () -> String { val storageSummary = record.app.getStorageSummary() return { val summaryList = mutableListOf(storageSummary.value) val summaryList = mutableListOf<String>() val storageSummaryValue = storageSummary.value if (storageSummaryValue.isNotBlank()) { summaryList += storageSummaryValue } when { !record.app.installed && !record.app.isArchived -> { summaryList += context.getString(R.string.not_installed) Loading @@ -142,6 +147,7 @@ class AllAppListModel( } } summaryList.joinToString(separator = System.lineSeparator()) .ifEmpty { context.getPlaceholder() } // Use placeholder to reduce flaky } } Loading
tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt +35 −3 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.android.settings.R import com.android.settingslib.spa.framework.compose.stateOf import com.android.settingslib.spa.testutils.FakeNavControllerWrapper import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder import com.android.settingslib.spaprivileged.template.app.AppListInput import com.android.settingslib.spaprivileged.template.app.AppListItemModel import com.google.common.truth.Truth.assertThat Loading Loading @@ -142,7 +143,7 @@ class AllAppListTest { } @Test fun allAppListModel_getSummary() { fun listModelGetSummary_regular() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } lateinit var summary: () -> String Loading @@ -154,7 +155,19 @@ class AllAppListTest { } @Test fun allAppListModel_getSummaryWhenDisabled() { fun listModelGetSummary_emptyStorage() { val listModel = AllAppListModel(context) { stateOf("") } lateinit var summary: () -> String composeTestRule.setContent { summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP)) } assertThat(summary()).isEqualTo(context.getPlaceholder()) } @Test fun listModelGetSummary_disabled() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } val disabledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME Loading @@ -172,7 +185,26 @@ class AllAppListTest { } @Test fun allAppListModel_getSummaryWhenNotInstalled() { fun listModelGetSummary_emptyStorageAndDisabled() { val listModel = AllAppListModel(context) { stateOf("") } val disabledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME flags = ApplicationInfo.FLAG_INSTALLED enabled = false } lateinit var summary: () -> String composeTestRule.setContent { summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = disabledApp)) } assertThat(summary()) .isEqualTo(context.getString(com.android.settingslib.R.string.disabled)) } @Test fun listModelGetSummary_notInstalled() { val listModel = AllAppListModel(context) { stateOf(SUMMARY) } val notInstalledApp = ApplicationInfo().apply { packageName = PACKAGE_NAME Loading