Merge pull request #334 from vector-im/feature/general_perf

Feature/general perf
This commit is contained in:
ganfra
2019-07-11 15:52:00 +02:00
committed by GitHub
25 changed files with 121 additions and 115 deletions

View File

@ -18,6 +18,7 @@ package im.vector.riotx.features.home.room.detail.timeline
import android.os.Handler
import android.os.Looper
import android.util.LongSparseArray
import android.view.View
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListUpdateCallback
@ -82,8 +83,8 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Tim
fun onUrlLongClicked(url: String): Boolean
}
private val collapsedEventIds = linkedSetOf<String>()
private val mergeItemCollapseStates = HashMap<String, Boolean>()
private val collapsedEventIds = linkedSetOf<Long>()
private val mergeItemCollapseStates = HashMap<Long,Boolean>()
private val modelCache = arrayListOf<CacheItemData?>()
private var currentSnapshot: List<TimelineEvent> = emptyList()
@ -298,7 +299,7 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Tim
} else {
collapsedEventIds.removeAll(mergedEventIds)
}
val mergeId = mergedEventIds.joinToString(separator = "_") { it }
val mergeId = mergedEventIds.joinToString(separator = "_") { it.toString() }
MergedHeaderItem(isCollapsed, mergeId, mergedData, avatarRenderer) {
mergeItemCollapseStates[event.localId] = it
requestModelBuild()
@ -329,7 +330,7 @@ class TimelineEventController @Inject constructor(private val dateFormatter: Tim
}
private data class CacheItemData(
val localId: String,
val localId: Long,
val eventId: String?,
val eventModel: EpoxyModel<*>? = null,
val mergedHeaderModel: MergedHeaderItem? = null,

View File

@ -78,7 +78,7 @@ data class MergedHeaderItem(private val isCollapsed: Boolean,
}
data class Data(
val eventId: String,
val eventId: Long,
val userId: String,
val memberName: String,
val avatarUrl: String?