Skip to content
Snippets Groups Projects
Commit 0139d3f8 authored by Geoffrey Métais's avatar Geoffrey Métais Committed by Nicolas Pomepuy
Browse files

No need for I/O queries for folders count

parent 283f3e17
No related branches found
No related tags found
1 merge request!460Folders count
Pipeline #14074 passed with stage
in 35 minutes and 30 seconds
......@@ -129,8 +129,6 @@ class VideoListAdapter(private var isSeenMediaMarkerVisible: Boolean
override fun onViewRecycled(holder: ViewHolder) {
holder.binding.setVariable(BR.cover, UiTools.getDefaultVideoDrawable(holder.itemView.context))
holder.job?.cancel()
holder.job = null
}
override fun getItem(position: Int) = if (isPositionValid(position)) super.getItem(position) else null
......@@ -139,14 +137,13 @@ class VideoListAdapter(private var isSeenMediaMarkerVisible: Boolean
private fun fillView(holder: ViewHolder, item: MediaLibraryItem) {
when (item) {
is Folder -> holder.job = holder.itemView.scope.launch(start = CoroutineStart.UNDISPATCHED) {
val count = withContext(Dispatchers.IO) { item.mediaCount(Folder.TYPE_FOLDER_VIDEO) }
holder.binding.setVariable(BR.time, holder.itemView.context.resources.getQuantityString(R.plurals.videos_quantity, count, count))
is Folder -> {
holder.title.text = item.title
if (!isListMode) holder.binding.setVariable(BR.resolution, null)
holder.binding.setVariable(BR.seen, 0L)
holder.binding.setVariable(BR.max, 0)
holder.job = null
val count = item.mediaCount(Folder.TYPE_FOLDER_VIDEO)
holder.binding.setVariable(BR.time, holder.itemView.context.resources.getQuantityString(R.plurals.videos_quantity, count, count))
}
is VideoGroup -> holder.itemView.scope.launch {
val count = item.mediaCount()
......@@ -200,7 +197,6 @@ class VideoListAdapter(private var isSeenMediaMarkerVisible: Boolean
inner class ViewHolder(binding: ViewDataBinding) : SelectorViewHolder<ViewDataBinding>(binding) {
val overlay: ImageView = itemView.findViewById(R.id.ml_item_overlay)
val title : TextView = itemView.findViewById(R.id.ml_item_title)
var job: Job? = null
init {
binding.setVariable(BR.holder, this)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment