From 0fbee213a3ca10872dad9cc7c73efe85675ca412 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Fri, 2 Apr 2021 15:48:26 +0530 Subject: [PATCH] app: sort months as well as posts Signed-off-by: Harsh Shandilya --- .../dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt index 94842cb3..ecc170c1 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/posts/SavedPosts.kt @@ -56,7 +56,16 @@ fun SavedPosts( state = listState, modifier = Modifier.then(modifier), ) { - val grouped = posts.groupBy { it.createdAt.asZonedDateTime().month } + val grouped = + posts.groupBy { it.createdAt.asZonedDateTime().month }.apply { + if (sortOrder) { + toSortedMap( + Comparator { first, second -> + return@Comparator if (first > second) -1 else if (first < second) 1 else 0 + } + ) + } + } grouped.forEach { (month, posts) -> stickyHeader { MonthHeader(month = month) } @Suppress("NAME_SHADOWING") val posts = if (sortOrder) posts.reversed() else posts