mirror of
https://github.com/element-hq/element-android
synced 2024-11-24 02:15:35 +03:00
Fix some code quality
This commit is contained in:
parent
b4bc56ff5c
commit
677c879979
22 changed files with 29 additions and 41 deletions
|
@ -304,7 +304,7 @@ class CryptoTestHelper(private val testHelper: CommonTestHelper) {
|
||||||
aliceVerificationService.beginKeyVerification(
|
aliceVerificationService.beginKeyVerification(
|
||||||
VerificationMethod.SAS,
|
VerificationMethod.SAS,
|
||||||
roomId,
|
roomId,
|
||||||
bob.myUserId, )
|
bob.myUserId,)
|
||||||
}
|
}
|
||||||
|
|
||||||
// we should reach SHOW SAS on both
|
// we should reach SHOW SAS on both
|
||||||
|
|
|
@ -149,7 +149,7 @@ class UnwedgingTest : InstrumentedTest {
|
||||||
}
|
}
|
||||||
val sessionIdsForBob = aliceCryptoStore.getDeviceSessionIds(myDevice.identityKey()!!)
|
val sessionIdsForBob = aliceCryptoStore.getDeviceSessionIds(myDevice.identityKey()!!)
|
||||||
sessionIdsForBob!!.size shouldBe 1
|
sessionIdsForBob!!.size shouldBe 1
|
||||||
val olmSession = aliceCryptoStore.getDeviceSession(sessionIdsForBob.first(),myDevice.identityKey()!!)!!
|
val olmSession = aliceCryptoStore.getDeviceSession(sessionIdsForBob.first(), myDevice.identityKey()!!)!!
|
||||||
|
|
||||||
val oldSession = serializeForRealm(olmSession.olmSession)
|
val oldSession = serializeForRealm(olmSession.olmSession)
|
||||||
|
|
||||||
|
|
|
@ -297,8 +297,7 @@ class KeyShareTests : InstrumentedTest {
|
||||||
|
|
||||||
// SSK and USK private keys should have been shared
|
// SSK and USK private keys should have been shared
|
||||||
|
|
||||||
commonTestHelper.waitWithLatch(60_000)
|
commonTestHelper.waitWithLatch(60_000) { latch ->
|
||||||
{ latch ->
|
|
||||||
commonTestHelper.retryPeriodicallyWithLatch(latch) {
|
commonTestHelper.retryPeriodicallyWithLatch(latch) {
|
||||||
Log.d("#TEST", "CAN XS :${aliceSession2.cryptoService().crossSigningService().getMyCrossSigningKeys()}")
|
Log.d("#TEST", "CAN XS :${aliceSession2.cryptoService().crossSigningService().getMyCrossSigningKeys()}")
|
||||||
aliceSession2.cryptoService().crossSigningService().canCrossSign()
|
aliceSession2.cryptoService().crossSigningService().canCrossSign()
|
||||||
|
@ -306,8 +305,7 @@ class KeyShareTests : InstrumentedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test that key backup key has been shared to
|
// Test that key backup key has been shared to
|
||||||
commonTestHelper.waitWithLatch(60_000)
|
commonTestHelper.waitWithLatch(60_000) { latch ->
|
||||||
{ latch ->
|
|
||||||
val keysBackupService = aliceSession2.cryptoService().keysBackupService()
|
val keysBackupService = aliceSession2.cryptoService().keysBackupService()
|
||||||
commonTestHelper.retryPeriodicallyWithLatch(latch) {
|
commonTestHelper.retryPeriodicallyWithLatch(latch) {
|
||||||
Log.d("#TEST", "Recovery :${keysBackupService.getKeyBackupRecoveryKeyInfo()?.recoveryKey}")
|
Log.d("#TEST", "Recovery :${keysBackupService.getKeyBackupRecoveryKeyInfo()?.recoveryKey}")
|
||||||
|
|
|
@ -97,7 +97,6 @@ class SASTest : InstrumentedTest {
|
||||||
assertTrue(aliceKeyTx is SasVerificationTransaction)
|
assertTrue(aliceKeyTx is SasVerificationTransaction)
|
||||||
assertEquals("Alice and Bob have same transaction id", aliceKeyTx!!.transactionId, bobKeyTx!!.transactionId)
|
assertEquals("Alice and Bob have same transaction id", aliceKeyTx!!.transactionId, bobKeyTx!!.transactionId)
|
||||||
|
|
||||||
|
|
||||||
assertEquals("Alice state should be started", VerificationTxState.OnStarted, aliceKeyTx.state)
|
assertEquals("Alice state should be started", VerificationTxState.OnStarted, aliceKeyTx.state)
|
||||||
assertEquals("Bob state should be started by alice", VerificationTxState.OnStarted, bobKeyTx.state)
|
assertEquals("Bob state should be started by alice", VerificationTxState.OnStarted, bobKeyTx.state)
|
||||||
|
|
||||||
|
@ -407,7 +406,7 @@ class SASTest : InstrumentedTest {
|
||||||
bobSession.cryptoService().getMyCryptoDevice().deviceId
|
bobSession.cryptoService().getMyCryptoDevice().deviceId
|
||||||
}
|
}
|
||||||
testHelper.runBlockingTest {
|
testHelper.runBlockingTest {
|
||||||
//aliceVerificationService.beginKeyVerification(VerificationMethod.SAS, bobUserId, bobDeviceId, null)
|
// aliceVerificationService.beginKeyVerification(VerificationMethod.SAS, bobUserId, bobDeviceId, null)
|
||||||
}
|
}
|
||||||
testHelper.await(aliceAcceptedLatch)
|
testHelper.await(aliceAcceptedLatch)
|
||||||
|
|
||||||
|
@ -431,7 +430,6 @@ class SASTest : InstrumentedTest {
|
||||||
Timber.v("Alice transactionUpdated: ${tx.state}")
|
Timber.v("Alice transactionUpdated: ${tx.state}")
|
||||||
latch.countDown()
|
latch.countDown()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
aliceSession.cryptoService().verificationService().addListener(aliceListener)
|
aliceSession.cryptoService().verificationService().addListener(aliceListener)
|
||||||
val bobListener = object : VerificationService.Listener {
|
val bobListener = object : VerificationService.Listener {
|
||||||
|
@ -620,7 +618,6 @@ class SASTest : InstrumentedTest {
|
||||||
otherUserId = aliceSession.myUserId,
|
otherUserId = aliceSession.myUserId,
|
||||||
roomId = cryptoTestData.roomId
|
roomId = cryptoTestData.roomId
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// we should reach SHOW SAS on both
|
// we should reach SHOW SAS on both
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 New Vector Ltd
|
* Copyright (c) 2022 The Matrix.org Foundation C.I.C.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -25,7 +25,7 @@ import org.matrix.android.sdk.common.CryptoTestHelper
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.util.concurrent.CountDownLatch
|
import java.util.concurrent.CountDownLatch
|
||||||
|
|
||||||
class SasVerificationTestHelper (private val testHelper: CommonTestHelper, private val cryptoTestHelper: CryptoTestHelper){
|
class SasVerificationTestHelper(private val testHelper: CommonTestHelper, private val cryptoTestHelper: CryptoTestHelper) {
|
||||||
fun requestVerificationAndWaitForReadyState(cryptoTestData: CryptoTestData, supportedMethods: List<VerificationMethod>): String {
|
fun requestVerificationAndWaitForReadyState(cryptoTestData: CryptoTestData, supportedMethods: List<VerificationMethod>): String {
|
||||||
val aliceSession = cryptoTestData.firstSession
|
val aliceSession = cryptoTestData.firstSession
|
||||||
val bobSession = cryptoTestData.secondSession!!
|
val bobSession = cryptoTestData.secondSession!!
|
||||||
|
@ -84,5 +84,3 @@ class SasVerificationTestHelper (private val testHelper: CommonTestHelper, priva
|
||||||
return bobReadyPendingVerificationRequest?.transactionId!!
|
return bobReadyPendingVerificationRequest?.transactionId!!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 New Vector Ltd
|
* Copyright (c) 2022 The Matrix.org Foundation C.I.C.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -20,7 +20,6 @@ import android.content.Context
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.paging.PagedList
|
import androidx.paging.PagedList
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import org.matrix.android.sdk.api.MatrixCallback
|
|
||||||
import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
|
import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
|
||||||
import org.matrix.android.sdk.api.listeners.ProgressListener
|
import org.matrix.android.sdk.api.listeners.ProgressListener
|
||||||
import org.matrix.android.sdk.api.session.crypto.crosssigning.CrossSigningService
|
import org.matrix.android.sdk.api.session.crypto.crosssigning.CrossSigningService
|
||||||
|
@ -33,14 +32,12 @@ import org.matrix.android.sdk.internal.crypto.IncomingRoomKeyRequest
|
||||||
import org.matrix.android.sdk.internal.crypto.MXEventDecryptionResult
|
import org.matrix.android.sdk.internal.crypto.MXEventDecryptionResult
|
||||||
import org.matrix.android.sdk.internal.crypto.NewSessionListener
|
import org.matrix.android.sdk.internal.crypto.NewSessionListener
|
||||||
import org.matrix.android.sdk.internal.crypto.OutgoingRoomKeyRequest
|
import org.matrix.android.sdk.internal.crypto.OutgoingRoomKeyRequest
|
||||||
import org.matrix.android.sdk.internal.crypto.crosssigning.DeviceTrustLevel
|
|
||||||
import org.matrix.android.sdk.internal.crypto.model.CryptoDeviceInfo
|
import org.matrix.android.sdk.internal.crypto.model.CryptoDeviceInfo
|
||||||
import org.matrix.android.sdk.internal.crypto.model.ImportRoomKeysResult
|
import org.matrix.android.sdk.internal.crypto.model.ImportRoomKeysResult
|
||||||
import org.matrix.android.sdk.internal.crypto.model.MXEncryptEventContentResult
|
import org.matrix.android.sdk.internal.crypto.model.MXEncryptEventContentResult
|
||||||
import org.matrix.android.sdk.internal.crypto.model.MXUsersDevicesMap
|
import org.matrix.android.sdk.internal.crypto.model.MXUsersDevicesMap
|
||||||
import org.matrix.android.sdk.internal.crypto.model.event.RoomKeyWithHeldContent
|
import org.matrix.android.sdk.internal.crypto.model.event.RoomKeyWithHeldContent
|
||||||
import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo
|
import org.matrix.android.sdk.internal.crypto.model.rest.DeviceInfo
|
||||||
import org.matrix.android.sdk.internal.crypto.model.rest.DevicesListResponse
|
|
||||||
|
|
||||||
interface CryptoService {
|
interface CryptoService {
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
package org.matrix.android.sdk.api.session.crypto.verification
|
package org.matrix.android.sdk.api.session.crypto.verification
|
||||||
|
|
||||||
import org.matrix.android.sdk.api.session.events.model.Event
|
|
||||||
import org.matrix.android.sdk.api.session.events.model.LocalEcho
|
import org.matrix.android.sdk.api.session.events.model.LocalEcho
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -120,5 +119,4 @@ interface VerificationService {
|
||||||
return age in tooInThePast..tooInTheFuture
|
return age in tooInThePast..tooInTheFuture
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 New Vector Ltd
|
* Copyright (c) 2022 The Matrix.org Foundation C.I.C.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -34,7 +34,7 @@ import kotlinx.coroutines.channels.ProducerScope
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
fun <T> ProducerScope<T>.safeInvokeOnClose(handler: (cause: Throwable?) -> Unit): CompletableDeferred<Unit> {
|
internal fun <T> ProducerScope<T>.safeInvokeOnClose(handler: (cause: Throwable?) -> Unit): CompletableDeferred<Unit> {
|
||||||
val onClose = CompletableDeferred<Unit>()
|
val onClose = CompletableDeferred<Unit>()
|
||||||
invokeOnClose {
|
invokeOnClose {
|
||||||
handler(it)
|
handler(it)
|
||||||
|
|
|
@ -146,7 +146,12 @@ internal class DefaultCryptoService @Inject constructor(
|
||||||
|
|
||||||
// Locks for some of our operations
|
// Locks for some of our operations
|
||||||
private val keyClaimLock: Mutex = Mutex()
|
private val keyClaimLock: Mutex = Mutex()
|
||||||
private val outgoingRequestsProcessor = OutgoingRequestsProcessor(requestSender, cryptoCoroutineScope, cryptoSessionInfoProvider, crossSigningService::shieldForGroup)
|
private val outgoingRequestsProcessor = OutgoingRequestsProcessor(
|
||||||
|
requestSender = requestSender,
|
||||||
|
coroutineScope = cryptoCoroutineScope,
|
||||||
|
cryptoSessionInfoProvider = cryptoSessionInfoProvider,
|
||||||
|
shieldComputer = crossSigningService::shieldForGroup
|
||||||
|
)
|
||||||
private val roomKeyShareLocks: ConcurrentHashMap<String, Mutex> = ConcurrentHashMap()
|
private val roomKeyShareLocks: ConcurrentHashMap<String, Mutex> = ConcurrentHashMap()
|
||||||
|
|
||||||
fun onStateEvent(roomId: String, event: Event) {
|
fun onStateEvent(roomId: String, event: Event) {
|
||||||
|
|
|
@ -83,8 +83,10 @@ private class CryptoProgressListener(private val listener: ProgressListener?) :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private data class UserIdentityCollector(val userId: String, val collector: SendChannel<Optional<MXCrossSigningInfo>>) : SendChannel<Optional<MXCrossSigningInfo>> by collector
|
private data class UserIdentityCollector(val userId: String, val collector: SendChannel<Optional<MXCrossSigningInfo>>)
|
||||||
private data class DevicesCollector(val userIds: List<String>, val collector: SendChannel<List<CryptoDeviceInfo>>) : SendChannel<List<CryptoDeviceInfo>> by collector
|
: SendChannel<Optional<MXCrossSigningInfo>> by collector
|
||||||
|
private data class DevicesCollector(val userIds: List<String>, val collector: SendChannel<List<CryptoDeviceInfo>>)
|
||||||
|
: SendChannel<List<CryptoDeviceInfo>> by collector
|
||||||
private typealias PrivateKeysCollector = SendChannel<Optional<PrivateKeysInfo>>
|
private typealias PrivateKeysCollector = SendChannel<Optional<PrivateKeysInfo>>
|
||||||
|
|
||||||
private class FlowCollectors {
|
private class FlowCollectors {
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
package org.matrix.android.sdk.internal.crypto
|
package org.matrix.android.sdk.internal.crypto
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import org.matrix.android.sdk.api.MatrixCallback
|
|
||||||
import org.matrix.android.sdk.api.NoOpMatrixCallback
|
|
||||||
import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
|
import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
|
||||||
import org.matrix.android.sdk.api.crypto.RoomEncryptionTrustLevel
|
import org.matrix.android.sdk.api.crypto.RoomEncryptionTrustLevel
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
|
@ -44,7 +42,7 @@ internal class RustCrossSigningService @Inject constructor(
|
||||||
* Is our own device signed by our own cross signing identity
|
* Is our own device signed by our own cross signing identity
|
||||||
*/
|
*/
|
||||||
override suspend fun isCrossSigningVerified(): Boolean {
|
override suspend fun isCrossSigningVerified(): Boolean {
|
||||||
return when (val identity = olmMachine.getIdentity(olmMachine.userId()) ) {
|
return when (val identity = olmMachine.getIdentity(olmMachine.userId())) {
|
||||||
is OwnUserIdentity -> identity.trustsOurOwnDevice()
|
is OwnUserIdentity -> identity.trustsOurOwnDevice()
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,7 +210,6 @@ internal class SasVerification(
|
||||||
}
|
}
|
||||||
dispatchTxUpdated()
|
dispatchTxUpdated()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun cancelHelper(code: CancelCode) {
|
private suspend fun cancelHelper(code: CancelCode) {
|
||||||
|
|
|
@ -40,7 +40,6 @@ import org.matrix.android.sdk.internal.crypto.MXCRYPTO_ALGORITHM_MEGOLM_BACKUP
|
||||||
import org.matrix.android.sdk.internal.crypto.MegolmSessionData
|
import org.matrix.android.sdk.internal.crypto.MegolmSessionData
|
||||||
import org.matrix.android.sdk.internal.crypto.MegolmSessionImportManager
|
import org.matrix.android.sdk.internal.crypto.MegolmSessionImportManager
|
||||||
import org.matrix.android.sdk.internal.crypto.OlmMachineProvider
|
import org.matrix.android.sdk.internal.crypto.OlmMachineProvider
|
||||||
import org.matrix.android.sdk.internal.crypto.network.RequestSender
|
|
||||||
import org.matrix.android.sdk.internal.crypto.keysbackup.model.KeysBackupVersionTrust
|
import org.matrix.android.sdk.internal.crypto.keysbackup.model.KeysBackupVersionTrust
|
||||||
import org.matrix.android.sdk.internal.crypto.keysbackup.model.MegolmBackupAuthData
|
import org.matrix.android.sdk.internal.crypto.keysbackup.model.MegolmBackupAuthData
|
||||||
import org.matrix.android.sdk.internal.crypto.keysbackup.model.MegolmBackupCreationInfo
|
import org.matrix.android.sdk.internal.crypto.keysbackup.model.MegolmBackupCreationInfo
|
||||||
|
@ -52,6 +51,7 @@ import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.KeysVersion
|
||||||
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.KeysVersionResult
|
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.KeysVersionResult
|
||||||
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.UpdateKeysBackupVersionBody
|
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.UpdateKeysBackupVersionBody
|
||||||
import org.matrix.android.sdk.internal.crypto.model.ImportRoomKeysResult
|
import org.matrix.android.sdk.internal.crypto.model.ImportRoomKeysResult
|
||||||
|
import org.matrix.android.sdk.internal.crypto.network.RequestSender
|
||||||
import org.matrix.android.sdk.internal.crypto.store.SavedKeyBackupKeyInfo
|
import org.matrix.android.sdk.internal.crypto.store.SavedKeyBackupKeyInfo
|
||||||
import org.matrix.android.sdk.internal.di.MoshiProvider
|
import org.matrix.android.sdk.internal.di.MoshiProvider
|
||||||
import org.matrix.android.sdk.internal.session.SessionScope
|
import org.matrix.android.sdk.internal.session.SessionScope
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 New Vector Ltd
|
* Copyright (c) 2022 The Matrix.org Foundation C.I.C.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 New Vector Ltd
|
* Copyright (c) 2022 The Matrix.org Foundation C.I.C.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
|
|
@ -51,7 +51,6 @@ import org.matrix.android.sdk.api.session.crypto.verification.VerificationMethod
|
||||||
import org.matrix.android.sdk.api.session.crypto.verification.VerificationService
|
import org.matrix.android.sdk.api.session.crypto.verification.VerificationService
|
||||||
import org.matrix.android.sdk.api.session.crypto.verification.VerificationTransaction
|
import org.matrix.android.sdk.api.session.crypto.verification.VerificationTransaction
|
||||||
import org.matrix.android.sdk.api.session.crypto.verification.VerificationTxState
|
import org.matrix.android.sdk.api.session.crypto.verification.VerificationTxState
|
||||||
import org.matrix.android.sdk.common.CommonTestHelper
|
|
||||||
import kotlin.coroutines.Continuation
|
import kotlin.coroutines.Continuation
|
||||||
import kotlin.coroutines.resume
|
import kotlin.coroutines.resume
|
||||||
|
|
||||||
|
|
|
@ -29,5 +29,3 @@ data class KeysBackupSettingViewState(val keysBackupVersionTrust: Async<KeysBack
|
||||||
val remainingKeysToBackup: Int = 0,
|
val remainingKeysToBackup: Int = 0,
|
||||||
val deleteBackupRequest: Async<Unit> = Uninitialized) :
|
val deleteBackupRequest: Async<Unit> = Uninitialized) :
|
||||||
MavericksState
|
MavericksState
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,5 @@ class HomeDrawerFragment @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun signout() {
|
private fun signout() {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,5 +161,4 @@ class UnknownDeviceDetectorSharedViewModel @AssistedInject constructor(@Assisted
|
||||||
?: System.currentTimeMillis()
|
?: System.currentTimeMillis()
|
||||||
emit(value)
|
emit(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,11 +139,13 @@ class MessageInformationDataFactory @Inject constructor(private val session: Ses
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getE2EDecoration(roomSummary: RoomSummary?, event: TimelineEvent): E2EDecoration = runBlocking{
|
private fun getE2EDecoration(roomSummary: RoomSummary?, event: TimelineEvent): E2EDecoration = runBlocking {
|
||||||
if (event.root.sendState != SendState.SYNCED)
|
if (event.root.sendState != SendState.SYNCED) {
|
||||||
return@runBlocking E2EDecoration.NONE
|
return@runBlocking E2EDecoration.NONE
|
||||||
if (!roomSummary?.isEncrypted.orFalse())
|
}
|
||||||
|
if (!roomSummary?.isEncrypted.orFalse()) {
|
||||||
return@runBlocking E2EDecoration.NONE
|
return@runBlocking E2EDecoration.NONE
|
||||||
|
}
|
||||||
val isUserVerified = session.cryptoService().crossSigningService().getUserCrossSigningKeys(event.root.senderId ?: "")?.isTrusted().orFalse()
|
val isUserVerified = session.cryptoService().crossSigningService().getUserCrossSigningKeys(event.root.senderId ?: "")?.isTrusted().orFalse()
|
||||||
if (!isUserVerified) {
|
if (!isUserVerified) {
|
||||||
return@runBlocking E2EDecoration.NONE
|
return@runBlocking E2EDecoration.NONE
|
||||||
|
|
|
@ -33,7 +33,6 @@ import im.vector.app.core.platform.VectorViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.crypto.crosssigning.MXCrossSigningInfo
|
import org.matrix.android.sdk.api.session.crypto.crosssigning.MXCrossSigningInfo
|
||||||
import org.matrix.android.sdk.api.session.crypto.verification.VerificationMethod
|
|
||||||
import org.matrix.android.sdk.api.util.MatrixItem
|
import org.matrix.android.sdk.api.util.MatrixItem
|
||||||
import org.matrix.android.sdk.api.util.toMatrixItem
|
import org.matrix.android.sdk.api.util.toMatrixItem
|
||||||
import org.matrix.android.sdk.flow.flow
|
import org.matrix.android.sdk.flow.flow
|
||||||
|
|
Loading…
Reference in a new issue