diff --git a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt index c30464ab77..0637d6d545 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/VectorSettingsSecurityPrivacyFragment.kt @@ -426,6 +426,15 @@ class VectorSettingsSecurityPrivacyFragment @Inject constructor( // ============================================================================================================== private fun refreshMyDevice() { + session.getUserDevices(session.myUserId).map { + DeviceInfo( + user_id = session.myUserId, + deviceId = it.deviceId, + displayName = it.displayName() + ) + }.let { + refreshCryptographyPreference(it) + } // TODO Move to a ViewModel... session.getDevicesList(object : MatrixCallback { override fun onSuccess(data: DevicesListResponse) { diff --git a/vector/src/main/java/im/vector/riotx/features/settings/devices/DevicesViewModel.kt b/vector/src/main/java/im/vector/riotx/features/settings/devices/DevicesViewModel.kt index 9f47bdf8f0..419b6a5492 100644 --- a/vector/src/main/java/im/vector/riotx/features/settings/devices/DevicesViewModel.kt +++ b/vector/src/main/java/im/vector/riotx/features/settings/devices/DevicesViewModel.kt @@ -115,11 +115,20 @@ class DevicesViewModel @AssistedInject constructor(@Assisted initialState: Devic * It can be any mobile devices, and any browsers. */ private fun refreshDevicesList() { - if (session.isCryptoEnabled() && !session.sessionParams.credentials.deviceId.isNullOrEmpty()) { + if (!session.sessionParams.credentials.deviceId.isNullOrEmpty()) { + // display something asap + val localKnown = session.getUserDevices(session.myUserId).map { + DeviceInfo( + user_id = session.myUserId, + deviceId = it.deviceId, + displayName = it.displayName() + ) + } + setState { copy( // Keep known list if we have it, and let refresh go in backgroung - devices = this.devices.takeIf { it is Success } ?: Loading() + devices = this.devices.takeIf { it is Success } ?: Success(localKnown) ) }