Improves performance by precaching signatures before sorting them
Fixes out of order crash when the same signature came back.
This commit is contained in:
+7
-3
@@ -64,9 +64,8 @@ class ThreadFeedFilter(
|
||||
val eventsInHex = filteredThreadInfo.allNotes.map { it.idHex }.toSet()
|
||||
val now = TimeUtils.now()
|
||||
|
||||
// Currently orders by date of each event, descending, at each level of the reply stack
|
||||
val order =
|
||||
compareByDescending<Note> {
|
||||
val signatures =
|
||||
filteredThreadInfo.allNotes.associateWith {
|
||||
ThreadLevelCalculator
|
||||
.replyLevelSignature(
|
||||
it,
|
||||
@@ -78,6 +77,11 @@ class ThreadFeedFilter(
|
||||
).signature
|
||||
}
|
||||
|
||||
// Currently orders by date of each event, descending, at each level of the reply stack
|
||||
val order =
|
||||
compareByDescending<Note> { signatures[it] }
|
||||
.thenBy { it.idHex }
|
||||
|
||||
return filteredThreadInfo.allNotes.sortedWith(order)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user