Migrate data for new conversation schema

This commit is contained in:
moezbhatti
2019-11-11 00:41:32 -05:00
parent 5d2b59e57a
commit 9e418b4d7a
@@ -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++
}