From 20f86a30e8874db7f726c0ab33109b25a5ba5426 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 10 May 2021 13:31:38 +0200 Subject: [PATCH] Upgrade Realm to version 10.4.0 Migration with isEmbedded tested OK --- CHANGES.md | 1 + matrix-sdk-android/build.gradle | 7 ++----- .../sdk/internal/database/RealmSessionStoreMigration.kt | 8 ++++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b3f9615c70..43ab2ee975 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -34,6 +34,7 @@ SDK API changes ⚠️: Build 🧱: - Upgrade to gradle 7 - https://github.com/Piasy/BigImageViewer is now hosted on mavenCentral() + - Upgrade Realm to version 10.4.0 Test: - diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 4059004394..108240f94d 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -6,13 +6,10 @@ apply plugin: 'realm-android' buildscript { repositories { - // mavenCentral() - //noinspection GrDeprecatedAPIUsage - jcenter() + mavenCentral() } dependencies { - // Stick to this version until https://github.com/realm/realm-java/issues/7402 is fixed - classpath "io.realm:realm-gradle-plugin:10.3.1" + classpath "io.realm:realm-gradle-plugin:10.4.0" } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt index 05213b40e5..8770dc8b33 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt @@ -144,10 +144,6 @@ class RealmSessionStoreMigration @Inject constructor() : RealmMigration { Timber.d("Step 7 -> 8") val editionOfEventSchema = realm.schema.create("EditionOfEvent") - .apply { - // setEmbedded does not return `this`... - isEmbedded = true - } .addField(EditionOfEventFields.CONTENT, String::class.java) .addField(EditionOfEventFields.EVENT_ID, String::class.java) .setRequired(EditionOfEventFields.EVENT_ID, true) @@ -162,6 +158,10 @@ class RealmSessionStoreMigration @Inject constructor() : RealmMigration { ?.removeField("lastEditTs") ?.removeField("sourceLocalEchoEvents") ?.addRealmListField(EditAggregatedSummaryEntityFields.EDITIONS.`$`, editionOfEventSchema) + + // This has to be done once a parent use the model as a child + // See https://github.com/realm/realm-java/issues/7402 + editionOfEventSchema.isEmbedded = true } private fun migrateTo9(realm: DynamicRealm) {