Implements #745, #746, #747 - Initial media uploading flows

- room composer contextual menu for selecting source
- coordinator for presenting the different sources
- system picker handling and URL passback
- file preview after selection
- feature flag
This commit is contained in:
Stefan Ceriu
2023-03-28 17:47:34 +03:00
committed by Stefan Ceriu
parent 2359910857
commit 5f6edacc1a
27 changed files with 787 additions and 29 deletions
@@ -326,6 +326,27 @@ class RoomProxyMock: RoomProxyProtocol {
return sendReactionToReturnValue
}
}
//MARK: - sendImage
var sendImageBodyUrlCallsCount = 0
var sendImageBodyUrlCalled: Bool {
return sendImageBodyUrlCallsCount > 0
}
var sendImageBodyUrlReceivedArguments: (body: String, url: URL)?
var sendImageBodyUrlReceivedInvocations: [(body: String, url: URL)] = []
var sendImageBodyUrlReturnValue: Result<Void, RoomProxyError>!
var sendImageBodyUrlClosure: ((String, URL) async -> Result<Void, RoomProxyError>)?
func sendImage(body: String, url: URL) async -> Result<Void, RoomProxyError> {
sendImageBodyUrlCallsCount += 1
sendImageBodyUrlReceivedArguments = (body: body, url: url)
sendImageBodyUrlReceivedInvocations.append((body: body, url: url))
if let sendImageBodyUrlClosure = sendImageBodyUrlClosure {
return await sendImageBodyUrlClosure(body, url)
} else {
return sendImageBodyUrlReturnValue
}
}
//MARK: - editMessage
var editMessageOriginalCallsCount = 0