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

Commit b9c864d4 authored by Matthew Reynolds's avatar Matthew Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Added bouncer_text_entry resource ID for OutputArea" into main

parents 6fc40f61 b8b74f19
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ import com.android.systemui.bouncer.ui.viewmodel.PatternBouncerViewModel
import com.android.systemui.bouncer.ui.viewmodel.PinBouncerViewModel
import com.android.systemui.common.shared.model.Text.Companion.loadText
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.fold.ui.composable.foldPosture
import com.android.systemui.fold.ui.helper.FoldPosture
import com.android.systemui.res.R
@@ -259,8 +260,11 @@ private fun SplitLayout(
                        viewModel = viewModel.message,
                        modifier = Modifier.align(Alignment.TopCenter),
                    )

                    OutputArea(viewModel = viewModel, modifier = Modifier.align(Alignment.Center))
                    OutputArea(
                        viewModel = viewModel,
                        modifier =
                            Modifier.align(Alignment.Center).sysuiResTag("bouncer_text_entry")
                    )

                    ActionArea(
                        viewModel = viewModel,
@@ -310,8 +314,11 @@ private fun SplitLayout(
                        StatusMessage(
                            viewModel = viewModel.message,
                        )

                        OutputArea(viewModel = viewModel, modifier = Modifier.padding(top = 24.dp))
                        OutputArea(
                            viewModel = viewModel,
                            modifier =
                                Modifier.padding(top = 24.dp).sysuiResTag("bouncer_text_entry")
                        )
                    }
                }
                else -> Unit
@@ -417,10 +424,9 @@ private fun BesideUserSwitcherLayout(
                    StatusMessage(
                        viewModel = viewModel.message,
                    )

                    OutputArea(
                        viewModel = viewModel,
                        modifier = Modifier.padding(top = 24.dp).testTag("OutputArea")
                        modifier = Modifier.padding(top = 24.dp).sysuiResTag("bouncer_text_entry")
                    )
                }
            },
@@ -485,7 +491,6 @@ private fun BelowUserSwitcherLayout(
                StatusMessage(
                    viewModel = viewModel.message,
                )

                OutputArea(viewModel = viewModel, modifier = Modifier.padding(top = 24.dp))

                InputArea(
@@ -654,17 +659,16 @@ private fun OutputArea(
) {
    val authMethodViewModel: AuthMethodBouncerViewModel? by
        viewModel.authMethodViewModel.collectAsStateWithLifecycle()

    when (val nonNullViewModel = authMethodViewModel) {
        is PinBouncerViewModel ->
            PinInputDisplay(
                viewModel = nonNullViewModel,
                modifier = modifier,
                modifier = modifier.sysuiResTag("bouncer_text_entry")
            )
        is PasswordBouncerViewModel ->
            PasswordBouncer(
                viewModel = nonNullViewModel,
                modifier = modifier,
                modifier = modifier.sysuiResTag("bouncer_text_entry")
            )
        else -> Unit
    }
+25 −21
Original line number Diff line number Diff line
@@ -93,11 +93,15 @@ fun PinPad(
        }
    }

    // set the focus, so adb can send the key events for testing.
    val focusRequester = FocusRequester()
    LaunchedEffect(Unit) { focusRequester.requestFocus() }

    VerticalGrid(
        columns = columns,
        verticalSpacing = verticalSpacing,
        horizontalSpacing = calculateHorizontalSpacingBetweenColumns(gridWidth = 300.dp),
        modifier = modifier,
        modifier = modifier.focusRequester(focusRequester)
    ) {
        repeat(9) { index ->
            DigitButton(
+10 −5
Original line number Diff line number Diff line
@@ -34,8 +34,10 @@ import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
@@ -351,16 +353,19 @@ private class PinInputRow(

    @Composable
    fun Content(modifier: Modifier) {

        // Wrap PIN entry in a Box so it is visible to accessibility (even if empty).
        Box(modifier = modifier.fillMaxWidth().wrapContentHeight()) {
            Row(
            modifier =
                modifier
                    .heightIn(min = shapeAnimations.shapeSize)
                    // Pins overflowing horizontally should still be shown as scrolling.
                    .wrapContentSize(unbounded = true),
                    .wrapContentSize(unbounded = true)
            ) {
                entries.forEach { entry -> key(entry.digit) { entry.Content() } }
            }
        }
    }

    /**
     * Replaces all current [PinInputEntry] composables with new instances for each digit.