@@ -25,6 +25,10 @@ import androidx.compose.foundation.lazy.LazyRow
2525import androidx.compose.foundation.lazy.items
2626import androidx.compose.material3.ExperimentalMaterial3Api
2727import androidx.compose.runtime.Composable
28+ import androidx.compose.runtime.getValue
29+ import androidx.compose.runtime.mutableStateOf
30+ import androidx.compose.runtime.remember
31+ import androidx.compose.runtime.setValue
2832import androidx.compose.ui.Alignment
2933import androidx.compose.ui.Modifier
3034import androidx.compose.ui.res.stringResource
@@ -81,15 +85,20 @@ fun RoomSelectView(
8185 )
8286 }
8387
88+ var canHandleBack by remember { mutableStateOf(true ) }
8489 fun onBackButton (state : RoomSelectState ) {
8590 if (state.isSearchActive) {
8691 state.eventSink(RoomSelectEvents .ToggleSearchActive )
87- } else {
92+ } else if (canHandleBack) {
93+ canHandleBack = false
8894 onDismiss()
8995 }
9096 }
9197
92- BackHandler (onBack = { onBackButton(state) })
98+ BackHandler (
99+ enabled = canHandleBack,
100+ onBack = { onBackButton(state) }
101+ )
93102
94103 Scaffold (
95104 modifier = modifier,
@@ -100,7 +109,10 @@ fun RoomSelectView(
100109 RoomSelectMode .Share -> stringResource(CommonStrings .common_send_to)
101110 },
102111 navigationIcon = {
103- BackButton (onClick = { onBackButton(state) })
112+ BackButton (
113+ enabled = canHandleBack,
114+ onClick = { onBackButton(state) }
115+ )
104116 },
105117 actions = {
106118 TextButton (
0 commit comments