Pagination: fix some timeline issue
This commit is contained in:
parent
990a266d83
commit
20559b9fc4
@ -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.ChunkEntity
|
||||||
import im.vector.matrix.android.internal.database.model.ChunkEntityFields
|
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.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.database.query.where
|
||||||
import im.vector.matrix.android.internal.task.Task
|
import im.vector.matrix.android.internal.task.Task
|
||||||
import im.vector.matrix.android.internal.util.awaitTransaction
|
import im.vector.matrix.android.internal.util.awaitTransaction
|
||||||
@ -43,6 +44,9 @@ internal class DefaultClearUnlinkedEventsTask @Inject constructor(private val mo
|
|||||||
unlinkedChunks.forEach {
|
unlinkedChunks.forEach {
|
||||||
it.deleteOnCascade()
|
it.deleteOnCascade()
|
||||||
}
|
}
|
||||||
|
val roomEntity = RoomEntity.where(localRealm, roomId = params.roomId).findFirst()
|
||||||
|
?: return@awaitTransaction
|
||||||
|
roomEntity.untimelinedStateEvents.where().equalTo(EventEntityFields.IS_UNLINKED, true).findAll().deleteAllFromRealm()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,6 +41,6 @@ internal class DefaultGetContextOfEventTask @Inject constructor(private val room
|
|||||||
val response = executeRequest<EventContextResponse> {
|
val response = executeRequest<EventContextResponse> {
|
||||||
apiCall = roomAPI.getContextOfEvent(params.roomId, params.eventId, params.limit, filter)
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,6 +31,6 @@ data class EventContextResponse(
|
|||||||
) : TokenChunkEvent {
|
) : TokenChunkEvent {
|
||||||
|
|
||||||
override val events: List<Event> by lazy {
|
override val events: List<Event> by lazy {
|
||||||
eventsAfter.reversed() + listOf(event) + eventsBefore
|
eventsBefore.reversed() + listOf(event) + eventsAfter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user