Add unit test for AllAppList
Bug: 260660819 Test: Unit test Change-Id: I15e294d8b90d385e932adc3bf0d61e6923941542
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.settings.spa.app
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.os.Bundle
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.State
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.android.settings.R
|
||||
@@ -32,6 +33,8 @@ import com.android.settingslib.spa.widget.preference.Preference
|
||||
import com.android.settingslib.spa.widget.preference.PreferenceModel
|
||||
import com.android.settingslib.spaprivileged.model.app.AppListModel
|
||||
import com.android.settingslib.spaprivileged.model.app.AppRecord
|
||||
import com.android.settingslib.spaprivileged.template.app.AppList
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListInput
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListItem
|
||||
import com.android.settingslib.spaprivileged.template.app.AppListPage
|
||||
import com.android.settingslib.spaprivileged.template.app.getStorageSize
|
||||
@@ -57,17 +60,18 @@ object AllAppListPageProvider : SettingsPageProvider {
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun AllAppListPage() {
|
||||
fun AllAppListPage(
|
||||
appList: @Composable AppListInput<AppRecordWithSize>.() -> Unit = { AppList() },
|
||||
) {
|
||||
val resetAppDialogPresenter = rememberResetAppDialogPresenter()
|
||||
AppListPage(
|
||||
title = stringResource(R.string.all_apps),
|
||||
listModel = remember { AllAppListModel() },
|
||||
showInstantApps = true,
|
||||
moreOptions = { ResetAppPreferences(resetAppDialogPresenter::open) }
|
||||
moreOptions = { ResetAppPreferences(resetAppDialogPresenter::open) },
|
||||
appList = appList,
|
||||
) {
|
||||
AppListItem(
|
||||
onClick = AppInfoSettingsProvider.navigator(app = record.app),
|
||||
)
|
||||
AppListItem(onClick = AppInfoSettingsProvider.navigator(app = record.app))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,11 +79,13 @@ data class AppRecordWithSize(
|
||||
override val app: ApplicationInfo,
|
||||
) : AppRecord
|
||||
|
||||
private class AllAppListModel : AppListModel<AppRecordWithSize> {
|
||||
class AllAppListModel(
|
||||
private val getSummary: @Composable ApplicationInfo.() -> State<String> = { getStorageSize() },
|
||||
) : AppListModel<AppRecordWithSize> {
|
||||
|
||||
override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
|
||||
appListFlow.mapItem(::AppRecordWithSize)
|
||||
|
||||
@Composable
|
||||
override fun getSummary(option: Int, record: AppRecordWithSize) = record.app.getStorageSize()
|
||||
override fun getSummary(option: Int, record: AppRecordWithSize) = record.app.getSummary()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user