mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-15 01:35:07 +08:00
Small renamings/reorganization in CryptoService
This commit is contained in:
parent
3eb29b4661
commit
2a599d9760
@ -72,7 +72,7 @@ class FlowSession(private val session: Session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun liveMyDevicesInfo(): Flow<List<DeviceInfo>> {
|
fun liveMyDevicesInfo(): Flow<List<DeviceInfo>> {
|
||||||
return session.cryptoService().getLiveMyDevicesInfo().asFlow()
|
return session.cryptoService().getMyDevicesInfoLive().asFlow()
|
||||||
.startWith(session.coroutineDispatchers.io) {
|
.startWith(session.coroutineDispatchers.io) {
|
||||||
session.cryptoService().getMyDevicesInfo()
|
session.cryptoService().getMyDevicesInfo()
|
||||||
}
|
}
|
||||||
|
@ -676,8 +676,8 @@ class E2eeSanityTests : InstrumentedTest {
|
|||||||
assertEquals("Decimal code should have matched", oldCode, newCode)
|
assertEquals("Decimal code should have matched", oldCode, newCode)
|
||||||
|
|
||||||
// Assert that devices are verified
|
// Assert that devices are verified
|
||||||
val newDeviceFromOldPov: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceNewSession.sessionParams.deviceId)
|
val newDeviceFromOldPov: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceNewSession.sessionParams.deviceId)
|
||||||
val oldDeviceFromNewPov: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceSession.sessionParams.deviceId)
|
val oldDeviceFromNewPov: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceSession.sessionParams.deviceId)
|
||||||
|
|
||||||
Assert.assertTrue("new device should be verified from old point of view", newDeviceFromOldPov!!.isVerified)
|
Assert.assertTrue("new device should be verified from old point of view", newDeviceFromOldPov!!.isVerified)
|
||||||
Assert.assertTrue("old device should be verified from new point of view", oldDeviceFromNewPov!!.isVerified)
|
Assert.assertTrue("old device should be verified from new point of view", oldDeviceFromNewPov!!.isVerified)
|
||||||
|
@ -193,7 +193,7 @@ class XSigningTest : InstrumentedTest {
|
|||||||
fail("Bob should see the new device")
|
fail("Bob should see the new device")
|
||||||
}
|
}
|
||||||
|
|
||||||
val bobSecondDevicePOVFirstDevice = bobSession.cryptoService().getDeviceInfo(bobUserId, bobSecondDeviceId)
|
val bobSecondDevicePOVFirstDevice = bobSession.cryptoService().getCryptoDeviceInfo(bobUserId, bobSecondDeviceId)
|
||||||
assertNotNull("Bob Second device should be known and persisted from first", bobSecondDevicePOVFirstDevice)
|
assertNotNull("Bob Second device should be known and persisted from first", bobSecondDevicePOVFirstDevice)
|
||||||
|
|
||||||
// Manually mark it as trusted from first session
|
// Manually mark it as trusted from first session
|
||||||
|
@ -521,9 +521,9 @@ class SASTest : InstrumentedTest {
|
|||||||
testHelper.await(bobSASLatch)
|
testHelper.await(bobSASLatch)
|
||||||
|
|
||||||
// Assert that devices are verified
|
// Assert that devices are verified
|
||||||
val bobDeviceInfoFromAlicePOV: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(bobUserId, bobDeviceId)
|
val bobDeviceInfoFromAlicePOV: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(bobUserId, bobDeviceId)
|
||||||
val aliceDeviceInfoFromBobPOV: CryptoDeviceInfo? =
|
val aliceDeviceInfoFromBobPOV: CryptoDeviceInfo? =
|
||||||
bobSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceSession.cryptoService().getMyDevice().deviceId)
|
bobSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceSession.cryptoService().getMyDevice().deviceId)
|
||||||
|
|
||||||
assertTrue("alice device should be verified from bob point of view", aliceDeviceInfoFromBobPOV!!.isVerified)
|
assertTrue("alice device should be verified from bob point of view", aliceDeviceInfoFromBobPOV!!.isVerified)
|
||||||
assertTrue("bob device should be verified from alice point of view", bobDeviceInfoFromAlicePOV!!.isVerified)
|
assertTrue("bob device should be verified from alice point of view", bobDeviceInfoFromAlicePOV!!.isVerified)
|
||||||
|
@ -113,7 +113,17 @@ interface CryptoService {
|
|||||||
|
|
||||||
fun setRoomBlacklistUnverifiedDevices(roomId: String)
|
fun setRoomBlacklistUnverifiedDevices(roomId: String)
|
||||||
|
|
||||||
fun getDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo?
|
fun getCryptoDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo?
|
||||||
|
|
||||||
|
fun getCryptoDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>)
|
||||||
|
|
||||||
|
fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo>
|
||||||
|
|
||||||
|
fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>>
|
||||||
|
|
||||||
|
fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>>
|
||||||
|
|
||||||
|
fun getLiveCryptoDeviceInfo(userIds: List<String>): LiveData<List<CryptoDeviceInfo>>
|
||||||
|
|
||||||
fun requestRoomKeyForEvent(event: Event)
|
fun requestRoomKeyForEvent(event: Event)
|
||||||
|
|
||||||
@ -127,9 +137,7 @@ interface CryptoService {
|
|||||||
|
|
||||||
fun getMyDevicesInfo(): List<DeviceInfo>
|
fun getMyDevicesInfo(): List<DeviceInfo>
|
||||||
|
|
||||||
fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>>
|
fun getMyDevicesInfoLive(): LiveData<List<DeviceInfo>>
|
||||||
|
|
||||||
fun getDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>)
|
|
||||||
|
|
||||||
fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int
|
fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int
|
||||||
|
|
||||||
@ -156,14 +164,6 @@ interface CryptoService {
|
|||||||
|
|
||||||
fun downloadKeys(userIds: List<String>, forceDownload: Boolean, callback: MatrixCallback<MXUsersDevicesMap<CryptoDeviceInfo>>)
|
fun downloadKeys(userIds: List<String>, forceDownload: Boolean, callback: MatrixCallback<MXUsersDevicesMap<CryptoDeviceInfo>>)
|
||||||
|
|
||||||
fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo>
|
|
||||||
|
|
||||||
fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>>
|
|
||||||
|
|
||||||
fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>>
|
|
||||||
|
|
||||||
fun getLiveCryptoDeviceInfo(userIds: List<String>): LiveData<List<CryptoDeviceInfo>>
|
|
||||||
|
|
||||||
fun addNewSessionListener(newSessionListener: NewSessionListener)
|
fun addNewSessionListener(newSessionListener: NewSessionListener)
|
||||||
fun removeSessionListener(listener: NewSessionListener)
|
fun removeSessionListener(listener: NewSessionListener)
|
||||||
|
|
||||||
|
@ -273,7 +273,7 @@ internal class DefaultCryptoService @Inject constructor(
|
|||||||
.executeBy(taskExecutor)
|
.executeBy(taskExecutor)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>> {
|
override fun getMyDevicesInfoLive(): LiveData<List<DeviceInfo>> {
|
||||||
return cryptoStore.getLiveMyDevicesInfo()
|
return cryptoStore.getLiveMyDevicesInfo()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,15 +281,6 @@ internal class DefaultCryptoService @Inject constructor(
|
|||||||
return cryptoStore.getMyDevicesInfo()
|
return cryptoStore.getMyDevicesInfo()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>) {
|
|
||||||
getDeviceInfoTask
|
|
||||||
.configureWith(GetDeviceInfoTask.Params(deviceId)) {
|
|
||||||
this.executionThread = TaskThread.CRYPTO
|
|
||||||
this.callback = callback
|
|
||||||
}
|
|
||||||
.executeBy(taskExecutor)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int {
|
override fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int {
|
||||||
return cryptoStore.inboundGroupSessionsCount(onlyBackedUp)
|
return cryptoStore.inboundGroupSessionsCount(onlyBackedUp)
|
||||||
}
|
}
|
||||||
@ -513,7 +504,7 @@ internal class DefaultCryptoService @Inject constructor(
|
|||||||
* @param userId the user id
|
* @param userId the user id
|
||||||
* @param deviceId the device id
|
* @param deviceId the device id
|
||||||
*/
|
*/
|
||||||
override fun getDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo? {
|
override fun getCryptoDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo? {
|
||||||
return if (userId.isNotEmpty() && !deviceId.isNullOrEmpty()) {
|
return if (userId.isNotEmpty() && !deviceId.isNullOrEmpty()) {
|
||||||
cryptoStore.getUserDevice(userId, deviceId)
|
cryptoStore.getUserDevice(userId, deviceId)
|
||||||
} else {
|
} else {
|
||||||
@ -521,6 +512,15 @@ internal class DefaultCryptoService @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getCryptoDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>) {
|
||||||
|
getDeviceInfoTask
|
||||||
|
.configureWith(GetDeviceInfoTask.Params(deviceId)) {
|
||||||
|
this.executionThread = TaskThread.CRYPTO
|
||||||
|
this.callback = callback
|
||||||
|
}
|
||||||
|
.executeBy(taskExecutor)
|
||||||
|
}
|
||||||
|
|
||||||
override fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo> {
|
override fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo> {
|
||||||
return cryptoStore.getUserDeviceList(userId).orEmpty()
|
return cryptoStore.getUserDeviceList(userId).orEmpty()
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ class MessageInformationDataFactory @Inject constructor(
|
|||||||
.toModel<EncryptedEventContent>()
|
.toModel<EncryptedEventContent>()
|
||||||
?.deviceId
|
?.deviceId
|
||||||
?.let { deviceId ->
|
?.let { deviceId ->
|
||||||
session.cryptoService().getDeviceInfo(event.root.senderId ?: "", deviceId)
|
session.cryptoService().getCryptoDeviceInfo(event.root.senderId ?: "", deviceId)
|
||||||
}
|
}
|
||||||
when {
|
when {
|
||||||
sendingDevice == null -> {
|
sendingDevice == null -> {
|
||||||
|
@ -585,7 +585,7 @@ class VectorSettingsSecurityPrivacyFragment :
|
|||||||
}
|
}
|
||||||
|
|
||||||
// crypto section: device key (fingerprint)
|
// crypto section: device key (fingerprint)
|
||||||
val deviceInfo = session.cryptoService().getDeviceInfo(userId, deviceId)
|
val deviceInfo = session.cryptoService().getCryptoDeviceInfo(userId, deviceId)
|
||||||
|
|
||||||
val fingerprint = deviceInfo?.fingerprint()
|
val fingerprint = deviceInfo?.fingerprint()
|
||||||
if (fingerprint?.isNotEmpty() == true) {
|
if (fingerprint?.isNotEmpty() == true) {
|
||||||
|
Loading…
Reference in New Issue
Block a user