Avoid injecting credentials

This commit is contained in:
Benoit Marty 2020-04-17 17:26:57 +02:00
parent 6186c22e02
commit 4d296ddc09
1 changed files with 10 additions and 7 deletions

View File

@ -28,7 +28,6 @@ import com.zhuinden.monarchy.Monarchy
import dagger.Lazy import dagger.Lazy
import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.NoOpMatrixCallback import im.vector.matrix.android.api.NoOpMatrixCallback
import im.vector.matrix.android.api.auth.data.Credentials
import im.vector.matrix.android.api.crypto.MXCryptoConfig import im.vector.matrix.android.api.crypto.MXCryptoConfig
import im.vector.matrix.android.api.failure.Failure import im.vector.matrix.android.api.failure.Failure
import im.vector.matrix.android.api.listeners.ProgressListener import im.vector.matrix.android.api.listeners.ProgressListener
@ -79,7 +78,9 @@ import im.vector.matrix.android.internal.crypto.verification.DefaultVerification
import im.vector.matrix.android.internal.database.model.EventEntity import im.vector.matrix.android.internal.database.model.EventEntity
import im.vector.matrix.android.internal.database.model.EventEntityFields import im.vector.matrix.android.internal.database.model.EventEntityFields
import im.vector.matrix.android.internal.database.query.whereType import im.vector.matrix.android.internal.database.query.whereType
import im.vector.matrix.android.internal.di.DeviceId
import im.vector.matrix.android.internal.di.MoshiProvider import im.vector.matrix.android.internal.di.MoshiProvider
import im.vector.matrix.android.internal.di.UserId
import im.vector.matrix.android.internal.extensions.foldToCallback import im.vector.matrix.android.internal.extensions.foldToCallback
import im.vector.matrix.android.internal.session.SessionScope import im.vector.matrix.android.internal.session.SessionScope
import im.vector.matrix.android.internal.session.room.membership.LoadRoomMembersTask import im.vector.matrix.android.internal.session.room.membership.LoadRoomMembersTask
@ -117,8 +118,10 @@ import kotlin.math.max
internal class DefaultCryptoService @Inject constructor( internal class DefaultCryptoService @Inject constructor(
// Olm Manager // Olm Manager
private val olmManager: OlmManager, private val olmManager: OlmManager,
// The credentials, @UserId
private val credentials: Credentials, private val userId: String,
@DeviceId
private val deviceId: String?,
private val myDeviceInfoHolder: Lazy<MyDeviceInfoHolder>, private val myDeviceInfoHolder: Lazy<MyDeviceInfoHolder>,
// the crypto store // the crypto store
private val cryptoStore: IMXCryptoStore, private val cryptoStore: IMXCryptoStore,
@ -199,7 +202,7 @@ internal class DefaultCryptoService @Inject constructor(
this.callback = object : MatrixCallback<Unit> { this.callback = object : MatrixCallback<Unit> {
override fun onSuccess(data: Unit) { override fun onSuccess(data: Unit) {
// bg refresh of crypto device // bg refresh of crypto device
downloadKeys(listOf(credentials.userId), true, NoOpMatrixCallback()) downloadKeys(listOf(userId), true, NoOpMatrixCallback())
callback.onSuccess(data) callback.onSuccess(data)
} }
@ -398,7 +401,7 @@ internal class DefaultCryptoService @Inject constructor(
} }
/** /**
* Provides the device information for a device id and a user Id * Provides the device information for a user id and a device Id
* *
* @param userId the user id * @param userId the user id
* @param deviceId the device id * @param deviceId the device id
@ -746,7 +749,7 @@ internal class DefaultCryptoService @Inject constructor(
} }
// Was that sent by us? // Was that sent by us?
if (event.senderId != credentials.userId) { if (event.senderId != userId) {
Timber.e("## GOSSIP onSecretSend() : Ignore secret from other user ${event.senderId}") Timber.e("## GOSSIP onSecretSend() : Ignore secret from other user ${event.senderId}")
return return
} }
@ -1164,7 +1167,7 @@ internal class DefaultCryptoService @Inject constructor(
* ========================================================================================== */ * ========================================================================================== */
override fun toString(): String { override fun toString(): String {
return "DefaultCryptoService of " + credentials.userId + " (" + credentials.deviceId + ")" return "DefaultCryptoService of $userId ($deviceId)"
} }
override fun getOutgoingRoomKeyRequest(): List<OutgoingRoomKeyRequest> { override fun getOutgoingRoomKeyRequest(): List<OutgoingRoomKeyRequest> {