Batch insertion of shouldEncryptForInvitedMembers

This commit is contained in:
Benoit Marty 2023-01-03 15:15:15 +01:00
parent 6f384c799f
commit c1a8bf828b
2 changed files with 7 additions and 4 deletions

View file

@ -17,5 +17,6 @@
package org.matrix.android.sdk.internal.crypto.store.db
data class CryptoStoreAggregator(
val setShouldShareHistoryData: MutableMap<String, Boolean> = mutableMapOf()
val setShouldShareHistoryData: MutableMap<String, Boolean> = mutableMapOf(),
val setShouldEncryptForInvitedMembersData: MutableMap<String, Boolean> = mutableMapOf(),
)

View file

@ -708,9 +708,7 @@ internal class RealmCryptoStore @Inject constructor(
}
override fun setShouldEncryptForInvitedMembers(roomId: String, shouldEncryptForInvitedMembers: Boolean) {
doRealmTransaction(realmConfiguration) {
CryptoRoomEntity.getOrCreate(it, roomId).shouldEncryptForInvitedMembers = shouldEncryptForInvitedMembers
}
cryptoStoreAggregator?.setShouldEncryptForInvitedMembersData?.put(roomId, shouldEncryptForInvitedMembers)
}
override fun setShouldShareHistory(roomId: String, shouldShareHistory: Boolean) {
@ -1832,6 +1830,10 @@ internal class RealmCryptoStore @Inject constructor(
aggregator.setShouldShareHistoryData.map {
CryptoRoomEntity.getOrCreate(realm, it.key).shouldShareHistory = it.value
}
// setShouldEncryptForInvitedMembers
aggregator.setShouldEncryptForInvitedMembersData.map {
CryptoRoomEntity.getOrCreate(realm, it.key).shouldEncryptForInvitedMembers = it.value
}
}
cryptoStoreAggregator = null
}