Loading packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/GalleryDialogActivity.kt +1 −10 Original line number Diff line number Diff line Loading @@ -16,11 +16,8 @@ package com.android.settingslib.spa.gallery import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import com.android.settingslib.spa.SpaBaseDialogActivity import com.android.settingslib.spa.widget.dialog.AlertDialogButton import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon Loading @@ -33,13 +30,7 @@ class GalleryDialogActivity : SpaBaseDialogActivity() { confirmButton = AlertDialogButton("confirm") { finish() }, dismissButton = AlertDialogButton("dismiss") { finish() }, title = "title", text = { Text( "text", modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center ) } text = { Text("text") }, ) } } packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsSize.kt +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import androidx.compose.ui.unit.dp object SettingsSize { val small2 = 20.dp val medium1 = 32.dp val medium3 = 40.dp val medium4 = 48.dp val large2 = 64.dp Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/dialog/SettingsAlertDialog.kt +12 −14 Original line number Diff line number Diff line Loading @@ -100,20 +100,8 @@ private fun AlertDialogPresenter.SettingsAlertDialog( dismissButton?.let { { if (isSpaExpressiveEnabled) DismissButton(it) else Button(it) } }, title = title?.let { { if (isSpaExpressiveEnabled) Text(it, style = MaterialTheme.typography.bodyLarge) else CenterRow { Text(it) } } }, text = text?.let { { CenterRow { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } } }, title = title?.let { { SettingsAlertDialogTitle(it) } }, text = text?.let { { SettingsAlertDialogText(it) } }, properties = DialogProperties(usePlatformDefaultWidth = false), ) } Loading @@ -139,6 +127,16 @@ fun getDialogWidth(): Dp { } } @Composable internal fun SettingsAlertDialogTitle(title: String) { Text(text = title, style = MaterialTheme.typography.headlineSmall) } @Composable internal fun SettingsAlertDialogText(text: @Composable (() -> Unit)) { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } @Composable private fun AlertDialogPresenter.Button(button: AlertDialogButton) { TextButton( Loading packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/dialog/SettingsAlertDialogWithIcon.kt +25 −28 Original line number Diff line number Diff line Loading @@ -16,22 +16,20 @@ package com.android.settingslib.spa.widget.dialog import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.WarningAmber import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.window.DialogProperties import com.android.settingslib.spa.framework.theme.isSpaExpressiveEnabled import com.android.settingslib.spa.framework.theme.SettingsSize @Composable fun SettingsAlertDialogWithIcon( Loading @@ -39,34 +37,33 @@ fun SettingsAlertDialogWithIcon( confirmButton: AlertDialogButton?, dismissButton: AlertDialogButton?, title: String?, icon: @Composable (() -> Unit)? = { Icon(Icons.Default.WarningAmber, contentDescription = null) }, icon: ImageVector = Icons.Default.WarningAmber, text: @Composable (() -> Unit)?, ) { AlertDialog( onDismissRequest = onDismissRequest, icon = icon, modifier = Modifier.width(getDialogWidth()), confirmButton = { confirmButton?.let { Button(onClick = { it.onClick() }) { Text(it.text) } } }, dismissButton = dismissButton?.let { { OutlinedButton(onClick = { it.onClick() }) { Text(it.text) } } }, title = title?.let { { CenterRow { if (isSpaExpressiveEnabled) Text(it, style = MaterialTheme.typography.bodyLarge) else Text(it) } } }, text = text?.let { { CenterRow { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } } icon = { Icon( imageVector = icon, contentDescription = null, modifier = Modifier.size(SettingsSize.medium1), ) }, modifier = Modifier.width(getDialogWidth()), confirmButton = { confirmButton?.let { Button(it) } }, dismissButton = dismissButton?.let { { OutlinedButton(it) } }, title = title?.let { { CenterRow { SettingsAlertDialogTitle(it) } } }, text = text?.let { { SettingsAlertDialogText(text) } }, properties = DialogProperties(usePlatformDefaultWidth = false), ) } @Composable private fun Button(button: AlertDialogButton) { Button(onClick = { button.onClick() }) { Text(button.text) } } @Composable private fun OutlinedButton(button: AlertDialogButton) { OutlinedButton(onClick = { button.onClick() }) { Text(button.text) } } Loading
packages/SettingsLib/Spa/gallery/src/com/android/settingslib/spa/gallery/GalleryDialogActivity.kt +1 −10 Original line number Diff line number Diff line Loading @@ -16,11 +16,8 @@ package com.android.settingslib.spa.gallery import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import com.android.settingslib.spa.SpaBaseDialogActivity import com.android.settingslib.spa.widget.dialog.AlertDialogButton import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon Loading @@ -33,13 +30,7 @@ class GalleryDialogActivity : SpaBaseDialogActivity() { confirmButton = AlertDialogButton("confirm") { finish() }, dismissButton = AlertDialogButton("dismiss") { finish() }, title = "title", text = { Text( "text", modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center ) } text = { Text("text") }, ) } }
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsSize.kt +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import androidx.compose.ui.unit.dp object SettingsSize { val small2 = 20.dp val medium1 = 32.dp val medium3 = 40.dp val medium4 = 48.dp val large2 = 64.dp Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/dialog/SettingsAlertDialog.kt +12 −14 Original line number Diff line number Diff line Loading @@ -100,20 +100,8 @@ private fun AlertDialogPresenter.SettingsAlertDialog( dismissButton?.let { { if (isSpaExpressiveEnabled) DismissButton(it) else Button(it) } }, title = title?.let { { if (isSpaExpressiveEnabled) Text(it, style = MaterialTheme.typography.bodyLarge) else CenterRow { Text(it) } } }, text = text?.let { { CenterRow { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } } }, title = title?.let { { SettingsAlertDialogTitle(it) } }, text = text?.let { { SettingsAlertDialogText(it) } }, properties = DialogProperties(usePlatformDefaultWidth = false), ) } Loading @@ -139,6 +127,16 @@ fun getDialogWidth(): Dp { } } @Composable internal fun SettingsAlertDialogTitle(title: String) { Text(text = title, style = MaterialTheme.typography.headlineSmall) } @Composable internal fun SettingsAlertDialogText(text: @Composable (() -> Unit)) { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } @Composable private fun AlertDialogPresenter.Button(button: AlertDialogButton) { TextButton( Loading
packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/dialog/SettingsAlertDialogWithIcon.kt +25 −28 Original line number Diff line number Diff line Loading @@ -16,22 +16,20 @@ package com.android.settingslib.spa.widget.dialog import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.WarningAmber import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.window.DialogProperties import com.android.settingslib.spa.framework.theme.isSpaExpressiveEnabled import com.android.settingslib.spa.framework.theme.SettingsSize @Composable fun SettingsAlertDialogWithIcon( Loading @@ -39,34 +37,33 @@ fun SettingsAlertDialogWithIcon( confirmButton: AlertDialogButton?, dismissButton: AlertDialogButton?, title: String?, icon: @Composable (() -> Unit)? = { Icon(Icons.Default.WarningAmber, contentDescription = null) }, icon: ImageVector = Icons.Default.WarningAmber, text: @Composable (() -> Unit)?, ) { AlertDialog( onDismissRequest = onDismissRequest, icon = icon, modifier = Modifier.width(getDialogWidth()), confirmButton = { confirmButton?.let { Button(onClick = { it.onClick() }) { Text(it.text) } } }, dismissButton = dismissButton?.let { { OutlinedButton(onClick = { it.onClick() }) { Text(it.text) } } }, title = title?.let { { CenterRow { if (isSpaExpressiveEnabled) Text(it, style = MaterialTheme.typography.bodyLarge) else Text(it) } } }, text = text?.let { { CenterRow { Column(Modifier.verticalScroll(rememberScrollState())) { text() } } } icon = { Icon( imageVector = icon, contentDescription = null, modifier = Modifier.size(SettingsSize.medium1), ) }, modifier = Modifier.width(getDialogWidth()), confirmButton = { confirmButton?.let { Button(it) } }, dismissButton = dismissButton?.let { { OutlinedButton(it) } }, title = title?.let { { CenterRow { SettingsAlertDialogTitle(it) } } }, text = text?.let { { SettingsAlertDialogText(text) } }, properties = DialogProperties(usePlatformDefaultWidth = false), ) } @Composable private fun Button(button: AlertDialogButton) { Button(onClick = { button.onClick() }) { Text(button.text) } } @Composable private fun OutlinedButton(button: AlertDialogButton) { OutlinedButton(onClick = { button.onClick() }) { Text(button.text) } }