diff --git a/apps/android/app/src/main/java/chat/simplex/app/MainActivity.kt b/apps/android/app/src/main/java/chat/simplex/app/MainActivity.kt index 1b834d514d..5e953d8c12 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/MainActivity.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/MainActivity.kt @@ -374,15 +374,6 @@ fun MainPage( } } } - launch { - snapshotFlow { chatModel.sharedContent.value } - .distinctUntilChanged() - .filter { it != null } - .collect { - chatModel.chatId.value = null - currentChatId = null - } - } } Box (Modifier.graphicsLayer { translationX = maxWidth.toPx() - offset.value.dp.toPx() }) Box2@ { currentChatId?.let { diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/chat/ComposeView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/chat/ComposeView.kt index bf80d5d7f6..2cd2e78062 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/chat/ComposeView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/chat/ComposeView.kt @@ -541,6 +541,9 @@ fun ComposeView( } LaunchedEffect(chatModel.sharedContent.value) { + // Important. If it's null, don't do anything, chat is not closed yet but will be after a moment + if (chatModel.chatId.value == null) return@LaunchedEffect + when (val shared = chatModel.sharedContent.value) { is SharedContent.Text -> onMessageChange(shared.text) is SharedContent.Images -> processPickedImage(shared.uris, shared.text)