#106: Begin adding the Analytics class from EI.

No UI or SDK support to enable/disable yet and no tracking is implemented.
This commit is contained in:
Doug
2022-09-02 10:09:02 +01:00
committed by GitHub
parent 7c37d2f143
commit df68174a32
22 changed files with 919 additions and 28 deletions
@@ -26,6 +26,8 @@ enum ClientProxyCallback {
enum ClientProxyError: Error {
case failedRetrievingAvatarURL
case failedRetrievingDisplayName
case failedRetrievingAccountData
case failedSettingAccountData
case failedRetrievingSessionVerificationController
case failedLoadingMedia
}
@@ -41,6 +43,10 @@ protocol ClientProxyProtocol {
func loadUserAvatarURLString() async -> Result<String, ClientProxyError>
func accountDataEvent<Content: Decodable>(type: String) async -> Result<Content?, ClientProxyError>
func setAccountData<Content: Encodable>(content: Content, type: String) async -> Result<Void, ClientProxyError>
func mediaSourceForURLString(_ urlString: String) -> MatrixRustSDK.MediaSource
func loadMediaContentForSource(_ source: MatrixRustSDK.MediaSource) throws -> Data