Composer: avoid recomposition

This commit is contained in:
ganfra
2022-11-22 19:28:22 +01:00
parent c03abc4421
commit 9a5b4ca702
2 changed files with 9 additions and 8 deletions

View File

@@ -60,6 +60,12 @@ fun MessagesScreen(
) {
val viewModel: MessagesViewModel = mavericksViewModel(argsFactory = { roomId })
val composerViewModel: MessageComposerViewModel = mavericksViewModel(argsFactory = { roomId })
fun onSendMessage(textMessage: String) {
viewModel.sendMessage(textMessage)
composerViewModel.updateText("")
}
LogCompositions(tag = "MessagesScreen", msg = "Root")
val actionsSheetState = rememberModalBottomSheetState(
initialValue = ModalBottomSheetValue.Hidden,
@@ -81,10 +87,7 @@ fun MessagesScreen(
hasMoreToLoad = hasMoreToLoad,
onReachedLoadMore = viewModel::loadMore,
onBackPressed = onBackPressed,
onSendMessage = {
viewModel.sendMessage(it)
composerViewModel.updateText("")
},
onSendMessage = ::onSendMessage,
composerFullScreen = composerFullScreen,
onComposerFullScreenChange = composerViewModel::onComposerFullScreenChange,
onComposerTextChange = composerViewModel::updateText,
@@ -193,7 +196,7 @@ fun MessagesContent(
onFullscreenToggle = onComposerFullScreenChange,
onComposerTextChange = onComposerTextChange,
composerCanSendMessage = composerCanSendMessage,
composerText = composerText?.charSequence,
composerText = composerText?.charSequence?.toString(),
modifier = Modifier
.fillMaxWidth()
.let {

View File

@@ -1,9 +1,7 @@
package io.element.android.x.textcomposer
import android.content.res.ColorStateList
import android.graphics.Color
import android.net.Uri
import androidx.appcompat.widget.AppCompatEditText
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -20,7 +18,7 @@ fun TextComposer(
onFullscreenToggle: () -> Unit,
onComposerTextChange: (CharSequence) -> Unit,
composerCanSendMessage: Boolean,
composerText: CharSequence?,
composerText: String?,
) {
val isInDarkMode = isSystemInDarkTheme()
AndroidView(