diff --git a/stream-chat-android-compose/api/stream-chat-android-compose.api b/stream-chat-android-compose/api/stream-chat-android-compose.api index 44e7788d5fb..ab16848ae3b 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -1192,7 +1192,7 @@ public final class io/getstream/chat/android/compose/ui/channel/info/GroupChanne } public final class io/getstream/chat/android/compose/ui/channels/ChannelsScreenKt { - public static final fun ChannelsScreen (Lio/getstream/chat/android/compose/viewmodel/channels/ChannelViewModelFactory;Ljava/lang/String;Ljava/lang/String;ZLio/getstream/chat/android/compose/ui/channels/SearchMode;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;III)V + public static final fun ChannelsScreen (Lio/getstream/chat/android/compose/viewmodel/channels/ChannelViewModelFactory;Ljava/lang/String;Ljava/lang/String;ZLio/getstream/chat/android/compose/ui/channels/SearchMode;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;ZLandroidx/compose/runtime/Composer;III)V } public final class io/getstream/chat/android/compose/ui/channels/SearchMode : java/lang/Enum { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt index f03c91128a6..dcfbf128d06 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt @@ -79,6 +79,8 @@ import io.getstream.chat.android.ui.common.state.channels.actions.ViewInfo * @param onChannelClick Handler for Channel item clicks. * @param onViewChannelInfoAction Handler for when the user selects the [ViewInfo] option for a [Channel]. * @param onBackPressed Handler for back press action. + * @param isBackPressEnabled Indicator if the default back handler is enabled. Set to `false` to fully disable the back + * handling and catch the back-press event in a [BackHandler] higher in the compose hierarchy. Default: `true`. */ @Composable @Suppress("LongMethod") @@ -94,6 +96,7 @@ public fun ChannelsScreen( onSearchMessageItemClick: (Message) -> Unit = {}, onViewChannelInfoAction: (Channel) -> Unit = {}, onBackPressed: () -> Unit = {}, + isBackPressEnabled: Boolean = true, ) { val listViewModel: ChannelListViewModel = viewModel( ChannelListViewModel::class.java, @@ -105,7 +108,7 @@ public fun ChannelsScreen( val user by listViewModel.user.collectAsState() val connectionState by listViewModel.connectionState.collectAsState() - BackHandler(enabled = true) { + BackHandler(enabled = isBackPressEnabled) { if (selectedChannel != null) { listViewModel.selectChannel(null) } else {