prevent OrderedRealmCollection to throw when using first()
This commit is contained in:
parent
f4c891abe6
commit
7839f18f58
@ -30,8 +30,8 @@ internal fun TimelineEventEntity.Companion.nextId(realm: Realm): Long {
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun TimelineEventEntity.isMoreRecentThan(eventToCheck: TimelineEventEntity): Boolean {
|
internal fun TimelineEventEntity.isMoreRecentThan(eventToCheck: TimelineEventEntity): Boolean {
|
||||||
val currentChunk = this.chunk?.first() ?: return false
|
val currentChunk = this.chunk?.first(null) ?: return false
|
||||||
val chunkToCheck = eventToCheck.chunk?.firstOrNull() ?: return false
|
val chunkToCheck = eventToCheck.chunk?.first(null) ?: return false
|
||||||
return if (currentChunk == chunkToCheck) {
|
return if (currentChunk == chunkToCheck) {
|
||||||
this.displayIndex >= eventToCheck.displayIndex
|
this.displayIndex >= eventToCheck.displayIndex
|
||||||
} else {
|
} else {
|
||||||
|
@ -51,7 +51,7 @@ internal class DefaultRoomGetter @Inject constructor(
|
|||||||
.equalTo(RoomSummaryEntityFields.IS_DIRECT, true)
|
.equalTo(RoomSummaryEntityFields.IS_DIRECT, true)
|
||||||
.equalTo(RoomSummaryEntityFields.MEMBERSHIP_STR, Membership.JOIN.name)
|
.equalTo(RoomSummaryEntityFields.MEMBERSHIP_STR, Membership.JOIN.name)
|
||||||
.findAll()
|
.findAll()
|
||||||
.firstOrNull { dm -> dm.otherMemberIds.size == 1 && dm.otherMemberIds.first() == otherUserId }
|
.firstOrNull { dm -> dm.otherMemberIds.size == 1 && dm.otherMemberIds.first(null) == otherUserId }
|
||||||
?.roomId
|
?.roomId
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -426,9 +426,9 @@ internal class TimelineChunk(private val chunkEntity: ChunkEntity,
|
|||||||
if (initialEventId != null) {
|
if (initialEventId != null) {
|
||||||
frozenTimelineEvents.where().equalTo(TimelineEventEntityFields.EVENT_ID, initialEventId).findFirst()?.displayIndex
|
frozenTimelineEvents.where().equalTo(TimelineEventEntityFields.EVENT_ID, initialEventId).findFirst()?.displayIndex
|
||||||
} else if (direction == Timeline.Direction.BACKWARDS) {
|
} else if (direction == Timeline.Direction.BACKWARDS) {
|
||||||
frozenTimelineEvents.first()?.displayIndex
|
frozenTimelineEvents.first(null)?.displayIndex
|
||||||
} else {
|
} else {
|
||||||
frozenTimelineEvents.last()?.displayIndex
|
frozenTimelineEvents.last(null)?.displayIndex
|
||||||
}
|
}
|
||||||
} else if (direction == Timeline.Direction.FORWARDS) {
|
} else if (direction == Timeline.Direction.FORWARDS) {
|
||||||
builtEvents.first().displayIndex + 1
|
builtEvents.first().displayIndex + 1
|
||||||
|
Loading…
Reference in New Issue
Block a user