Revert "Revert "Fix sorting rooms when filtering out events from overview""

This reverts commit 80c2490336ee1d6151bd2e7a52b5267bc419f47b.
This commit is contained in:
SpiritCroc 2020-09-22 09:56:11 +02:00
parent 4ef447d739
commit 5ab3e45f10

View File

@ -16,18 +16,19 @@
package im.vector.app.features.home.room.list
import im.vector.app.features.home.room.ScSdkPreferences
import org.matrix.android.sdk.api.session.room.model.RoomSummary
import javax.inject.Inject
class ChronologicalRoomComparator @Inject constructor() : Comparator<RoomSummary> {
class ChronologicalRoomComparator @Inject constructor(val scSdkPreferences: ScSdkPreferences) : Comparator<RoomSummary> {
override fun compare(leftRoomSummary: RoomSummary?, rightRoomSummary: RoomSummary?): Int {
return when {
rightRoomSummary?.latestPreviewableEvent?.root == null -> -1
leftRoomSummary?.latestPreviewableEvent?.root == null -> 1
rightRoomSummary?.scLatestPreviewableEvent(scSdkPreferences)?.root == null -> -1
leftRoomSummary?.scLatestPreviewableEvent(scSdkPreferences)?.root == null -> 1
else -> {
val rightTimestamp = rightRoomSummary.latestPreviewableEvent?.root?.originServerTs ?: 0
val leftTimestamp = leftRoomSummary.latestPreviewableEvent?.root?.originServerTs ?: 0
val rightTimestamp = rightRoomSummary.scLatestPreviewableEvent(scSdkPreferences)?.root?.originServerTs ?: 0
val leftTimestamp = leftRoomSummary.scLatestPreviewableEvent(scSdkPreferences)?.root?.originServerTs ?: 0
val deltaTimestamp = rightTimestamp - leftTimestamp