CanSendEvent default to true and branch refresh mechanism...

This commit is contained in:
ganfra 2023-06-21 17:43:08 +02:00
parent 4b55641aae
commit b3e11d184a
2 changed files with 4 additions and 4 deletions

View file

@ -88,7 +88,7 @@ class MessagesPresenter @Inject constructor(
val retryState = retrySendMenuPresenter.present() val retryState = retrySendMenuPresenter.present()
val syncUpdateFlow = room.syncUpdateFlow().collectAsState(0L) val syncUpdateFlow = room.syncUpdateFlow().collectAsState(0L)
val userHasPermissionToSendMessage by room.canSendEventAsState(type = MessageEventType.ROOM_MESSAGE) val userHasPermissionToSendMessage by room.canSendEventAsState(type = MessageEventType.ROOM_MESSAGE, updateKey = syncUpdateFlow.value)
val roomName: MutableState<String?> = rememberSaveable { val roomName: MutableState<String?> = rememberSaveable {
mutableStateOf(null) mutableStateOf(null)
} }

View file

@ -23,9 +23,9 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom
import io.element.android.libraries.matrix.api.room.MessageEventType import io.element.android.libraries.matrix.api.room.MessageEventType
@Composable @Composable
fun MatrixRoom.canSendEventAsState(type: MessageEventType): State<Boolean> { fun MatrixRoom.canSendEventAsState(type: MessageEventType, updateKey: Long): State<Boolean> {
return produceState(initialValue = false, key1 = type) { return produceState(initialValue = true, key1 = updateKey) {
value = canSendEvent(type).getOrElse { false } value = canSendEvent(type).getOrElse { true }
} }
} }