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

Commit b8bf62b8 authored by moezbhatti's avatar moezbhatti
Browse files

Make sure lastMessage gets assigned when syncing conversation

parent 6e580a76
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -368,6 +368,8 @@ class ConversationRepositoryImpl @Inject constructor(
                ?.let { conversation ->
                ?.let { conversation ->
                    val realm = Realm.getDefaultInstance()
                    val realm = Realm.getDefaultInstance()
                    val contacts = realm.copyFromRealm(realm.where(Contact::class.java).findAll())
                    val contacts = realm.copyFromRealm(realm.where(Contact::class.java).findAll())
                    val lastMessage = realm.where(Message::class.java).equalTo("threadId", threadId)
                            .sort("date", Sort.DESCENDING).findFirst()?.let(realm::copyFromRealm)


                    val recipients = conversation.recipients
                    val recipients = conversation.recipients
                            .map { recipient -> recipient.id }
                            .map { recipient -> recipient.id }
@@ -387,6 +389,7 @@ class ConversationRepositoryImpl @Inject constructor(


                    conversation.recipients.clear()
                    conversation.recipients.clear()
                    conversation.recipients.addAll(recipients)
                    conversation.recipients.addAll(recipients)
                    conversation.lastMessage = lastMessage
                    realm.executeTransaction { it.insertOrUpdate(conversation) }
                    realm.executeTransaction { it.insertOrUpdate(conversation) }
                    realm.close()
                    realm.close()