Add setting entry point to manage account (OIDC)

This commit is contained in:
Benoit Marty 2023-08-23 12:54:22 +02:00
parent 06a9b129d0
commit 79aa128377
11 changed files with 57 additions and 1 deletions

View file

@ -63,6 +63,7 @@ interface MatrixClient : Closeable {
suspend fun logout(): String?
suspend fun loadUserDisplayName(): Result<String>
suspend fun loadUserAvatarURLString(): Result<String?>
suspend fun getAccountManagementUrl(): Result<String?>
suspend fun uploadMedia(mimeType: String, data: ByteArray, progressCallback: ProgressCallback?): Result<String>
fun roomMembershipObserver(): RoomMembershipObserver

View file

@ -311,6 +311,11 @@ class RustMatrixClient constructor(
return result
}
override suspend fun getAccountManagementUrl(): Result<String?> = withContext(sessionDispatcher) {
runCatching {
client.accountUrl()
}
}
override suspend fun loadUserDisplayName(): Result<String> = withContext(sessionDispatcher) {
runCatching {
client.displayName()

View file

@ -51,6 +51,7 @@ class FakeMatrixClient(
private val pushersService: FakePushersService = FakePushersService(),
private val notificationService: FakeNotificationService = FakeNotificationService(),
private val syncService: FakeSyncService = FakeSyncService(),
private val accountManagementUrlString: Result<String?> = Result.success(null),
) : MatrixClient {
private var ignoreUserResult: Result<Unit> = Result.success(Unit)
@ -125,6 +126,9 @@ class FakeMatrixClient(
return userAvatarURLString
}
override suspend fun getAccountManagementUrl(): Result<String?> {
return accountManagementUrlString
}
override suspend fun uploadMedia(
mimeType: String,
data: ByteArray,