Add AppPermissionPreferenceTest
Unit test for AppPermissionPreference. Bug: 236346018 Test: Unit test Change-Id: I83e19bd8d4d667fb6cb2be8aed85ba7f0a8f149e
This commit is contained in:
@@ -27,6 +27,7 @@ import androidx.compose.runtime.livedata.observeAsState
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.lifecycle.LiveData
|
||||
import com.android.settings.R
|
||||
import com.android.settingslib.spa.widget.preference.Preference
|
||||
import com.android.settingslib.spa.widget.preference.PreferenceModel
|
||||
@@ -36,13 +37,17 @@ private const val TAG = "AppPermissionPreference"
|
||||
private const val EXTRA_HIDE_INFO_BUTTON = "hideInfoButton"
|
||||
|
||||
@Composable
|
||||
fun AppPermissionPreference(app: ApplicationInfo) {
|
||||
fun AppPermissionPreference(
|
||||
app: ApplicationInfo,
|
||||
summaryLiveData: LiveData<AppPermissionSummaryState> = rememberAppPermissionSummary(app),
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val summaryLiveData = remember { AppPermissionSummaryLiveData(context, app) }
|
||||
val summaryState = summaryLiveData.observeAsState(initial = AppPermissionSummaryState(
|
||||
summary = stringResource(R.string.summary_placeholder),
|
||||
enabled = false,
|
||||
))
|
||||
val summaryState = summaryLiveData.observeAsState(
|
||||
initial = AppPermissionSummaryState(
|
||||
summary = stringResource(R.string.summary_placeholder),
|
||||
enabled = false,
|
||||
)
|
||||
)
|
||||
Preference(
|
||||
model = remember {
|
||||
object : PreferenceModel {
|
||||
|
@@ -20,6 +20,9 @@ import android.content.Context
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.content.pm.PackageManager.OnPermissionsChangedListener
|
||||
import android.icu.text.ListFormatter
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.lifecycle.LiveData
|
||||
import com.android.settings.R
|
||||
import com.android.settingslib.applications.PermissionsSummaryHelper
|
||||
@@ -33,6 +36,12 @@ data class AppPermissionSummaryState(
|
||||
val enabled: Boolean,
|
||||
)
|
||||
|
||||
@Composable
|
||||
fun rememberAppPermissionSummary(app: ApplicationInfo): AppPermissionSummaryLiveData {
|
||||
val context = LocalContext.current
|
||||
return remember { AppPermissionSummaryLiveData(context, app) }
|
||||
}
|
||||
|
||||
class AppPermissionSummaryLiveData(
|
||||
private val context: Context,
|
||||
private val app: ApplicationInfo,
|
||||
|
Reference in New Issue
Block a user