1
0
mirror of https://github.com/vector-im/riotX-android synced 2025-10-05 15:52:47 +02:00

Fix RoomPowerLevels with nullable event

This commit is contained in:
ganfra
2025-08-05 17:26:28 +02:00
parent f1a99c3116
commit 8d412cd6ec

View File

@@ -32,7 +32,10 @@ import org.matrix.android.sdk.internal.session.room.state.StateEventDataSource
internal fun StateEventDataSource.getRoomPowerLevels(roomId: String): RoomPowerLevels {
val powerLevelsEvent = getStateEvent(roomId, EventType.STATE_ROOM_POWER_LEVELS, QueryStringValue.IsEmpty)
val roomCreateEvent = getStateEvent(roomId, EventType.STATE_ROOM_CREATE, QueryStringValue.IsEmpty)
return createRoomPowerLevels(powerLevelsEvent = powerLevelsEvent, roomCreateEvent = roomCreateEvent)
return createRoomPowerLevels(
powerLevelsEvent = powerLevelsEvent,
roomCreateEvent = roomCreateEvent
)
}
internal fun StateEventDataSource.getRoomPowerLevelsLive(roomId: String): LiveData<RoomPowerLevels> {
@@ -42,7 +45,10 @@ internal fun StateEventDataSource.getRoomPowerLevelsLive(roomId: String): LiveDa
fun emitIfReady(powerLevelEvent: Optional<Event>?, roomCreateEvent: Optional<Event>?) {
if (powerLevelEvent != null && roomCreateEvent != null) {
val roomPowerLevels = createRoomPowerLevels(powerLevelEvent.get(), roomCreateEvent.get())
val roomPowerLevels = createRoomPowerLevels(
powerLevelsEvent = powerLevelEvent.getOrNull(),
roomCreateEvent = roomCreateEvent.getOrNull()
)
resultLiveData.postValue(roomPowerLevels)
}
}