Skip to content

Commit 6b301ac

Browse files
committed
Use org.matrix.rustcomponents.sdk.matrixToUserPermalink to build permalinks for user.
1 parent 294f1f2 commit 6b301ac

File tree

2 files changed

+6
-76
lines changed

2 files changed

+6
-76
lines changed

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/permalink/DefaultPermalinkBuilder.kt

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,45 +17,22 @@
1717
package io.element.android.libraries.matrix.impl.permalink
1818

1919
import com.squareup.anvil.annotations.ContributesBinding
20-
import io.element.android.appconfig.MatrixConfiguration
2120
import io.element.android.libraries.di.AppScope
2221
import io.element.android.libraries.matrix.api.core.MatrixPatterns
2322
import io.element.android.libraries.matrix.api.core.UserId
2423
import io.element.android.libraries.matrix.api.permalink.PermalinkBuilder
2524
import io.element.android.libraries.matrix.api.permalink.PermalinkBuilderError
25+
import org.matrix.rustcomponents.sdk.matrixToUserPermalink
2626
import javax.inject.Inject
2727

2828
@ContributesBinding(AppScope::class)
2929
class DefaultPermalinkBuilder @Inject constructor() : PermalinkBuilder {
30-
private val permalinkBaseUrl
31-
get() = (MatrixConfiguration.clientPermalinkBaseUrl ?: MatrixConfiguration.MATRIX_TO_PERMALINK_BASE_URL).also {
32-
var baseUrl = it
33-
if (!baseUrl.endsWith("/")) {
34-
baseUrl += "/"
35-
}
36-
if (!baseUrl.endsWith("/#/")) {
37-
baseUrl += "/#/"
38-
}
39-
}
40-
4130
override fun permalinkForUser(userId: UserId): Result<String> {
42-
return if (MatrixPatterns.isUserId(userId.value)) {
43-
val url = buildString {
44-
append(permalinkBaseUrl)
45-
if (!isMatrixTo()) {
46-
append(USER_PATH)
47-
}
48-
append(userId.value)
49-
}
50-
Result.success(url)
51-
} else {
52-
Result.failure(PermalinkBuilderError.InvalidUserId)
31+
if (!MatrixPatterns.isUserId(userId.value)) {
32+
return Result.failure(PermalinkBuilderError.InvalidUserId)
33+
}
34+
return runCatching {
35+
matrixToUserPermalink(userId.value)
5336
}
54-
}
55-
56-
private fun isMatrixTo(): Boolean = permalinkBaseUrl.startsWith(MatrixConfiguration.MATRIX_TO_PERMALINK_BASE_URL)
57-
58-
companion object {
59-
private const val USER_PATH = "user/"
6037
}
6138
}

libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/permalink/DefaultPermalinkBuilderTest.kt

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)