From c503445092e0e452fd6d18b8d5c44461934b2aef Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 5 Jul 2019 18:38:20 +0200 Subject: [PATCH] Branch back relation summaries --- .../database/query/EventAnnotationsSummaryEntityQuery.kt | 5 +++++ .../internal/session/room/EventRelationsAggregationTask.kt | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt index b8fd3c89..f1179ebe 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/query/EventAnnotationsSummaryEntityQuery.kt @@ -18,6 +18,7 @@ package im.vector.matrix.android.internal.database.query import im.vector.matrix.android.internal.database.model.EventAnnotationsSummaryEntity import im.vector.matrix.android.internal.database.model.EventAnnotationsSummaryEntityFields +import im.vector.matrix.android.internal.database.model.TimelineEventEntity import io.realm.Realm import io.realm.RealmQuery import io.realm.kotlin.where @@ -39,5 +40,9 @@ internal fun EventAnnotationsSummaryEntity.Companion.whereInRoom(realm: Realm, r internal fun EventAnnotationsSummaryEntity.Companion.create(realm: Realm, eventId: String): EventAnnotationsSummaryEntity { val obj = realm.createObject(EventAnnotationsSummaryEntity::class.java, eventId) + //Denormalization + TimelineEventEntity.where(realm, eventId = eventId).findFirst()?.let { + it.annotations = obj + } return obj } \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt index dd4b59fc..b55a7e14 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/room/EventRelationsAggregationTask.kt @@ -86,6 +86,13 @@ internal class DefaultEventRelationsAggregationTask @Inject constructor(private } } + EventAnnotationsSummaryEntity.where(realm, event.eventId ?: "").findFirst()?.let { + TimelineEventEntity.where(realm,eventId = event.eventId ?: "").findFirst()?.let { tet -> + tet.annotations = it + } + } + + } EventType.REDACTION -> { val eventToPrune = event.redacts?.let { EventEntity.where(realm, eventId = it).findFirst() }