mirror of
https://github.com/element-hq/element-android
synced 2024-10-26 20:57:20 +03:00
Merge pull request #1252 from vector-im/feature/fix_device_detection_debounce
Avoid unnecessary /device call
This commit is contained in:
commit
b612a7e63c
2 changed files with 4 additions and 3 deletions
|
@ -412,7 +412,7 @@ internal class DefaultCryptoService @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo> {
|
override fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo> {
|
||||||
return cryptoStore.getUserDevices(userId)?.map { it.value } ?: emptyList()
|
return cryptoStore.getUserDevices(userId)?.map { it.value }?.sortedBy { it.deviceId } ?: emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>> {
|
override fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>> {
|
||||||
|
|
|
@ -33,7 +33,7 @@ import im.vector.riotx.core.di.HasScreenInjector
|
||||||
import im.vector.riotx.core.platform.EmptyAction
|
import im.vector.riotx.core.platform.EmptyAction
|
||||||
import im.vector.riotx.core.platform.EmptyViewEvents
|
import im.vector.riotx.core.platform.EmptyViewEvents
|
||||||
import im.vector.riotx.core.platform.VectorViewModel
|
import im.vector.riotx.core.platform.VectorViewModel
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
data class UnknownDevicesState(
|
data class UnknownDevicesState(
|
||||||
val unknownSessions: Async<List<Pair<MatrixItem?, DeviceInfo>>> = Uninitialized,
|
val unknownSessions: Async<List<Pair<MatrixItem?, DeviceInfo>>> = Uninitialized,
|
||||||
|
@ -45,7 +45,8 @@ class UnknownDeviceDetectorSharedViewModel(session: Session, initialState: Unkno
|
||||||
|
|
||||||
init {
|
init {
|
||||||
session.rx().liveUserCryptoDevices(session.myUserId)
|
session.rx().liveUserCryptoDevices(session.myUserId)
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.debounce(600, TimeUnit.MILLISECONDS)
|
||||||
|
.distinct()
|
||||||
.switchMap { deviceList ->
|
.switchMap { deviceList ->
|
||||||
// Timber.v("## Detector - ============================")
|
// Timber.v("## Detector - ============================")
|
||||||
// Timber.v("## Detector - Crypto device update ${deviceList.map { "${it.deviceId} : ${it.isVerified}" }}")
|
// Timber.v("## Detector - Crypto device update ${deviceList.map { "${it.deviceId} : ${it.isVerified}" }}")
|
||||||
|
|
Loading…
Reference in a new issue