Always set dialog width for SettingsAlertDialog
Especially for tablet, this will use the correct width. Bug: 236346018 Test: Manually with Settings Test: Unit test Change-Id: Ia7cddd510b852fc568a492ba4e3b1c60c45d2c2f
This commit is contained in:
@@ -30,9 +30,9 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.DialogProperties
|
||||
|
||||
@@ -74,7 +74,6 @@ fun rememberAlertDialogPresenter(
|
||||
return alertDialogPresenter
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
private fun AlertDialogPresenter.SettingsAlertDialog(
|
||||
confirmButton: AlertDialogButton?,
|
||||
@@ -82,15 +81,9 @@ private fun AlertDialogPresenter.SettingsAlertDialog(
|
||||
title: String?,
|
||||
text: @Composable (() -> Unit)?,
|
||||
) {
|
||||
val configuration = LocalConfiguration.current
|
||||
AlertDialog(
|
||||
onDismissRequest = ::close,
|
||||
modifier = when (configuration.orientation) {
|
||||
Configuration.ORIENTATION_LANDSCAPE -> {
|
||||
Modifier.width(configuration.screenWidthDp.dp * 0.6f)
|
||||
}
|
||||
else -> Modifier
|
||||
},
|
||||
modifier = Modifier.width(getDialogWidth()),
|
||||
confirmButton = { confirmButton?.let { Button(it) } },
|
||||
dismissButton = dismissButton?.let { { Button(it) } },
|
||||
title = title?.let { { Text(it) } },
|
||||
@@ -105,6 +98,15 @@ private fun AlertDialogPresenter.SettingsAlertDialog(
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getDialogWidth(): Dp {
|
||||
val configuration = LocalConfiguration.current
|
||||
return configuration.screenWidthDp.dp * when (configuration.orientation) {
|
||||
Configuration.ORIENTATION_LANDSCAPE -> 0.6f
|
||||
else -> 0.8f
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun AlertDialogPresenter.Button(button: AlertDialogButton) {
|
||||
TextButton(
|
||||
|
||||
Reference in New Issue
Block a user