mirror of
https://github.com/element-hq/element-android
synced 2024-11-28 13:38:49 +03:00
Timeline: small on fixes on new implementation
This commit is contained in:
parent
9238037067
commit
4f145e365e
2 changed files with 8 additions and 4 deletions
|
@ -109,7 +109,6 @@ class DefaultTimeline internal constructor(private val roomId: String,
|
||||||
ensureReadReceiptAreLoaded(realm)
|
ensureReadReceiptAreLoaded(realm)
|
||||||
backgroundRealm.set(realm)
|
backgroundRealm.set(realm)
|
||||||
openAround(initialEventId)
|
openAround(initialEventId)
|
||||||
strategy.onStart()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,6 +58,7 @@ import im.vector.app.features.home.room.detail.timeline.url.PreviewUrlRetriever
|
||||||
import im.vector.app.features.media.ImageContentRenderer
|
import im.vector.app.features.media.ImageContentRenderer
|
||||||
import im.vector.app.features.media.VideoContentRenderer
|
import im.vector.app.features.media.VideoContentRenderer
|
||||||
import im.vector.app.features.settings.VectorPreferences
|
import im.vector.app.features.settings.VectorPreferences
|
||||||
|
import org.matrix.android.sdk.api.extensions.orFalse
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import org.matrix.android.sdk.api.session.events.model.EventType
|
import org.matrix.android.sdk.api.session.events.model.EventType
|
||||||
import org.matrix.android.sdk.api.session.events.model.toModel
|
import org.matrix.android.sdk.api.session.events.model.toModel
|
||||||
|
@ -355,7 +356,7 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Vec
|
||||||
timelineEventVisibilityHelper.shouldShowEvent(it, partialState.highlightedEventId)
|
timelineEventVisibilityHelper.shouldShowEvent(it, partialState.highlightedEventId)
|
||||||
}
|
}
|
||||||
// Should be build if not cached or if model should be refreshed
|
// Should be build if not cached or if model should be refreshed
|
||||||
if (modelCache[position] == null || modelCache[position]?.isCacheable == false) {
|
if (modelCache[position] == null || modelCache[position]?.isCacheable(partialState).orFalse()) {
|
||||||
val timelineEventsGroup = timelineEventsGroups.getOrNull(event)
|
val timelineEventsGroup = timelineEventsGroups.getOrNull(event)
|
||||||
val params = TimelineItemFactoryParams(
|
val params = TimelineItemFactoryParams(
|
||||||
event = event,
|
event = event,
|
||||||
|
@ -537,6 +538,10 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Vec
|
||||||
val eventModel: EpoxyModel<*>? = null,
|
val eventModel: EpoxyModel<*>? = null,
|
||||||
val mergedHeaderModel: BasedMergedItem<*>? = null,
|
val mergedHeaderModel: BasedMergedItem<*>? = null,
|
||||||
val formattedDayModel: DaySeparatorItem? = null,
|
val formattedDayModel: DaySeparatorItem? = null,
|
||||||
val isCacheable: Boolean = true
|
private val isCacheable: Boolean = true
|
||||||
)
|
) {
|
||||||
|
fun isCacheable(partialState: PartialState): Boolean {
|
||||||
|
return isCacheable || partialState.highlightedEventId == eventId
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue