Empty composer when message is sent
This commit is contained in:
parent
c7ab2dd105
commit
031d1e338d
5 changed files with 48 additions and 3 deletions
|
|
@ -0,0 +1,11 @@
|
|||
package io.element.android.x.core.data
|
||||
|
||||
/**
|
||||
* Wrapper for a CharSequence, which support mutation of the CharSequence.
|
||||
*/
|
||||
class StableCharSequence(val charSequence: CharSequence) {
|
||||
private val hash = charSequence.toString().hashCode()
|
||||
|
||||
override fun hashCode() = hash
|
||||
override fun equals(other: Any?) = other is StableCharSequence && other.hash == hash
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import android.net.Uri
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import io.element.android.x.element.resources.R as ElementR
|
||||
|
||||
|
|
@ -13,6 +14,9 @@ fun TextComposer(
|
|||
modifier: Modifier = Modifier,
|
||||
fullscreen: Boolean,
|
||||
onFullscreenToggle: () -> Unit,
|
||||
onComposerTextChange: (CharSequence) -> Unit,
|
||||
composerCanSendMessage: Boolean,
|
||||
composerText: CharSequence?,
|
||||
) {
|
||||
AndroidView(
|
||||
modifier = modifier,
|
||||
|
|
@ -25,6 +29,7 @@ fun TextComposer(
|
|||
}
|
||||
|
||||
override fun onTextChanged(text: CharSequence) {
|
||||
onComposerTextChange(text)
|
||||
}
|
||||
|
||||
override fun onCloseRelatedMessage() {
|
||||
|
|
@ -59,7 +64,8 @@ fun TextComposer(
|
|||
// Example of Compose -> View communication
|
||||
val messageComposerView = (view as MessageComposerView)
|
||||
messageComposerView.toggleFullScreen(fullscreen)
|
||||
messageComposerView.sendButton.isVisible = true
|
||||
messageComposerView.sendButton.isInvisible = !composerCanSendMessage
|
||||
messageComposerView.setTextIfDifferent(composerText ?: "")
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue