Merge branch 'develop' into valere/rtc/voice_call
This commit is contained in:
@@ -167,6 +167,6 @@ class LoggedInPresenter(
|
||||
|
||||
private fun CoroutineScope.preloadAccountManagementUrl() = launch {
|
||||
matrixClient.getAccountManagementUrl(AccountManagementAction.Profile)
|
||||
matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList)
|
||||
matrixClient.getAccountManagementUrl(AccountManagementAction.DevicesList)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class LoggedInPresenterTest {
|
||||
accountManagementUrlResult.assertions().isCalledExactly(2)
|
||||
.withSequence(
|
||||
listOf(value(AccountManagementAction.Profile)),
|
||||
listOf(value(AccountManagementAction.SessionsList)),
|
||||
listOf(value(AccountManagementAction.DevicesList)),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,6 @@ class PreferencesRootPresenter(
|
||||
devicesManagementUrl: MutableState<String?>,
|
||||
) = launch {
|
||||
accountManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.Profile).getOrNull()
|
||||
devicesManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList).getOrNull()
|
||||
devicesManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.DevicesList).getOrNull()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,10 +98,10 @@ class PreferencesRootPresenterTest {
|
||||
accountManagementUrlResult.assertions().isCalledExactly(2)
|
||||
.withSequence(
|
||||
listOf(value(AccountManagementAction.Profile)),
|
||||
listOf(value(AccountManagementAction.SessionsList)),
|
||||
listOf(value(AccountManagementAction.DevicesList)),
|
||||
)
|
||||
assertThat(finalState.accountManagementUrl).isEqualTo("Profile url")
|
||||
assertThat(finalState.devicesManagementUrl).isEqualTo("SessionsList url")
|
||||
assertThat(finalState.devicesManagementUrl).isEqualTo("DevicesList url")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version
|
||||
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
||||
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
||||
# only fix API breaks and may add some TODOs.
|
||||
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.4"
|
||||
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.05"
|
||||
|
||||
# Others
|
||||
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
|
||||
@@ -202,7 +202,7 @@ sqldelight-driver-jvm = { module = "app.cash.sqldelight:sqlite-driver", version.
|
||||
sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
|
||||
sqlcipher = "net.zetetic:sqlcipher-android:4.13.0"
|
||||
sqlite = "androidx.sqlite:sqlite-ktx:2.6.2"
|
||||
unifiedpush = "org.unifiedpush.android:connector:3.3.1"
|
||||
unifiedpush = "org.unifiedpush.android:connector:3.3.2"
|
||||
vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0"
|
||||
telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" }
|
||||
telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = "telephoto" }
|
||||
@@ -258,7 +258,7 @@ ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
# Note: used in DependencyInjectionExtensions.kt
|
||||
metro = { id = "dev.zacsweers.metro", version.ref = "metro" }
|
||||
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
||||
ktlint = "org.jlleitschuh.gradle.ktlint:14.0.1"
|
||||
ktlint = "org.jlleitschuh.gradle.ktlint:14.1.0"
|
||||
dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12"
|
||||
dependencycheck = "org.owasp.dependencycheck:12.2.0"
|
||||
dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
|
||||
|
||||
@@ -12,7 +12,7 @@ import io.element.android.libraries.matrix.api.core.DeviceId
|
||||
|
||||
sealed interface AccountManagementAction {
|
||||
data object Profile : AccountManagementAction
|
||||
data object SessionsList : AccountManagementAction
|
||||
data class SessionView(val deviceId: DeviceId) : AccountManagementAction
|
||||
data class SessionEnd(val deviceId: DeviceId) : AccountManagementAction
|
||||
data object DevicesList : AccountManagementAction
|
||||
data class DeviceView(val deviceId: DeviceId) : AccountManagementAction
|
||||
data class DeviceDelete(val deviceId: DeviceId) : AccountManagementAction
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import org.matrix.rustcomponents.sdk.AccountManagementAction as RustAccountManag
|
||||
fun AccountManagementAction.toRustAction(): RustAccountManagementAction {
|
||||
return when (this) {
|
||||
AccountManagementAction.Profile -> RustAccountManagementAction.Profile
|
||||
is AccountManagementAction.SessionEnd -> RustAccountManagementAction.DeviceDelete(deviceId.value)
|
||||
is AccountManagementAction.SessionView -> RustAccountManagementAction.DeviceView(deviceId.value)
|
||||
AccountManagementAction.SessionsList -> RustAccountManagementAction.DevicesList
|
||||
is AccountManagementAction.DeviceDelete -> RustAccountManagementAction.DeviceDelete(deviceId.value)
|
||||
is AccountManagementAction.DeviceView -> RustAccountManagementAction.DeviceView(deviceId.value)
|
||||
AccountManagementAction.DevicesList -> RustAccountManagementAction.DevicesList
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ class AccountManagementActionKtTest {
|
||||
fun `test AccountManagementAction to RustAccountManagementAction`() {
|
||||
assertThat(AccountManagementAction.Profile.toRustAction())
|
||||
.isEqualTo(RustAccountManagementAction.Profile)
|
||||
assertThat(AccountManagementAction.SessionEnd(A_DEVICE_ID).toRustAction())
|
||||
assertThat(AccountManagementAction.DeviceDelete(A_DEVICE_ID).toRustAction())
|
||||
.isEqualTo(RustAccountManagementAction.DeviceDelete(A_DEVICE_ID.value))
|
||||
assertThat(AccountManagementAction.SessionView(A_DEVICE_ID).toRustAction())
|
||||
assertThat(AccountManagementAction.DeviceView(A_DEVICE_ID).toRustAction())
|
||||
.isEqualTo(RustAccountManagementAction.DeviceView(A_DEVICE_ID.value))
|
||||
assertThat(AccountManagementAction.SessionsList.toRustAction())
|
||||
assertThat(AccountManagementAction.DevicesList.toRustAction())
|
||||
.isEqualTo(RustAccountManagementAction.DevicesList)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,6 +103,9 @@ fun MarkdownTextInput(
|
||||
}
|
||||
addTextChangedListener { editable ->
|
||||
onTyping(!editable.isNullOrEmpty())
|
||||
if (state.lineCount != lineCount) {
|
||||
post { bringPointIntoView(selectionStart) }
|
||||
}
|
||||
state.text.update(editable, false)
|
||||
state.lineCount = lineCount
|
||||
|
||||
|
||||
Reference in New Issue
Block a user