diff --git a/CHANGES.md b/CHANGES.md index 7fbf564393..76da7609e1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -20,7 +20,7 @@ Build 🧱: - Other changes: - - + - Upgrade Realm dependency to 10.0.0 Changes in Element 1.0.10 (2020-11-04) =================================================== diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index e4a8b8884a..29c709844a 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -9,7 +9,7 @@ buildscript { jcenter() } dependencies { - classpath "io.realm:realm-gradle-plugin:6.1.0" + classpath "io.realm:realm-gradle-plugin:10.0.0" } } @@ -149,7 +149,7 @@ dependencies { implementation 'androidx.exifinterface:exifinterface:1.3.0' // Database - implementation 'com.github.Zhuinden:realm-monarchy:0.5.1' + implementation 'com.github.Zhuinden:realm-monarchy:0.7.1' kapt 'dk.ilios:realmfieldnameshelper:1.1.1' // Work diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt index a8580bab8e..a786ebd4b2 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/CryptoModule.kt @@ -123,6 +123,7 @@ internal abstract class CryptoModule { } .name("crypto_store.realm") .modules(RealmCryptoStoreModule()) + .allowWritesOnUiThread(true) .schemaVersion(RealmCryptoStoreMigration.CRYPTO_STORE_SCHEMA_VERSION) .migration(realmCryptoStoreMigration) .build() diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt index 6c430e8591..0e3a7a2c49 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmKeysUtils.kt @@ -18,6 +18,7 @@ package org.matrix.android.sdk.internal.database import android.content.Context import android.util.Base64 import androidx.core.content.edit +import io.realm.Realm import org.matrix.android.sdk.BuildConfig import org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils import io.realm.RealmConfiguration @@ -46,7 +47,7 @@ internal class RealmKeysUtils @Inject constructor(context: Context, private val sharedPreferences = context.getSharedPreferences("im.vector.matrix.android.keys", Context.MODE_PRIVATE) private fun generateKeyForRealm(): ByteArray { - val keyForRealm = ByteArray(RealmConfiguration.KEY_LENGTH) + val keyForRealm = ByteArray(Realm.ENCRYPTION_KEY_LENGTH) rng.nextBytes(keyForRealm) return keyForRealm } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt index 3324520d29..244fe3432a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/SessionRealmConfigurationFactory.kt @@ -69,6 +69,7 @@ internal class SessionRealmConfigurationFactory @Inject constructor( .apply { realmKeysUtils.configureEncryption(this, SessionModule.getKeyAlias(userMd5)) } + .allowWritesOnUiThread(true) .modules(SessionRealmModule()) .schemaVersion(RealmSessionStoreMigration.SESSION_STORE_SCHEMA_VERSION) .migration(migration) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt index 1bb57b47cd..e140cc19f3 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/identity/IdentityModule.kt @@ -66,6 +66,7 @@ internal abstract class IdentityModule { .apply { realmKeysUtils.configureEncryption(this, SessionModule.getKeyAlias(userMd5)) } + .allowWritesOnUiThread(true) .modules(IdentityRealmModule()) .build() }