Skip to content
Snippets Groups Projects
Commit a0c92909 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy
Browse files

Add a progressbar to the video thumbnail while they are generated

Fixes #844
parent 5bfe74f4
No related branches found
No related tags found
1 merge request!1763Add a progressbar to the video thumbnail while they are generated
Pipeline #364323 failed with stage
in 1 hour, 15 minutes, and 1 second
......@@ -33,6 +33,10 @@
name="isFavorite"
type="boolean" />
<variable
name="showProgress"
type="boolean" />
<variable
name="inSelection"
type="boolean" />
......@@ -303,6 +307,17 @@
vlc:layout_constraintEnd_toEndOf="parent"
vlc:layout_constraintStart_toStartOf="parent" />
<ProgressBar
android:id="@+id/thumb_progress"
style="?android:attr/progressBarStyle"
android:layout_width="32dp"
android:layout_height="32dp"
android:visibility="@{showProgress ? View.VISIBLE : View.GONE}"
vlc:layout_constraintBottom_toBottomOf="parent"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent"
vlc:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- Image loading is handled by org.videolan.vlc.gui.helpers.ImageLoader.loadImage() -->
......
......@@ -33,6 +33,11 @@
name="isFavorite"
type="boolean" />
<variable
name="showProgress"
type="boolean" />
<variable
name="inSelection"
type="boolean" />
......@@ -222,6 +227,16 @@
vlc:layout_constraintBottom_toBottomOf="@+id/ml_item_thumbnail"
vlc:layout_constraintEnd_toEndOf="@+id/ml_item_thumbnail"
vlc:layout_constraintStart_toStartOf="@+id/ml_item_thumbnail" />
<ProgressBar
android:id="@+id/thumb_progress"
style="?android:attr/progressBarStyle"
android:layout_width="24dp"
android:layout_height="24dp"
android:visibility="@{showProgress ? View.VISIBLE : View.GONE}"
vlc:layout_constraintStart_toStartOf="parent"
vlc:layout_constraintTop_toTopOf="parent"
vlc:layout_constraintBottom_toBottomOf="parent"
vlc:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
......
......@@ -303,6 +303,7 @@ fun updateImageView(bitmap: Bitmap?, target: View, vdb: ViewDataBinding?, update
vdb.setVariable(BR.scaleType, if (card) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER)
vdb.setVariable(BR.cover, BitmapDrawable(target.resources, bitmap))
vdb.setVariable(BR.protocol, null)
vdb.setVariable(BR.showProgress, false)
} else when (target) {
is ImageView -> {
if (updateScaleType) target.scaleType = if (tv) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
......
......@@ -101,7 +101,10 @@ class VideoListAdapter(private var isSeenMediaMarkerVisible: Boolean
fillView(holder, item)
holder.binding.setVariable(BR.media, item)
holder.selectView(multiSelectHelper.isSelected(position))
item.let { holder.binding.setVariable(BR.isFavorite, it.isFavorite) }
item.let {
holder.binding.setVariable(BR.isFavorite, it.isFavorite)
holder.binding.setVariable(BR.showProgress, item.artworkMrl.isNullOrBlank())
}
}
override fun onBindViewHolder(holder: ViewHolder, position: Int, payloads: List<Any>) {
......
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