summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/res/values-watch/donottranslate.xml2
-rw-r--r--PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt2
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt26
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt8
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearEnhancedConfirmationScreen.kt2
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearGrantPermissionsScreen.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionScreen.kt7
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt15
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt24
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt4
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/AlertDialog.kt6
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ResponsiveDialog.kt1
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChip.kt46
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChipToggleControl.kt58
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionConfirmationDialog.kt6
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionListSubHeader.kt58
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffold.kt43
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffoldPaddingDefaults.kt68
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionToggleControl.kt22
-rw-r--r--PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppScreen.kt8
-rw-r--r--PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleScreen.kt8
21 files changed, 245 insertions, 173 deletions
diff --git a/PermissionController/res/values-watch/donottranslate.xml b/PermissionController/res/values-watch/donottranslate.xml
index 43830a93c..03038ddd1 100644
--- a/PermissionController/res/values-watch/donottranslate.xml
+++ b/PermissionController/res/values-watch/donottranslate.xml
@@ -71,7 +71,7 @@
<dimen name="wear_compose_material3_numeral_extra_large_font_size">60sp</dimen>
<dimen name="wear_compose_material3_title_small_font_size">14sp</dimen>
<dimen name="wear_compose_material3_title_medium_font_size">16sp</dimen>
- <dimen name="wear_compose_material3_title_large_font_size">20sp</dimen>
+ <dimen name="wear_compose_material3_title_large_font_size">18sp</dimen>
<dimen name="wear_compose_material3_shape_corner_extra_small_size">4dp</dimen>
<dimen name="wear_compose_material3_shape_corner_small_size">8dp</dimen>
diff --git a/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt b/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt
index 116b52cfb..4c698cda3 100644
--- a/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt
@@ -30,7 +30,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView
import androidx.wear.compose.material.CircularProgressIndicator
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionConfirmationDialog
import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt
index f21cb7ac2..5919fad0d 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt
@@ -26,11 +26,11 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.res.stringResource
import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.Chip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionConfirmationDialog
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControl
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
import com.android.permissioncontroller.permission.ui.wear.model.RevokeDialogArgs
import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
@@ -83,20 +83,22 @@ internal fun WearAppPermissionGroupsContent(
) {
ScrollableScreen(title = stringResource(R.string.app_permissions), isLoading = isLoading) {
if (permissionGroupChipParams.isEmpty()) {
- item { Chip(label = stringResource(R.string.no_permissions), onClick = {}) }
+ item {
+ WearPermissionButton(label = stringResource(R.string.no_permissions), onClick = {})
+ }
} else {
for (info in permissionGroupChipParams) {
item {
if (info.checked != null) {
- ToggleChip(
- checked = info.checked,
+ WearPermissionToggleControl(
+ toggleControl = WearPermissionToggleControlType.Switch,
label = info.label,
+ checked = info.checked,
enabled = info.enabled,
- toggleControl = ToggleChipToggleControl.Switch,
onCheckedChanged = info.onCheckedChanged,
)
} else {
- Chip(
+ WearPermissionButton(
label = info.label,
labelMaxLines = Integer.MAX_VALUE,
secondaryLabel = info.summary?.let { info.summary },
@@ -110,11 +112,11 @@ internal fun WearAppPermissionGroupsContent(
autoRevokeChipParam?.let {
if (it.visible) {
item {
- ToggleChip(
+ WearPermissionToggleControl(
checked = it.checked,
label = stringResource(it.labelRes),
- labelMaxLine = 3,
- toggleControl = ToggleChipToggleControl.Switch,
+ labelMaxLines = 3,
+ toggleControl = WearPermissionToggleControlType.Switch,
onCheckedChanged = it.onCheckedChanged,
)
}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt
index 55db66d41..8815e7905 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt
@@ -31,13 +31,13 @@ import com.android.permissioncontroller.permission.ui.model.AppPermissionViewMod
import com.android.permissioncontroller.permission.ui.model.AppPermissionViewModel.ButtonType
import com.android.permissioncontroller.permission.ui.v33.AdvancedConfirmDialogArgs
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material2.ListFooter
import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
import com.android.permissioncontroller.permission.ui.wear.elements.material2.toggleChipDisabledColors
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionConfirmationDialog
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
import com.android.permissioncontroller.permission.ui.wear.elements.material3.defaultAlertConfirmIcon
import com.android.permissioncontroller.permission.ui.wear.elements.material3.defaultAlertDismissIcon
import com.android.permissioncontroller.permission.ui.wear.model.AppPermissionConfirmDialogViewModel
@@ -121,7 +121,7 @@ internal fun WearAppPermissionContent(
checked = it.isChecked,
enabled = it.isEnabled,
label = stringResource(R.string.app_permission_location_accuracy),
- toggleControl = ToggleChipToggleControl.Switch,
+ toggleControl = WearPermissionToggleControlType.Switch,
onCheckedChanged = onLocationSwitchChanged,
labelMaxLine = Integer.MAX_VALUE,
)
@@ -141,7 +141,7 @@ internal fun WearAppPermissionContent(
toggleChipDisabledColors()
},
label = labelsByButton(buttonType),
- toggleControl = ToggleChipToggleControl.Radio,
+ toggleControl = WearPermissionToggleControlType.Radio,
onCheckedChanged = { checked ->
if (it.isEnabled) {
onGrantedStateChanged(buttonType, checked)
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearEnhancedConfirmationScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearEnhancedConfirmationScreen.kt
index a0e41b579..ab19a9665 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearEnhancedConfirmationScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearEnhancedConfirmationScreen.kt
@@ -47,7 +47,7 @@ import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableSc
import com.android.permissioncontroller.permission.ui.wear.elements.dismiss
import com.android.permissioncontroller.permission.ui.wear.elements.findActivity
import com.android.permissioncontroller.permission.ui.wear.elements.material2.Chip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionConfirmationDialog
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
import com.android.permissioncontroller.permission.ui.wear.model.WearEnhancedConfirmationViewModel
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearGrantPermissionsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearGrantPermissionsScreen.kt
index 35c2ab046..8287c5e94 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearGrantPermissionsScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearGrantPermissionsScreen.kt
@@ -42,9 +42,9 @@ import com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.N
import com.android.permissioncontroller.permission.ui.GrantPermissionsActivity.NO_UPGRADE_OT_BUTTON
import com.android.permissioncontroller.permission.ui.wear.GrantPermissionsWearViewHandler.BUTTON_RES_ID_TO_NUM
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControl
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
import com.android.permissioncontroller.permission.ui.wear.model.WearGrantPermissionsViewModel
import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion.MATERIAL3
@@ -81,7 +81,7 @@ fun WearGrantPermissionsScreen(
checked = preciseLocationChecked.value,
onCheckedChanged = onLocationSwitchChanged,
label = stringResource(R.string.app_permission_location_accuracy),
- toggleControl = ToggleChipToggleControl.Switch,
+ toggleControl = WearPermissionToggleControlType.Switch,
modifier = Modifier.fillMaxWidth(),
labelMaxLines = Integer.MAX_VALUE,
materialUIVersion = materialUIVersion,
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionScreen.kt
index 15d4cd370..d826e501e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionScreen.kt
@@ -26,7 +26,8 @@ import androidx.compose.ui.res.stringResource
import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.ui.model.ManageCustomPermissionsViewModel
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.Chip
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
@Composable
fun WearManageCustomPermissionScreen(
@@ -59,10 +60,10 @@ internal fun WearManageCustomPermissionContent(
) {
for (params in permGroupChipParams) {
item {
- Chip(
+ WearPermissionButton(
label = params.label,
labelMaxLines = 3,
- icon = params.icon,
+ iconBuilder = params.icon?.let { WearPermissionIconBuilder.builder(it) },
secondaryLabel = params.secondaryLabel,
secondaryLabelMaxLines = 3,
onClick = { onPermGroupClick(params.permGroupName) },
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt
index 20f87f6ba..3e347e19c 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt
@@ -30,7 +30,8 @@ import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.model.livedatatypes.PermGroupPackagesUiInfo
import com.android.permissioncontroller.permission.ui.model.ManageStandardPermissionsViewModel
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.Chip
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupIcon
import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupLabel
import com.android.permissioncontroller.permission.utils.StringUtils
@@ -115,10 +116,10 @@ internal fun WearManageStandardPermissionContent(
) {
for (params in permGroupChipParams) {
item {
- Chip(
+ WearPermissionButton(
label = params.label,
labelMaxLines = 3,
- icon = params.icon,
+ iconBuilder = params.icon?.let { WearPermissionIconBuilder.builder(it) },
secondaryLabel = params.secondaryLabel,
secondaryLabelMaxLines = 3,
onClick = { onPermGroupClick(params.permGroupName) },
@@ -128,10 +129,10 @@ internal fun WearManageStandardPermissionContent(
if (numCustomPermGroups > 0) {
item {
- Chip(
+ WearPermissionButton(
label = stringResource(R.string.additional_permissions),
labelMaxLines = 3,
- icon = R.drawable.ic_more_horizontal,
+ iconBuilder = WearPermissionIconBuilder.builder(R.drawable.ic_more_horizontal),
secondaryLabel =
StringUtils.getIcuPluralsString(
LocalContext.current,
@@ -146,10 +147,10 @@ internal fun WearManageStandardPermissionContent(
if (numAutoRevoked > 0) {
item {
- Chip(
+ WearPermissionButton(
label = stringResource(R.string.auto_revoke_permission_notification_title),
labelMaxLines = 3,
- icon = R.drawable.ic_info,
+ iconBuilder = WearPermissionIconBuilder.builder(R.drawable.ic_info),
secondaryLabel = stringResource(R.string.auto_revoke_setting_subtitle),
secondaryLabelMaxLines = 3,
onClick = onAutoRevokedClick,
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt
index 99dffb866..2fa6aa7f3 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt
@@ -19,7 +19,6 @@ package com.android.permissioncontroller.permission.ui.wear
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.foundation.layout.padding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
@@ -28,13 +27,13 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.unit.dp
import androidx.wear.compose.material.Text
import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.ui.Category
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.Chip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ListSubheader
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionListSubHeader
/** Compose the screen associated to a [WearPermissionAppsFragment]. */
@Composable
@@ -98,26 +97,19 @@ internal fun WearPermissionAppsContent(
continue
}
item {
- ListSubheader(
- modifier =
- Modifier.padding(
- top = if (index == firstItemIndex) 0.dp else 12.dp,
- bottom = 4.dp,
- start = 14.dp,
- end = 14.dp,
- )
- ) {
+ WearPermissionListSubHeader(isFirstItemInAList = index == firstItemIndex) {
Text(text = stringResource(getCategoryString(category, showAlways)))
}
}
chips.forEach {
item {
- Chip(
+ WearPermissionButton(
label = it.title,
labelMaxLines = Int.MAX_VALUE,
secondaryLabel = it.summary,
secondaryLabelMaxLines = Int.MAX_VALUE,
- icon = it.icon,
+ iconBuilder =
+ it.icon?.let { icon -> WearPermissionIconBuilder.builder(icon) },
enabled = it.enabled,
onClick = { it.onClick() },
modifier = Modifier.fillMaxWidth(),
@@ -128,7 +120,7 @@ internal fun WearPermissionAppsContent(
if (hasSystemApps) {
item {
- Chip(
+ WearPermissionButton(
label =
if (showSystem) {
stringResource(R.string.menu_hide_system)
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt
index d01692159..bfa46ae55 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt
@@ -31,8 +31,8 @@ import androidx.wear.compose.foundation.SwipeToDismissValue
import androidx.wear.compose.foundation.rememberSwipeToDismissBoxState
import androidx.wear.compose.material.SwipeToDismissBox
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionScaffold
+import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
-import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion.MATERIAL2_5
/**
* Screen that contains a list of items defined using the [content] parameter, adds the time text
@@ -42,7 +42,7 @@ import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionM
*/
@Composable
fun ScrollableScreen(
- materialUIVersion: WearPermissionMaterialUIVersion = MATERIAL2_5,
+ materialUIVersion: WearPermissionMaterialUIVersion = ResourceHelper.materialUIVersionInSettings,
showTimeText: Boolean = true,
title: String? = null,
subtitle: CharSequence? = null,
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/AlertDialog.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/AlertDialog.kt
index 192446039..a49d8822e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/AlertDialog.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/AlertDialog.kt
@@ -39,13 +39,9 @@ import androidx.wear.compose.material.dialog.Dialog
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.ScalingLazyColumnDefaults
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.ScalingLazyColumnState
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.rememberColumnState
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
-data class DialogButtonContent(
- val icon: WearPermissionIconBuilder? = null,
- val onClick: (() -> Unit),
-)
-
/**
* This component is an alternative to [AlertContent], providing the following:
* - a convenient way of passing a title and a message;
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ResponsiveDialog.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ResponsiveDialog.kt
index c43c45358..4cb3ab615 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ResponsiveDialog.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ResponsiveDialog.kt
@@ -48,6 +48,7 @@ import com.android.permissioncontroller.permission.ui.wear.elements.material2.la
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.ScalingLazyColumnDefaults.responsive
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.ScalingLazyColumnState
import com.android.permissioncontroller.permission.ui.wear.elements.material2.layout.rememberColumnState
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
import com.android.permissioncontroller.permission.ui.wear.elements.material3.defaultAlertConfirmIcon
import com.android.permissioncontroller.permission.ui.wear.elements.material3.defaultAlertDismissIcon
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChip.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChip.kt
index 421d5ca4f..bfb5d114d 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChip.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChip.kt
@@ -29,6 +29,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.compositeOver
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.role
+import androidx.compose.ui.semantics.semantics
+import androidx.compose.ui.semantics.stateDescription
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.wear.compose.material.ChipDefaults
@@ -39,6 +44,8 @@ import androidx.wear.compose.material.ToggleChip
import androidx.wear.compose.material.ToggleChipColors
import androidx.wear.compose.material.ToggleChipDefaults
import androidx.wear.compose.material.contentColorFor
+import com.android.permissioncontroller.R
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
/**
* This component is an alternative to [ToggleChip], providing the following:
@@ -52,7 +59,7 @@ fun ToggleChip(
onCheckedChanged: (Boolean) -> Unit,
label: String,
labelMaxLine: Int? = null,
- toggleControl: ToggleChipToggleControl,
+ toggleControl: WearPermissionToggleControlType,
modifier: Modifier = Modifier,
icon: Any? = null,
iconColor: Color = Color.Unspecified,
@@ -92,15 +99,16 @@ fun ToggleChip(
Icon(
imageVector =
when (toggleControl) {
- ToggleChipToggleControl.Switch -> ToggleChipDefaults.switchIcon(checked)
- ToggleChipToggleControl.Radio -> ToggleChipDefaults.radioIcon(checked)
- ToggleChipToggleControl.Checkbox -> ToggleChipDefaults.checkboxIcon(checked)
+ WearPermissionToggleControlType.Switch -> ToggleChipDefaults.switchIcon(checked)
+ WearPermissionToggleControlType.Radio -> ToggleChipDefaults.radioIcon(checked)
+ WearPermissionToggleControlType.Checkbox ->
+ ToggleChipDefaults.checkboxIcon(checked)
},
contentDescription = null,
// This potentially be removed once this issue is addressed:
// https://issuetracker.google.com/issues/287087138
rtlMode =
- if (toggleControl == ToggleChipToggleControl.Switch) {
+ if (toggleControl == WearPermissionToggleControlType.Switch) {
IconRtlMode.Mirrored
} else {
IconRtlMode.Default
@@ -127,7 +135,7 @@ fun ToggleChip(
checked = checked,
onCheckedChange = { newChecked ->
// Radio buttons cannot be toggled off by tapping on it again.
- if (toggleControl != ToggleChipToggleControl.Radio || newChecked) {
+ if (toggleControl != WearPermissionToggleControlType.Radio || newChecked) {
onCheckedChanged.invoke(newChecked)
}
},
@@ -219,3 +227,29 @@ fun toggleChipBackgroundColors(): ToggleChipColors {
uncheckedToggleControlColor = uncheckedToggleControlColor,
)
}
+
+@Composable
+fun Modifier.toggleControlSemantics(
+ toggleControl: WearPermissionToggleControlType,
+ checked: Boolean,
+): Modifier {
+ val semanticsRole =
+ when (toggleControl) {
+ WearPermissionToggleControlType.Switch -> Role.Switch
+ WearPermissionToggleControlType.Radio -> Role.RadioButton
+ WearPermissionToggleControlType.Checkbox -> Role.Checkbox
+ }
+ val stateDescriptionSemantics =
+ stringResource(
+ if (checked) {
+ R.string.on
+ } else {
+ R.string.off
+ }
+ )
+
+ return semantics {
+ role = semanticsRole
+ stateDescription = stateDescriptionSemantics
+ }
+}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChipToggleControl.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChipToggleControl.kt
deleted file mode 100644
index 56fbf3d61..000000000
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material2/ToggleChipToggleControl.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.permissioncontroller.permission.ui.wear.elements.material2
-
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.res.stringResource
-import androidx.compose.ui.semantics.Role
-import androidx.compose.ui.semantics.role
-import androidx.compose.ui.semantics.semantics
-import androidx.compose.ui.semantics.stateDescription
-import com.android.permissioncontroller.R
-
-enum class ToggleChipToggleControl {
- Switch,
- Radio,
- Checkbox,
-}
-
-@Composable
-fun Modifier.toggleControlSemantics(
- toggleControl: ToggleChipToggleControl,
- checked: Boolean,
-): Modifier {
- val semanticsRole =
- when (toggleControl) {
- ToggleChipToggleControl.Switch -> Role.Switch
- ToggleChipToggleControl.Radio -> Role.RadioButton
- ToggleChipToggleControl.Checkbox -> Role.Checkbox
- }
- val stateDescriptionSemantics =
- stringResource(
- if (checked) {
- R.string.on
- } else {
- R.string.off
- }
- )
-
- return semantics {
- role = semanticsRole
- stateDescription = stateDescriptionSemantics
- }
-}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionConfirmationDialog.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionConfirmationDialog.kt
index 430831248..0e1bf1fbe 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionConfirmationDialog.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionConfirmationDialog.kt
@@ -26,9 +26,13 @@ import androidx.wear.compose.material3.AlertDialog as Material3AlertDialog
import androidx.wear.compose.material3.AlertDialogDefaults
import androidx.wear.compose.material3.Text
import com.android.permissioncontroller.permission.ui.wear.elements.material2.AlertDialog
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
+data class DialogButtonContent(
+ val icon: WearPermissionIconBuilder? = null,
+ val onClick: (() -> Unit),
+)
+
@Composable
fun WearPermissionConfirmationDialog(
materialUIVersion: WearPermissionMaterialUIVersion =
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionListSubHeader.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionListSubHeader.kt
new file mode 100644
index 000000000..ddcd93326
--- /dev/null
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionListSubHeader.kt
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.permissioncontroller.permission.ui.wear.elements.material3
+
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.requiredHeightIn
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.unit.dp
+import androidx.wear.compose.material3.ListSubHeader
+import com.android.permissioncontroller.permission.ui.wear.elements.material2.ListSubheader
+import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
+import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
+
+/*
+This component is simplified wrapper over ListSubHeader with quick padding adjustments
+ */
+@Composable
+fun WearPermissionListSubHeader(
+ wearPermissionMaterialUIVersion: WearPermissionMaterialUIVersion =
+ ResourceHelper.materialUIVersionInSettings,
+ isFirstItemInAList: Boolean,
+ label: @Composable RowScope.() -> Unit,
+) {
+ val screenWidth = LocalConfiguration.current.screenWidthDp
+ val screenHeight = LocalConfiguration.current.screenHeightDp
+ val subtitlePaddingDefaults =
+ WearPermissionScaffoldPaddingDefaults(
+ screenWidth = screenWidth,
+ screenHeight = screenHeight,
+ )
+ .subHeaderPaddingValues(needsLargePadding = !isFirstItemInAList)
+
+ if (wearPermissionMaterialUIVersion == WearPermissionMaterialUIVersion.MATERIAL3) {
+ ListSubHeader(
+ modifier = Modifier.requiredHeightIn(1.dp), // We do not want default min height
+ contentPadding = subtitlePaddingDefaults,
+ label = label,
+ )
+ } else {
+ ListSubheader(modifier = Modifier.padding(subtitlePaddingDefaults), label = label)
+ }
+}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffold.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffold.kt
index 58a14ad5d..35bdf583e 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffold.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffold.kt
@@ -34,6 +34,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.Hyphens
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.ScrollInfoProvider
@@ -64,6 +65,7 @@ import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionT
private class TransformingScopeConverter(private val scope: TransformingLazyColumnScope) :
ListScopeWrapper {
override fun item(key: Any?, contentType: Any?, content: @Composable () -> Unit) {
+ // TODO:https://buganizer.corp.google.com/issues/389093588.
scope.item { Box(modifier = Modifier.scrollTransform(this)) { content() } }
}
}
@@ -133,7 +135,6 @@ private fun WearPermissionScaffoldInternal(
WearPermissionScaffoldPaddingDefaults(
screenWidth = screenWidth,
screenHeight = screenHeight,
- titleNeedsLargePadding = subtitle == null,
)
val columnState = rememberTransformingLazyColumnState()
WearPermissionTheme(version = WearPermissionMaterialUIVersion.MATERIAL3) {
@@ -152,7 +153,8 @@ private fun WearPermissionScaffoldInternal(
icon = painterFromImage(image),
title = title,
titleTestTag = titleTestTag,
- titlePaddingValues = paddingDefaults.titlePaddingValues,
+ titlePaddingValues =
+ paddingDefaults.titlePaddingValues(subtitle == null),
subtitle = subtitle,
subtitleTestTag = subtitleTestTag,
subTitlePaddingValues = paddingDefaults.subTitlePaddingValues,
@@ -165,42 +167,6 @@ private fun WearPermissionScaffoldInternal(
}
}
-private class WearPermissionScaffoldPaddingDefaults(
- screenWidth: Int,
- screenHeight: Int,
- titleNeedsLargePadding: Boolean,
-) {
- private val firstSpacerItemHeight = 0.dp
- private val scrollContentHorizontalPadding = (screenWidth * 0.052).dp
- private val titleHorizontalPadding = (screenWidth * 0.0884).dp
- private val subtitleHorizontalPadding = (screenWidth * 0.0416).dp
- private val scrollContentTopPadding = (screenHeight * 0.1456).dp - firstSpacerItemHeight
- private val scrollContentBottomPadding = (screenHeight * 0.3636).dp
- private val defaultItemPadding = 4.dp
- private val largeItemPadding = 8.dp
- val titlePaddingValues =
- PaddingValues(
- start = titleHorizontalPadding,
- top = defaultItemPadding,
- bottom = if (titleNeedsLargePadding) largeItemPadding else defaultItemPadding,
- end = titleHorizontalPadding,
- )
- val subTitlePaddingValues =
- PaddingValues(
- start = subtitleHorizontalPadding,
- top = defaultItemPadding,
- bottom = largeItemPadding,
- end = subtitleHorizontalPadding,
- )
- val scrollContentPadding =
- PaddingValues(
- start = scrollContentHorizontalPadding,
- end = scrollContentHorizontalPadding,
- top = scrollContentTopPadding,
- bottom = scrollContentBottomPadding,
- )
-}
-
@Composable
private fun BoxScope.ScrollingView(
contentPadding: PaddingValues,
@@ -301,6 +267,7 @@ private fun ListScopeWrapper.titleItem(
text = it,
textAlign = TextAlign.Center,
modifier = Modifier.optionalTestTag(testTag),
+ style = MaterialTheme.typography.titleLarge.copy(hyphens = Hyphens.Auto),
)
}
}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffoldPaddingDefaults.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffoldPaddingDefaults.kt
new file mode 100644
index 000000000..14eaec4bf
--- /dev/null
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionScaffoldPaddingDefaults.kt
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.permissioncontroller.permission.ui.wear.elements.material3
+
+import androidx.compose.foundation.layout.PaddingValues
+import androidx.compose.ui.unit.dp
+
+/* A common class for calculating padding for list items as per the latest design.
+https://www.figma.com/design/nb1atBKcK3luF8AXWLUe0X/BC25-Settings-on-Wear?node-id=2336-3304&t=n35PgTUC2O8hGSI0-0 */
+data class WearPermissionScaffoldPaddingDefaults(
+ private val screenWidth: Int,
+ private val screenHeight: Int,
+) {
+ private val scrollContentHorizontalPadding = (screenWidth * 0.052).dp
+ private val titleHorizontalPadding = (screenWidth * 0.0520).dp
+ private val subtitleHorizontalPadding = (screenWidth * 0.0624).dp
+ private val scrollContentTopPadding = (screenHeight * 0.1664).dp
+ private val scrollContentBottomPadding = (screenHeight * 0.3646).dp
+ private val noPadding = 0.dp
+ private val defaultItemPadding = 4.dp
+ private val largeItemPadding = 8.dp
+ private val extraLargePadding = 12.dp
+
+ fun titlePaddingValues(needsLargePadding: Boolean): PaddingValues =
+ PaddingValues(
+ start = titleHorizontalPadding,
+ top = defaultItemPadding,
+ bottom = if (needsLargePadding) largeItemPadding else defaultItemPadding,
+ end = titleHorizontalPadding,
+ )
+
+ fun subHeaderPaddingValues(needsLargePadding: Boolean): PaddingValues =
+ PaddingValues(
+ start = subtitleHorizontalPadding,
+ top = if (needsLargePadding) extraLargePadding else noPadding,
+ bottom = largeItemPadding,
+ end = subtitleHorizontalPadding,
+ )
+
+ val subTitlePaddingValues =
+ PaddingValues(
+ start = subtitleHorizontalPadding,
+ top = defaultItemPadding,
+ bottom = largeItemPadding,
+ end = subtitleHorizontalPadding,
+ )
+ val scrollContentPadding =
+ PaddingValues(
+ start = scrollContentHorizontalPadding,
+ end = scrollContentHorizontalPadding,
+ top = scrollContentTopPadding,
+ bottom = scrollContentBottomPadding,
+ )
+}
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionToggleControl.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionToggleControl.kt
index 6fea14082..d37d17a84 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionToggleControl.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/material3/WearPermissionToggleControl.kt
@@ -30,9 +30,16 @@ import androidx.wear.compose.material3.SwitchButton
import androidx.wear.compose.material3.Text
import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
+import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
+/** Defines various toggle control types. */
+enum class WearPermissionToggleControlType {
+ Switch,
+ Radio,
+ Checkbox,
+}
+
/**
* The custom component is a wrapper on different material3 toggle controls.
* 1. It provides an unified interface for RadioButton,CheckButton and SwitchButton.
@@ -42,14 +49,13 @@ import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionM
*/
@Composable
fun WearPermissionToggleControl(
- toggleControl: ToggleChipToggleControl,
+ toggleControl: WearPermissionToggleControlType,
label: String,
checked: Boolean,
onCheckedChanged: (Boolean) -> Unit,
modifier: Modifier = Modifier,
labelMaxLines: Int? = null,
- materialUIVersion: WearPermissionMaterialUIVersion =
- WearPermissionMaterialUIVersion.MATERIAL2_5,
+ materialUIVersion: WearPermissionMaterialUIVersion = ResourceHelper.materialUIVersionInSettings,
iconBuilder: WearPermissionIconBuilder? = null,
secondaryLabel: String? = null,
secondaryLabelMaxLines: Int? = null,
@@ -90,7 +96,7 @@ fun WearPermissionToggleControl(
@Composable
private fun WearPermissionToggleControlInternal(
label: String,
- toggleControl: ToggleChipToggleControl,
+ toggleControl: WearPermissionToggleControlType,
checked: Boolean,
onCheckedChanged: (Boolean) -> Unit,
modifier: Modifier = Modifier,
@@ -133,7 +139,7 @@ private fun WearPermissionToggleControlInternal(
modifier.fillMaxWidth().semantics { stateDescription = toggleControlStateDescription }
when (toggleControl) {
- ToggleChipToggleControl.Radio ->
+ WearPermissionToggleControlType.Radio ->
RadioButton(
selected = checked,
onSelect = {
@@ -151,7 +157,7 @@ private fun WearPermissionToggleControlInternal(
colors = style.radioButtonColorScheme(),
)
- ToggleChipToggleControl.Checkbox ->
+ WearPermissionToggleControlType.Checkbox ->
CheckboxButton(
checked = checked,
onCheckedChange = onCheckedChanged,
@@ -163,7 +169,7 @@ private fun WearPermissionToggleControlInternal(
colors = style.checkboxColorScheme(),
)
- ToggleChipToggleControl.Switch ->
+ WearPermissionToggleControlType.Switch ->
SwitchButton(
checked = checked,
onCheckedChange = onCheckedChanged,
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppScreen.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppScreen.kt
index 50b109248..0c39ca8c4 100644
--- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppScreen.kt
@@ -27,12 +27,12 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.wear.compose.material.ToggleChipDefaults
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material2.ListFooter
import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChip
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
import com.android.permissioncontroller.permission.ui.wear.elements.material2.toggleChipDisabledColors
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.DialogButtonContent
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionConfirmationDialog
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
import com.android.permissioncontroller.role.ui.wear.model.ConfirmDialogArgs
@@ -71,7 +71,7 @@ private fun WearDefaultAppContent(
icon = it.icon,
checked = it.checked,
onCheckedChanged = it.onDefaultCheckChanged,
- toggleControl = ToggleChipToggleControl.Radio,
+ toggleControl = WearPermissionToggleControlType.Radio,
labelMaxLine = Integer.MAX_VALUE,
)
}
@@ -90,7 +90,7 @@ private fun WearDefaultAppContent(
secondaryLabel = pref.summary?.toString(),
checked = pref.checked,
onCheckedChanged = pref.getOnCheckChanged(),
- toggleControl = ToggleChipToggleControl.Radio,
+ toggleControl = WearPermissionToggleControlType.Radio,
labelMaxLine = Integer.MAX_VALUE,
secondaryLabelMaxLine = Integer.MAX_VALUE,
)
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleScreen.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleScreen.kt
index f891fc25f..b4758c88b 100644
--- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleScreen.kt
+++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleScreen.kt
@@ -32,13 +32,13 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.android.permissioncontroller.R
import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen
-import com.android.permissioncontroller.permission.ui.wear.elements.material2.ToggleChipToggleControl
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButton
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionButtonStyle
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionIconBuilder
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionListFooter
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControl
import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlStyle
+import com.android.permissioncontroller.permission.ui.wear.elements.material3.WearPermissionToggleControlType
import com.android.permissioncontroller.permission.ui.wear.theme.ResourceHelper
import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionMaterialUIVersion
import com.android.permissioncontroller.role.UserPackage
@@ -129,7 +129,7 @@ internal fun WearRequestRoleContent(
onCheckedChanged = { checked ->
onCheckedChanged(checked, pref.userPackage, pref.isHolder)
},
- toggleControl = ToggleChipToggleControl.Radio,
+ toggleControl = WearPermissionToggleControlType.Radio,
labelMaxLines = Integer.MAX_VALUE,
)
}
@@ -154,7 +154,7 @@ internal fun WearRequestRoleContent(
onCheckedChanged = { checked ->
onCheckedChanged(checked, pref.userPackage, pref.isHolder)
},
- toggleControl = ToggleChipToggleControl.Radio,
+ toggleControl = WearPermissionToggleControlType.Radio,
)
}
pref.subTitle?.let { subTitle ->
@@ -175,7 +175,7 @@ internal fun WearRequestRoleContent(
enabled = enabled,
onCheckedChanged = { checked -> run { onDontAskAgainCheckedChanged(checked) } },
label = stringResource(R.string.request_role_dont_ask_again),
- toggleControl = ToggleChipToggleControl.Checkbox,
+ toggleControl = WearPermissionToggleControlType.Checkbox,
style = WearPermissionToggleControlStyle.Transparent,
modifier =
Modifier.testTag("com.android.permissioncontroller:id/dont_ask_again"),