Fix #7181: Remove back arrow from device verified screen and use 'Done' text (#7222)

* Fix #7181: Remove back arrow from device verified screen and use 'Done' text

* Update screenshots

* Fix failing Maestro test by tapping 'Done' instead of 'Continue'

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: thirumani-vihaan <your-github-email@example.com>
This commit is contained in:
Thirumani Vihaan
2026-07-16 20:20:58 +05:30
committed by GitHub
parent 2ed7cfe79c
commit f005693874
7 changed files with 22 additions and 19 deletions
@@ -66,7 +66,8 @@ fun OutgoingVerificationView(
fun cancelOrResetFlow() {
when (step) {
is Step.Canceled -> state.eventSink(OutgoingVerificationViewEvents.Reset)
Step.Initial, Step.Completed -> onBack()
Step.Initial -> onBack()
Step.Completed -> onFinish()
Step.Ready, is Step.AwaitingOtherDeviceResponse -> state.eventSink(OutgoingVerificationViewEvents.Cancel)
is Step.Verifying -> {
if (!step.state.isLoading()) {
@@ -96,7 +97,9 @@ fun OutgoingVerificationView(
TopAppBar(
title = {},
navigationIcon = {
BackButton(onClick = ::cancelOrResetFlow)
if (step !is Step.Completed) {
BackButton(onClick = ::cancelOrResetFlow)
}
},
colors = topAppBarColors(containerColor = Color.Transparent),
)
@@ -108,7 +111,7 @@ fun OutgoingVerificationView(
OutgoingVerificationBottomMenu(
state = state,
onCancelClick = ::cancelOrResetFlow,
onContinueClick = onFinish,
onDoneClick = onFinish,
)
},
isScrollable = true,
@@ -244,7 +247,7 @@ private fun ContentInitial(
private fun OutgoingVerificationBottomMenu(
state: OutgoingVerificationState,
onCancelClick: () -> Unit,
onContinueClick: () -> Unit,
onDoneClick: () -> Unit,
) {
val eventSink = state.eventSink
when (val step = state.step) {
@@ -313,8 +316,8 @@ private fun OutgoingVerificationBottomMenu(
VerificationBottomMenu {
Button(
modifier = Modifier.fillMaxWidth(),
text = stringResource(CommonStrings.action_continue),
onClick = onContinueClick,
text = stringResource(CommonStrings.action_done),
onClick = onDoneClick,
)
InvisibleButton()
}
@@ -99,10 +99,10 @@ class OutgoingVerificationViewTest : RobolectricTest() {
}
@Test
fun `back key pressed - on Completed exits the flow`() = runAndroidComposeUiTest {
fun `back key pressed - on Completed finishes the flow`() = runAndroidComposeUiTest {
ensureCalledOnce { callback ->
setOutgoingVerificationView(
onBack = callback,
onFinished = callback,
state = anOutgoingVerificationState(
step = OutgoingVerificationState.Step.Completed,
),
@@ -112,7 +112,7 @@ class OutgoingVerificationViewTest : RobolectricTest() {
}
@Test
fun `when flow is completed and the user clicks on the continue button, the expected callback is invoked`() = runAndroidComposeUiTest {
fun `when flow is completed and the user clicks on the done button, the expected callback is invoked`() = runAndroidComposeUiTest {
val eventsRecorder = EventsRecorder<OutgoingVerificationViewEvents>(expectEvents = false)
ensureCalledOnce { callback ->
setOutgoingVerificationView(
@@ -122,7 +122,7 @@ class OutgoingVerificationViewTest : RobolectricTest() {
),
onFinished = callback,
)
clickOn(CommonStrings.action_continue)
clickOn(CommonStrings.action_done)
}
}