Skip to content

Commit dcfe025

Browse files
authored
Fix navigation stack overflow when sharing media (#5724)
* Fix navigation stack overflow when sharing media * Improve the handling of back navigation in the navigation button too
1 parent 2bcf6f3 commit dcfe025

File tree

1 file changed

+15
-3
lines changed
  • libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl

1 file changed

+15
-3
lines changed

libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectView.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ import androidx.compose.foundation.lazy.LazyRow
2525
import androidx.compose.foundation.lazy.items
2626
import androidx.compose.material3.ExperimentalMaterial3Api
2727
import 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
2832
import androidx.compose.ui.Alignment
2933
import androidx.compose.ui.Modifier
3034
import 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

Comments
 (0)