#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
@@ -74,7 +74,7 @@ class ClientProxy: ClientProxyProtocol {
}
func loadUserDisplayName() async -> Result<String, ClientProxyError> {
await Task.detached { () -> Result<String, ClientProxyError> in
await Task.detached {
do {
let displayName = try self.client.displayName()
return .success(displayName)
@@ -86,7 +86,7 @@ class ClientProxy: ClientProxyProtocol {
}
func loadUserAvatarURLString() async -> Result<String, ClientProxyError> {
await Task.detached { () -> Result<String, ClientProxyError> in
await Task.detached {
do {
let avatarURL = try self.client.avatarUrl()
return .success(avatarURL)
@@ -97,6 +97,14 @@ class ClientProxy: ClientProxyProtocol {
.value
}
func accountDataEvent<Content>(type: String) async -> Result<Content?, ClientProxyError> where Content: Decodable {
.failure(.failedRetrievingAccountData)
}
func setAccountData<Content: Encodable>(content: Content, type: String) async -> Result<Void, ClientProxyError> {
.failure(.failedSettingAccountData)
}
func mediaSourceForURLString(_ urlString: String) -> MatrixRustSDK.MediaSource {
MatrixRustSDK.mediaSourceFromUrl(url: urlString)
}