Pagination: fix some timeline issue

This commit is contained in:
ganfra 2019-12-04 19:07:01 +01:00
parent 990a266d83
commit 20559b9fc4
3 changed files with 6 additions and 2 deletions

View File

@ -22,6 +22,7 @@ import im.vector.matrix.android.internal.database.helper.deleteOnCascade
import im.vector.matrix.android.internal.database.model.ChunkEntity
import im.vector.matrix.android.internal.database.model.ChunkEntityFields
import im.vector.matrix.android.internal.database.model.EventEntityFields
import im.vector.matrix.android.internal.database.model.RoomEntity
import im.vector.matrix.android.internal.database.query.where
import im.vector.matrix.android.internal.task.Task
import im.vector.matrix.android.internal.util.awaitTransaction
@ -43,6 +44,9 @@ internal class DefaultClearUnlinkedEventsTask @Inject constructor(private val mo
unlinkedChunks.forEach {
it.deleteOnCascade()
}
val roomEntity = RoomEntity.where(localRealm, roomId = params.roomId).findFirst()
?: return@awaitTransaction
roomEntity.untimelinedStateEvents.where().equalTo(EventEntityFields.IS_UNLINKED, true).findAll().deleteAllFromRealm()
}
}
}

View File

@ -41,6 +41,6 @@ internal class DefaultGetContextOfEventTask @Inject constructor(private val room
val response = executeRequest<EventContextResponse> {
apiCall = roomAPI.getContextOfEvent(params.roomId, params.eventId, params.limit, filter)
}
return tokenChunkEventPersistor.insertInDb(response, params.roomId, PaginationDirection.BACKWARDS)
return tokenChunkEventPersistor.insertInDb(response, params.roomId, PaginationDirection.FORWARDS)
}
}

View File

@ -31,6 +31,6 @@ data class EventContextResponse(
) : TokenChunkEvent {
override val events: List<Event> by lazy {
eventsAfter.reversed() + listOf(event) + eventsBefore
eventsBefore.reversed() + listOf(event) + eventsAfter
}
}