@@ -22,23 +22,17 @@ import dagger.Lazy
22
22
import kotlinx.coroutines.CoroutineName
23
23
import kotlinx.coroutines.CoroutineScope
24
24
import kotlinx.coroutines.SupervisorJob
25
- import kotlinx.coroutines.launch
26
25
import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor
27
- import org.matrix.android.sdk.api.extensions.tryOrNull
28
26
import org.matrix.android.sdk.api.failure.Failure
29
27
import org.matrix.android.sdk.api.failure.MatrixError
30
28
import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysBackupLastVersionResult
31
29
import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysVersion
32
30
import org.matrix.android.sdk.api.session.crypto.keysbackup.KeysVersionResult
33
- import org.matrix.android.sdk.api.session.crypto.model.GossipingToDeviceObject
34
31
import org.matrix.android.sdk.api.session.crypto.model.MXUsersDevicesMap
35
32
import org.matrix.android.sdk.api.session.events.model.Content
36
33
import org.matrix.android.sdk.api.session.events.model.Event
37
- import org.matrix.android.sdk.api.session.events.model.EventType
38
34
import org.matrix.android.sdk.api.session.uia.UiaResult
39
35
import org.matrix.android.sdk.internal.auth.registration.handleUIA
40
- import org.matrix.android.sdk.internal.crypto.OlmMachine
41
- import org.matrix.android.sdk.internal.crypto.PerSessionBackupQueryRateLimiter
42
36
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.BackupKeysResult
43
37
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.CreateKeysBackupVersionBody
44
38
import org.matrix.android.sdk.internal.crypto.keysbackup.model.rest.KeysBackupData
@@ -59,7 +53,6 @@ import org.matrix.android.sdk.internal.crypto.model.rest.KeysUploadBody
59
53
import org.matrix.android.sdk.internal.crypto.model.rest.KeysUploadResponse
60
54
import org.matrix.android.sdk.internal.crypto.model.rest.RestKeyInfo
61
55
import org.matrix.android.sdk.internal.crypto.model.rest.SignatureUploadResponse
62
- import org.matrix.android.sdk.internal.crypto.store.IMXCommonCryptoStore
63
56
import org.matrix.android.sdk.internal.crypto.tasks.ClaimOneTimeKeysForUsersDeviceTask
64
57
import org.matrix.android.sdk.internal.crypto.tasks.DefaultSendVerificationMessageTask
65
58
import org.matrix.android.sdk.internal.crypto.tasks.DownloadKeysForUsersTask
@@ -102,10 +95,7 @@ internal class RequestSender @Inject constructor(
102
95
private val getRoomSessionDataTask : GetRoomSessionDataTask ,
103
96
private val moshi : Moshi ,
104
97
cryptoCoroutineScope : CoroutineScope ,
105
- private val rateLimiter : PerSessionBackupQueryRateLimiter ,
106
- private val cryptoStore : IMXCommonCryptoStore ,
107
98
private val localEchoRepository : LocalEchoRepository ,
108
- private val olmMachine : Lazy <OlmMachine >,
109
99
) {
110
100
111
101
private val scope = CoroutineScope (
@@ -246,44 +236,9 @@ internal class RequestSender @Inject constructor(
246
236
.newBuilder()
247
237
.add(CheckNumberType .JSON_ADAPTER_FACTORY )
248
238
.build()
249
- .adapter<Map <String , Map <String , Any >>>(Map ::class .java)
239
+ .adapter<Map <String , HashMap <String , Any >>>(Map ::class .java)
250
240
val jsonBody = adapter.fromJson(body)!!
251
241
252
- if (eventType == EventType .ROOM_KEY_REQUEST ) {
253
- scope.launch {
254
- Timber .v(" Intercepting key request, try backup" )
255
- /* *
256
- * It's a bit hacky, check how this can be better integrated with rust?
257
- */
258
- try {
259
- jsonBody.forEach { (_, deviceToContent) ->
260
- deviceToContent.forEach { (_, content) ->
261
- val hashMap = content as ? Map <* , * >
262
- val action = hashMap?.get(" action" )?.toString()
263
- if (GossipingToDeviceObject .ACTION_SHARE_REQUEST == action) {
264
- val requestBody = hashMap[" body" ] as ? Map <* , * >
265
- val roomId = requestBody?.get(" room_id" ) as ? String
266
- val sessionId = requestBody?.get(" session_id" ) as ? String
267
- val senderKey = requestBody?.get(" sender_key" ) as ? String
268
- if (roomId != null && sessionId != null ) {
269
- // try to perform a lazy migration from legacy store
270
- val legacy = tryOrNull(" Failed to access legacy crypto store" ) {
271
- cryptoStore.getInboundGroupSession(sessionId, senderKey.orEmpty())
272
- }
273
- if (legacy == null || olmMachine.get().importRoomKey(legacy).isFailure) {
274
- rateLimiter.tryFromBackupIfPossible(sessionId, roomId)
275
- }
276
- }
277
- }
278
- }
279
- }
280
- Timber .v(" Intercepting key request, try backup" )
281
- } catch (failure: Throwable ) {
282
- Timber .v(failure, " Failed to use backup" )
283
- }
284
- }
285
- }
286
-
287
242
val userMap = MXUsersDevicesMap <Any >()
288
243
userMap.join(jsonBody)
289
244
0 commit comments