Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22dfa608 authored by Bryce Lee's avatar Bryce Lee Committed by Android (Google) Code Review
Browse files

Merge "Make customization CTA tile adapt to density and text size changes." into main

parents 46c7d4c3 e4337426
Loading
Loading
Loading
Loading
+49 −33
Original line number Diff line number Diff line
@@ -69,8 +69,10 @@ import androidx.compose.foundation.lazy.grid.GridItemSpan
import androidx.compose.foundation.lazy.grid.LazyGridState
import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
import androidx.compose.foundation.lazy.grid.rememberLazyGridState
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.selection.selectable
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.Check
@@ -92,6 +94,7 @@ import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Text
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.derivedStateOf
@@ -145,6 +148,7 @@ import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.IntSize
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.unit.times
import androidx.compose.ui.util.fastAll
import androidx.compose.ui.viewinterop.AndroidView
@@ -1000,7 +1004,9 @@ private fun CtaTileInViewModeContent(
        shape = RoundedCornerShape(68.adjustedDp, 34.adjustedDp, 68.adjustedDp, 34.adjustedDp)
    ) {
        Column(
            modifier = Modifier.fillMaxSize().padding(vertical = 32.dp, horizontal = 50.dp),
            modifier =
                Modifier.fillMaxSize()
                    .padding(vertical = 32.adjustedDp, horizontal = 50.adjustedDp),
            verticalArrangement = Arrangement.Center,
            horizontalAlignment = Alignment.CenterHorizontally,
        ) {
@@ -1009,52 +1015,62 @@ private fun CtaTileInViewModeContent(
                contentDescription = stringResource(R.string.cta_label_to_open_widget_picker),
                modifier = Modifier.size(Dimensions.IconSize).clearAndSetSemantics {},
            )
            Spacer(modifier = Modifier.size(6.dp))
            Spacer(modifier = Modifier.size(6.adjustedDp))
            Text(
                text = stringResource(R.string.cta_label_to_edit_widget),
                style = MaterialTheme.typography.titleLarge,
                fontSize = nonScalableTextSize(22.dp),
                lineHeight = nonScalableTextSize(28.dp),
                modifier = Modifier.verticalScroll(rememberScrollState()).weight(1F)
            )
            Spacer(modifier = Modifier.size(16.dp))
            Spacer(modifier = Modifier.size(16.adjustedDp))
            Row(
                modifier = Modifier.fillMaxWidth().height(56.dp),
                horizontalArrangement = Arrangement.spacedBy(16.dp, Alignment.CenterHorizontally),
                modifier = Modifier.fillMaxWidth().height(56.adjustedDp),
                horizontalArrangement =
                    Arrangement.spacedBy(16.adjustedDp, Alignment.CenterHorizontally),
            ) {
                CompositionLocalProvider(
                    LocalDensity provides
                        Density(
                            LocalDensity.current.density,
                            LocalDensity.current.fontScale.coerceIn(0f, 1.25f)
                        )
                ) {
                    OutlinedButton(
                    modifier = Modifier.fillMaxHeight(),
                        modifier = Modifier.fillMaxHeight().weight(1F),
                        colors =
                            ButtonDefaults.buttonColors(
                                contentColor = colors.onPrimary,
                            ),
                        border = BorderStroke(width = 1.0.dp, color = colors.primaryContainer),
                    contentPadding = PaddingValues(26.dp, 8.dp),
                        onClick = viewModel::onDismissCtaTile,
                        contentPadding = PaddingValues(0.dp, 0.dp, 0.dp, 0.dp),
                    ) {
                        Text(
                            text = stringResource(R.string.cta_tile_button_to_dismiss),
                        fontSize = nonScalableTextSize(14.dp),
                            fontSize = 14.sp,
                        )
                    }
                    Button(
                    modifier = Modifier.fillMaxHeight(),
                        modifier = Modifier.fillMaxHeight().weight(1F),
                        colors =
                            ButtonDefaults.buttonColors(
                                containerColor = colors.primaryContainer,
                                contentColor = colors.onPrimaryContainer,
                            ),
                    contentPadding = PaddingValues(26.dp, 8.dp),
                    onClick = viewModel::onOpenWidgetEditor
                        onClick = viewModel::onOpenWidgetEditor,
                        contentPadding = PaddingValues(0.dp, 0.dp, 0.dp, 0.dp),
                    ) {
                        Text(
                            text = stringResource(R.string.cta_tile_button_to_open_widget_editor),
                        fontSize = nonScalableTextSize(14.dp),
                            fontSize = 14.sp,
                        )
                    }
                }
            }
        }
    }
}

@Composable
private fun WidgetContent(