Realm: fix remaining frozen result
This commit is contained in:
parent
beeee7c84b
commit
f7c79a6de2
@ -46,7 +46,7 @@ internal class RealmSendingEventsDataSource(
|
|||||||
|
|
||||||
private val sendingTimelineEventsListener = RealmChangeListener<RealmList<TimelineEventEntity>> { events ->
|
private val sendingTimelineEventsListener = RealmChangeListener<RealmList<TimelineEventEntity>> { events ->
|
||||||
uiEchoManager.onSentEventsInDatabase(events.map { it.eventId })
|
uiEchoManager.onSentEventsInDatabase(events.map { it.eventId })
|
||||||
frozenSendingTimelineEvents = sendingTimelineEvents?.freeze()
|
updateFrozenResults(events)
|
||||||
onEventsUpdated(false)
|
onEventsUpdated(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,10 +59,17 @@ internal class RealmSendingEventsDataSource(
|
|||||||
|
|
||||||
override fun stop() {
|
override fun stop() {
|
||||||
sendingTimelineEvents?.removeChangeListener(sendingTimelineEventsListener)
|
sendingTimelineEvents?.removeChangeListener(sendingTimelineEventsListener)
|
||||||
|
updateFrozenResults(null)
|
||||||
sendingTimelineEvents = null
|
sendingTimelineEvents = null
|
||||||
roomEntity = null
|
roomEntity = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateFrozenResults(sendingEvents: RealmList<TimelineEventEntity>?) {
|
||||||
|
// Makes sure to close the previous frozen realm
|
||||||
|
frozenSendingTimelineEvents?.realm?.close()
|
||||||
|
frozenSendingTimelineEvents = sendingEvents?.freeze()
|
||||||
|
}
|
||||||
|
|
||||||
override fun buildSendingEvents(): List<TimelineEvent> {
|
override fun buildSendingEvents(): List<TimelineEvent> {
|
||||||
val builtSendingEvents = mutableListOf<TimelineEvent>()
|
val builtSendingEvents = mutableListOf<TimelineEvent>()
|
||||||
uiEchoManager.getInMemorySendingEvents()
|
uiEchoManager.getInMemorySendingEvents()
|
||||||
|
Loading…
Reference in New Issue
Block a user