Add joinRules to RoomSummary
This commit is contained in:
parent
fb0205e903
commit
64f1834913
@ -59,7 +59,8 @@ data class RoomSummary constructor(
|
|||||||
val roomType: String? = null,
|
val roomType: String? = null,
|
||||||
val spaceParents: List<SpaceParentInfo>? = null,
|
val spaceParents: List<SpaceParentInfo>? = null,
|
||||||
val spaceChildren: List<SpaceChildInfo>? = null,
|
val spaceChildren: List<SpaceChildInfo>? = null,
|
||||||
val flattenParentIds: List<String> = emptyList()
|
val flattenParentIds: List<String> = emptyList(),
|
||||||
|
val joinRules: RoomJoinRules? = null
|
||||||
) {
|
) {
|
||||||
|
|
||||||
val isVersioned: Boolean
|
val isVersioned: Boolean
|
||||||
|
@ -91,7 +91,8 @@ internal class RoomSummaryMapper @Inject constructor(private val timelineEventMa
|
|||||||
parentRoomId = roomSummaryEntity.roomId
|
parentRoomId = roomSummaryEntity.roomId
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
flattenParentIds = roomSummaryEntity.flattenParentIds?.split("|") ?: emptyList()
|
flattenParentIds = roomSummaryEntity.flattenParentIds?.split("|") ?: emptyList(),
|
||||||
|
joinRules = roomSummaryEntity.joinnRules
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import io.realm.annotations.Index
|
|||||||
import io.realm.annotations.PrimaryKey
|
import io.realm.annotations.PrimaryKey
|
||||||
import org.matrix.android.sdk.api.crypto.RoomEncryptionTrustLevel
|
import org.matrix.android.sdk.api.crypto.RoomEncryptionTrustLevel
|
||||||
import org.matrix.android.sdk.api.session.room.model.Membership
|
import org.matrix.android.sdk.api.session.room.model.Membership
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.RoomJoinRules
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||||
import org.matrix.android.sdk.api.session.room.model.VersioningState
|
import org.matrix.android.sdk.api.session.room.model.VersioningState
|
||||||
import org.matrix.android.sdk.api.session.room.model.tag.RoomTag
|
import org.matrix.android.sdk.api.session.room.model.tag.RoomTag
|
||||||
@ -242,6 +243,23 @@ internal open class RoomSummaryEntity(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var joinnRulesStr: String? = null
|
||||||
|
var joinnRules: RoomJoinRules?
|
||||||
|
get() {
|
||||||
|
return joinnRulesStr?.let {
|
||||||
|
try {
|
||||||
|
RoomJoinRules.valueOf(it)
|
||||||
|
} catch (failure: Throwable) {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set(value) {
|
||||||
|
if (value?.name != joinnRulesStr) {
|
||||||
|
joinnRulesStr = value?.name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var roomEncryptionTrustLevel: RoomEncryptionTrustLevel?
|
var roomEncryptionTrustLevel: RoomEncryptionTrustLevel?
|
||||||
get() {
|
get() {
|
||||||
return roomEncryptionTrustLevelStr?.let {
|
return roomEncryptionTrustLevelStr?.let {
|
||||||
|
@ -24,6 +24,7 @@ import org.matrix.android.sdk.api.session.events.model.toModel
|
|||||||
import org.matrix.android.sdk.api.session.room.model.Membership
|
import org.matrix.android.sdk.api.session.room.model.Membership
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomAliasesContent
|
import org.matrix.android.sdk.api.session.room.model.RoomAliasesContent
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomCanonicalAliasContent
|
import org.matrix.android.sdk.api.session.room.model.RoomCanonicalAliasContent
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.RoomJoinRulesContent
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomNameContent
|
import org.matrix.android.sdk.api.session.room.model.RoomNameContent
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomTopicContent
|
import org.matrix.android.sdk.api.session.room.model.RoomTopicContent
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomType
|
import org.matrix.android.sdk.api.session.room.model.RoomType
|
||||||
@ -104,6 +105,7 @@ internal class RoomSummaryUpdater @Inject constructor(
|
|||||||
val lastCanonicalAliasEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_CANONICAL_ALIAS, stateKey = "")?.root
|
val lastCanonicalAliasEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_CANONICAL_ALIAS, stateKey = "")?.root
|
||||||
val lastAliasesEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_ALIASES, stateKey = "")?.root
|
val lastAliasesEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_ALIASES, stateKey = "")?.root
|
||||||
val roomCreateEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_CREATE, stateKey = "")?.root
|
val roomCreateEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_CREATE, stateKey = "")?.root
|
||||||
|
val joinRulesEvent = CurrentStateEventEntity.getOrNull(realm, roomId, type = EventType.STATE_ROOM_JOIN_RULES, stateKey = "")?.root
|
||||||
|
|
||||||
val roomType = ContentMapper.map(roomCreateEvent?.content).toModel<RoomCreateContent>()?.type
|
val roomType = ContentMapper.map(roomCreateEvent?.content).toModel<RoomCreateContent>()?.type
|
||||||
roomSummaryEntity.roomType = roomType
|
roomSummaryEntity.roomType = roomType
|
||||||
@ -171,6 +173,8 @@ internal class RoomSummaryUpdater @Inject constructor(
|
|||||||
crossSigningService.onUsersDeviceUpdate(otherRoomMembers)
|
crossSigningService.onUsersDeviceUpdate(otherRoomMembers)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
roomSummaryEntity.joinnRules = ContentMapper.map(joinRulesEvent?.content).toModel<RoomJoinRulesContent>()?.joinRules
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun RoomSummaryEntity.updateHasFailedSending() {
|
private fun RoomSummaryEntity.updateHasFailedSending() {
|
||||||
|
@ -123,7 +123,8 @@ internal class DefaultSpaceService @Inject constructor(
|
|||||||
encryptionEventTs = null,
|
encryptionEventTs = null,
|
||||||
typingUsers = emptyList(),
|
typingUsers = emptyList(),
|
||||||
isEncrypted = false,
|
isEncrypted = false,
|
||||||
flattenParentIds = emptyList()
|
flattenParentIds = emptyList(),
|
||||||
|
joinRules = null
|
||||||
),
|
),
|
||||||
second = response.rooms
|
second = response.rooms
|
||||||
?.filter { it.roomId != spaceId }
|
?.filter { it.roomId != spaceId }
|
||||||
|
Loading…
Reference in New Issue
Block a user