Merge branch 'develop' into valere/rtc/voice_call
This commit is contained in:
commit
0e12f7f265
9 changed files with 20 additions and 17 deletions
|
|
@ -167,6 +167,6 @@ class LoggedInPresenter(
|
||||||
|
|
||||||
private fun CoroutineScope.preloadAccountManagementUrl() = launch {
|
private fun CoroutineScope.preloadAccountManagementUrl() = launch {
|
||||||
matrixClient.getAccountManagementUrl(AccountManagementAction.Profile)
|
matrixClient.getAccountManagementUrl(AccountManagementAction.Profile)
|
||||||
matrixClient.getAccountManagementUrl(AccountManagementAction.SessionsList)
|
matrixClient.getAccountManagementUrl(AccountManagementAction.DevicesList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ class LoggedInPresenterTest {
|
||||||
accountManagementUrlResult.assertions().isCalledExactly(2)
|
accountManagementUrlResult.assertions().isCalledExactly(2)
|
||||||
.withSequence(
|
.withSequence(
|
||||||
listOf(value(AccountManagementAction.Profile)),
|
listOf(value(AccountManagementAction.Profile)),
|
||||||
listOf(value(AccountManagementAction.SessionsList)),
|
listOf(value(AccountManagementAction.DevicesList)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -165,6 +165,6 @@ class PreferencesRootPresenter(
|
||||||
devicesManagementUrl: MutableState<String?>,
|
devicesManagementUrl: MutableState<String?>,
|
||||||
) = launch {
|
) = launch {
|
||||||
accountManagementUrl.value = matrixClient.getAccountManagementUrl(AccountManagementAction.Profile).getOrNull()
|
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)
|
accountManagementUrlResult.assertions().isCalledExactly(2)
|
||||||
.withSequence(
|
.withSequence(
|
||||||
listOf(value(AccountManagementAction.Profile)),
|
listOf(value(AccountManagementAction.Profile)),
|
||||||
listOf(value(AccountManagementAction.SessionsList)),
|
listOf(value(AccountManagementAction.DevicesList)),
|
||||||
)
|
)
|
||||||
assertThat(finalState.accountManagementUrl).isEqualTo("Profile url")
|
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
|
# 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
|
# 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.
|
# 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
|
# Others
|
||||||
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
|
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" }
|
sqldelight-coroutines = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqldelight" }
|
||||||
sqlcipher = "net.zetetic:sqlcipher-android:4.13.0"
|
sqlcipher = "net.zetetic:sqlcipher-android:4.13.0"
|
||||||
sqlite = "androidx.sqlite:sqlite-ktx:2.6.2"
|
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"
|
vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0"
|
||||||
telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" }
|
telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" }
|
||||||
telephoto_flick = { module = "me.saket.telephoto:flick-android", 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
|
# Note: used in DependencyInjectionExtensions.kt
|
||||||
metro = { id = "dev.zacsweers.metro", version.ref = "metro" }
|
metro = { id = "dev.zacsweers.metro", version.ref = "metro" }
|
||||||
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
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"
|
dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12"
|
||||||
dependencycheck = "org.owasp.dependencycheck:12.2.0"
|
dependencycheck = "org.owasp.dependencycheck:12.2.0"
|
||||||
dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyAnalysis" }
|
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 {
|
sealed interface AccountManagementAction {
|
||||||
data object Profile : AccountManagementAction
|
data object Profile : AccountManagementAction
|
||||||
data object SessionsList : AccountManagementAction
|
data object DevicesList : AccountManagementAction
|
||||||
data class SessionView(val deviceId: DeviceId) : AccountManagementAction
|
data class DeviceView(val deviceId: DeviceId) : AccountManagementAction
|
||||||
data class SessionEnd(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 {
|
fun AccountManagementAction.toRustAction(): RustAccountManagementAction {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
AccountManagementAction.Profile -> RustAccountManagementAction.Profile
|
AccountManagementAction.Profile -> RustAccountManagementAction.Profile
|
||||||
is AccountManagementAction.SessionEnd -> RustAccountManagementAction.DeviceDelete(deviceId.value)
|
is AccountManagementAction.DeviceDelete -> RustAccountManagementAction.DeviceDelete(deviceId.value)
|
||||||
is AccountManagementAction.SessionView -> RustAccountManagementAction.DeviceView(deviceId.value)
|
is AccountManagementAction.DeviceView -> RustAccountManagementAction.DeviceView(deviceId.value)
|
||||||
AccountManagementAction.SessionsList -> RustAccountManagementAction.DevicesList
|
AccountManagementAction.DevicesList -> RustAccountManagementAction.DevicesList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,11 @@ class AccountManagementActionKtTest {
|
||||||
fun `test AccountManagementAction to RustAccountManagementAction`() {
|
fun `test AccountManagementAction to RustAccountManagementAction`() {
|
||||||
assertThat(AccountManagementAction.Profile.toRustAction())
|
assertThat(AccountManagementAction.Profile.toRustAction())
|
||||||
.isEqualTo(RustAccountManagementAction.Profile)
|
.isEqualTo(RustAccountManagementAction.Profile)
|
||||||
assertThat(AccountManagementAction.SessionEnd(A_DEVICE_ID).toRustAction())
|
assertThat(AccountManagementAction.DeviceDelete(A_DEVICE_ID).toRustAction())
|
||||||
.isEqualTo(RustAccountManagementAction.DeviceDelete(A_DEVICE_ID.value))
|
.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))
|
.isEqualTo(RustAccountManagementAction.DeviceView(A_DEVICE_ID.value))
|
||||||
assertThat(AccountManagementAction.SessionsList.toRustAction())
|
assertThat(AccountManagementAction.DevicesList.toRustAction())
|
||||||
.isEqualTo(RustAccountManagementAction.DevicesList)
|
.isEqualTo(RustAccountManagementAction.DevicesList)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,9 @@ fun MarkdownTextInput(
|
||||||
}
|
}
|
||||||
addTextChangedListener { editable ->
|
addTextChangedListener { editable ->
|
||||||
onTyping(!editable.isNullOrEmpty())
|
onTyping(!editable.isNullOrEmpty())
|
||||||
|
if (state.lineCount != lineCount) {
|
||||||
|
post { bringPointIntoView(selectionStart) }
|
||||||
|
}
|
||||||
state.text.update(editable, false)
|
state.text.update(editable, false)
|
||||||
state.lineCount = lineCount
|
state.lineCount = lineCount
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue