Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e418b4d authored by moezbhatti's avatar moezbhatti
Browse files

Migrate data for new conversation schema

parent 5d2b59e5
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ package com.moez.QKSMS.migration
import io.realm.DynamicRealm
import io.realm.FieldAttribute
import io.realm.RealmMigration
import io.realm.Sort

class QkRealmMigration : RealmMigration {

@@ -101,6 +102,19 @@ class QkRealmMigration : RealmMigration {
                    ?.removeField("read")
                    ?.removeField("me")

            val conversations = realm.where("Conversation")
                    .findAll()

            val messages = realm.where("Message")
                    .sort("date", Sort.DESCENDING)
                    .distinct("threadId")
                    .findAll()
                    .associateBy { message -> message.getLong("threadId") }

            conversations.forEach { conversation ->
                conversation.setObject("lastMessage", messages[conversation.getLong("id")])
            }

            version++
        }