mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
use isDM from the SDK to determine if a spaceRoom, a joinedRoom or a notificationItem are from a dm room.
This commit is contained in:
@@ -49,6 +49,10 @@ struct RoomInfoProxy: RoomInfoProxyProtocol {
|
||||
var isDirect: Bool {
|
||||
roomInfo.isDirect
|
||||
}
|
||||
|
||||
var isDM: Bool {
|
||||
roomInfo.isDm
|
||||
}
|
||||
|
||||
var isSpace: Bool {
|
||||
roomInfo.isSpace
|
||||
|
||||
@@ -36,6 +36,7 @@ protocol RoomInfoProxyProtocol: BaseRoomInfoProxyProtocol {
|
||||
|
||||
var isEncrypted: Bool { get }
|
||||
var isDirect: Bool { get }
|
||||
var isDM: Bool { get }
|
||||
var isSpace: Bool { get }
|
||||
var isFavourite: Bool { get }
|
||||
|
||||
|
||||
@@ -51,4 +51,8 @@ final class RoomMemberProxy: RoomMemberProxyProtocol {
|
||||
var powerLevel: RoomPowerLevel {
|
||||
.init(rustPowerLevel: member.powerLevel)
|
||||
}
|
||||
|
||||
var isServiceMember: Bool {
|
||||
member.isServiceMember
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ protocol RoomMemberProxyProtocol: AnyObject {
|
||||
var isIgnored: Bool { get }
|
||||
|
||||
var powerLevel: RoomPowerLevel { get }
|
||||
|
||||
var isServiceMember: Bool { get }
|
||||
}
|
||||
|
||||
extension RoomMemberProxyProtocol {
|
||||
|
||||
@@ -222,10 +222,6 @@ extension JoinedRoomProxyProtocol {
|
||||
isDirect: infoPublisher.value.isDirect,
|
||||
historySharingState: historySharingState)
|
||||
}
|
||||
|
||||
var isDirectOneToOneRoom: Bool {
|
||||
infoPublisher.value.isDirect && infoPublisher.value.activeMembersCount <= 2
|
||||
}
|
||||
|
||||
func members() async -> [RoomMemberProxyProtocol]? {
|
||||
await updateMembers()
|
||||
|
||||
@@ -24,6 +24,7 @@ struct SpaceServiceRoom {
|
||||
|
||||
var isSpace: Bool
|
||||
var isDirect: Bool?
|
||||
var isDM: Bool?
|
||||
var childrenCount: Int
|
||||
|
||||
var joinedMembersCount: Int
|
||||
@@ -70,6 +71,7 @@ extension SpaceServiceRoom {
|
||||
|
||||
isSpace = spaceRoom.roomType == .space
|
||||
isDirect = spaceRoom.isDirect
|
||||
isDM = spaceRoom.isDm
|
||||
childrenCount = Int(spaceRoom.childrenCount)
|
||||
|
||||
joinedMembersCount = Int(spaceRoom.numJoinedMembers)
|
||||
@@ -92,6 +94,7 @@ extension SpaceServiceRoom {
|
||||
avatarURL: URL? = nil,
|
||||
isSpace: Bool,
|
||||
isDirect: Bool? = nil,
|
||||
isDM: Bool? = nil,
|
||||
childrenCount: Int = 0,
|
||||
joinedMembersCount: Int = 0,
|
||||
heroes: [UserProfileProxy] = [],
|
||||
@@ -108,6 +111,7 @@ extension SpaceServiceRoom {
|
||||
avatarURL: avatarURL,
|
||||
isSpace: isSpace,
|
||||
isDirect: isDirect,
|
||||
isDM: isDM,
|
||||
childrenCount: childrenCount,
|
||||
joinedMembersCount: joinedMembersCount,
|
||||
heroes: heroes,
|
||||
|
||||
@@ -419,7 +419,7 @@ class TimelineController: TimelineControllerProtocol {
|
||||
let isNewTimeline = isSwitchingTimelines
|
||||
isSwitchingTimelines = false
|
||||
|
||||
let isDM = roomProxy.isDirectOneToOneRoom
|
||||
let isDM = roomProxy.infoPublisher.value.isDM
|
||||
let displayName = roomProxy.infoPublisher.value.displayName
|
||||
let hasPredecessor = roomProxy.predecessorRoom != nil
|
||||
|
||||
|
||||
Reference in New Issue
Block a user