mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Disable the composer when you don't have the power to post. (#4076)
This commit is contained in:
@@ -8593,6 +8593,76 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable {
|
||||
}
|
||||
//MARK: - canUser
|
||||
|
||||
var canUserUserIDSendMessageUnderlyingCallsCount = 0
|
||||
var canUserUserIDSendMessageCallsCount: Int {
|
||||
get {
|
||||
if Thread.isMainThread {
|
||||
return canUserUserIDSendMessageUnderlyingCallsCount
|
||||
} else {
|
||||
var returnValue: Int? = nil
|
||||
DispatchQueue.main.sync {
|
||||
returnValue = canUserUserIDSendMessageUnderlyingCallsCount
|
||||
}
|
||||
|
||||
return returnValue!
|
||||
}
|
||||
}
|
||||
set {
|
||||
if Thread.isMainThread {
|
||||
canUserUserIDSendMessageUnderlyingCallsCount = newValue
|
||||
} else {
|
||||
DispatchQueue.main.sync {
|
||||
canUserUserIDSendMessageUnderlyingCallsCount = newValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var canUserUserIDSendMessageCalled: Bool {
|
||||
return canUserUserIDSendMessageCallsCount > 0
|
||||
}
|
||||
var canUserUserIDSendMessageReceivedArguments: (userID: String, messageType: MessageLikeEventType)?
|
||||
var canUserUserIDSendMessageReceivedInvocations: [(userID: String, messageType: MessageLikeEventType)] = []
|
||||
|
||||
var canUserUserIDSendMessageUnderlyingReturnValue: Result<Bool, RoomProxyError>!
|
||||
var canUserUserIDSendMessageReturnValue: Result<Bool, RoomProxyError>! {
|
||||
get {
|
||||
if Thread.isMainThread {
|
||||
return canUserUserIDSendMessageUnderlyingReturnValue
|
||||
} else {
|
||||
var returnValue: Result<Bool, RoomProxyError>? = nil
|
||||
DispatchQueue.main.sync {
|
||||
returnValue = canUserUserIDSendMessageUnderlyingReturnValue
|
||||
}
|
||||
|
||||
return returnValue!
|
||||
}
|
||||
}
|
||||
set {
|
||||
if Thread.isMainThread {
|
||||
canUserUserIDSendMessageUnderlyingReturnValue = newValue
|
||||
} else {
|
||||
DispatchQueue.main.sync {
|
||||
canUserUserIDSendMessageUnderlyingReturnValue = newValue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var canUserUserIDSendMessageClosure: ((String, MessageLikeEventType) async -> Result<Bool, RoomProxyError>)?
|
||||
|
||||
func canUser(userID: String, sendMessage messageType: MessageLikeEventType) async -> Result<Bool, RoomProxyError> {
|
||||
canUserUserIDSendMessageCallsCount += 1
|
||||
canUserUserIDSendMessageReceivedArguments = (userID: userID, messageType: messageType)
|
||||
DispatchQueue.main.async {
|
||||
self.canUserUserIDSendMessageReceivedInvocations.append((userID: userID, messageType: messageType))
|
||||
}
|
||||
if let canUserUserIDSendMessageClosure = canUserUserIDSendMessageClosure {
|
||||
return await canUserUserIDSendMessageClosure(userID, messageType)
|
||||
} else {
|
||||
return canUserUserIDSendMessageReturnValue
|
||||
}
|
||||
}
|
||||
//MARK: - canUser
|
||||
|
||||
var canUserUserIDSendStateEventUnderlyingCallsCount = 0
|
||||
var canUserUserIDSendStateEventCallsCount: Int {
|
||||
get {
|
||||
|
||||
Reference in New Issue
Block a user