From b37877746a522dd92b4a27b125649054b7f86ffc Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 5 Jul 2019 14:39:15 +0200 Subject: [PATCH] Introduce TimelineEventEntity to begin with the rework --- .../internal/database/model/EventEntity.kt | 5 +++ .../database/model/SessionRealmModule.kt | 1 + .../database/model/TimelineEventEntity.kt | 36 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt index 5b3e8690..0721f684 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/EventEntity.kt @@ -17,6 +17,7 @@ package im.vector.matrix.android.internal.database.model import im.vector.matrix.android.api.session.room.send.SendState +import im.vector.matrix.android.api.session.room.timeline.Timeline import io.realm.RealmObject import io.realm.RealmResults import io.realm.annotations.Index @@ -66,4 +67,8 @@ internal open class EventEntity(@PrimaryKey var localId: String = UUID.randomUUI @LinkingObjects("untimelinedStateEvents") val room: RealmResults? = null + @LinkingObjects("root") + val timelineEventEntity: RealmResults? = null + + } \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SessionRealmModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SessionRealmModule.kt index b926da99..0e4dc1ae 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SessionRealmModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/SessionRealmModule.kt @@ -25,6 +25,7 @@ import io.realm.annotations.RealmModule classes = [ ChunkEntity::class, EventEntity::class, + TimelineEventEntity::class, FilterEntity::class, GroupEntity::class, GroupSummaryEntity::class, diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt new file mode 100644 index 00000000..c1c0b547 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/database/model/TimelineEventEntity.kt @@ -0,0 +1,36 @@ +/* + * Copyright 2019 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.matrix.android.internal.database.model + +import io.realm.RealmObject +import io.realm.annotations.Index +import io.realm.annotations.PrimaryKey +import java.util.* + + +internal open class TimelineEventEntity(@PrimaryKey var localId: String = UUID.randomUUID().toString(), + @Index var eventId: String = "", + var root: EventEntity? = null, + var annotations: EventAnnotationsSummaryEntity? = null, + var senderName: String? = null, + var isUniqueDisplayName: Boolean = false, + var senderAvatar: String? = null +) : RealmObject() { + + companion object + +} \ No newline at end of file