diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/ChatroomListNewFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/ChatroomListNewFeedFilter.kt index 567132745..a6ef95299 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/ChatroomListNewFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/ChatroomListNewFeedFilter.kt @@ -46,12 +46,12 @@ class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter val privateMessages = newChatrooms.mapNotNull { it -> - it.value.roomMessages.sortedWith(compareBy({ it.createdAt() }, { it.idHex })).lastOrNull { + it.value.roomMessages.sortedWith(DefaultFeedOrder).firstOrNull { it.event != null } } - return privateMessages.sortedWith(compareBy({ it.createdAt() }, { it.idHex })).reversed() + return privateMessages.sortedWith(DefaultFeedOrder) } override fun updateListWith( diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DefaultFeedOrder.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DefaultFeedOrder.kt index 873f671e8..30a15bc5a 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DefaultFeedOrder.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DefaultFeedOrder.kt @@ -21,5 +21,23 @@ package com.vitorpamplona.amethyst.ui.dal import com.vitorpamplona.amethyst.model.Note +import com.vitorpamplona.quartz.events.Event -val DefaultFeedOrder = compareBy({ it.createdAt() }, { it.idHex }).reversed() +val DefaultFeedOrder: Comparator = + compareBy( + { + val noteEvent = it.event + if (noteEvent == null) { + null + } else { + if (noteEvent is Event) { + noteEvent.createdAt + } else { + null + } + } + }, + { + it.idHex + }, + ).reversed()