Composer: avoid passing interface Callback as it will force recomposition
This commit is contained in:
parent
f85e522842
commit
7ca1f90512
3 changed files with 30 additions and 29 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package io.element.android.x.textcomposer
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
|
|
@ -8,15 +9,39 @@ import io.element.android.x.element.resources.R as ElementR
|
|||
|
||||
@Composable
|
||||
fun TextComposer(
|
||||
callback: Callback,
|
||||
onSendMessage: (CharSequence) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
){
|
||||
) {
|
||||
AndroidView(
|
||||
modifier = modifier,
|
||||
factory = { context ->
|
||||
RichTextComposerLayout(context).apply {
|
||||
// Sets up listeners for View -> Compose communication
|
||||
this.callback = callback
|
||||
this.callback = object : Callback {
|
||||
override fun onRichContentSelected(contentUri: Uri): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun onTextChanged(text: CharSequence) {
|
||||
}
|
||||
|
||||
override fun onCloseRelatedMessage() {
|
||||
}
|
||||
|
||||
override fun onSendMessage(text: CharSequence) {
|
||||
onSendMessage(text)
|
||||
}
|
||||
|
||||
override fun onAddAttachment() {
|
||||
}
|
||||
|
||||
override fun onExpandOrCompactChange() {
|
||||
}
|
||||
|
||||
override fun onFullScreenModeChanged() {
|
||||
}
|
||||
|
||||
}
|
||||
val messageComposerView = (this as MessageComposerView)
|
||||
setupComposer(messageComposerView)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue