From e8f37b69de122b0c0dc07e727f095c86a25998cc Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 7 Apr 2020 23:24:27 +0200 Subject: [PATCH] properly sort all fetched messages --- .../smsmessenger/activities/ThreadActivity.kt | 2 +- .../simplemobiletools/smsmessenger/extensions/Context.kt | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index b4636fad..092c280a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -200,7 +200,7 @@ class ThreadActivity : SimpleActivity() { private fun getThreadItems(threadID: Int): ArrayList { val messages = getMessages(threadID) - messages.sortBy { it.id } + messages.sortBy { it.date } val items = ArrayList() var prevDateTime = 0 diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt index 2ffe4eb7..8286d7da 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt @@ -56,7 +56,7 @@ fun Context.getMessages(threadID: Int? = null): ArrayList { arrayOf(threadID.toString()) } - val messages = ArrayList() + var messages = ArrayList() queryCursor(uri, projection, selection, selectionArgs, showErrors = true) { cursor -> val id = cursor.getIntValue(Sms._ID) val subject = cursor.getStringValue(Sms.SUBJECT) ?: "" @@ -85,6 +85,11 @@ fun Context.getMessages(threadID: Int? = null): ArrayList { } messages.addAll(getMMS()) + messages = messages.sortedByDescending { it.date }.toMutableList() as ArrayList + if (threadID == null) { + messages = messages.distinctBy { it.thread }.toMutableList() as ArrayList + } + return messages }