add playhead progress indicator to MediaFragment epsiodes
This commit is contained in:
parent
5b5a74a1de
commit
b2196f11da
|
@ -4,6 +4,7 @@ import android.graphics.Color
|
|||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
@ -60,6 +61,14 @@ class EpisodeItemAdapter(
|
|||
.into(holder.binding.imageEpisode)
|
||||
}
|
||||
|
||||
// add watched progress
|
||||
val playheadProgress = playheads[ep.id]?.let { playhead ->
|
||||
((playhead.playhead.toFloat() / (ep.durationMs / 1000)) * 100).toInt()
|
||||
} ?: 0
|
||||
holder.binding.progressPlayhead.setProgressCompat(playheadProgress, false)
|
||||
holder.binding.progressPlayhead.visibility = if (playheadProgress <= 0)
|
||||
View.GONE else View.VISIBLE
|
||||
|
||||
// add watched icon to episode, if the episode id is present in playheads and fullyWatched
|
||||
val watchedImage: Drawable? = if (playheads[ep.id]?.fullyWatched == true) {
|
||||
ContextCompat.getDrawable(context, R.drawable.ic_baseline_check_circle_24)
|
||||
|
|
|
@ -10,21 +10,22 @@
|
|||
android:paddingBottom="7dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linear_episode"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="72dp">
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/image_episode"
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="72dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/component_poster_desc"
|
||||
app:shapeAppearance="@style/ShapeAppearance.Teapod.RoundedPoster"
|
||||
app:srcCompat="@color/imagePlacholder" />
|
||||
app:srcCompat="@color/imagePlaceholder" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_episode_play"
|
||||
|
@ -35,6 +36,15 @@
|
|||
android:contentDescription="@string/button_play"
|
||||
app:srcCompat="@drawable/ic_baseline_play_arrow_24"
|
||||
app:tint="#FFFFFF" />
|
||||
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/progress_playhead"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:max="100"
|
||||
app:trackColor="#00FFFFFF"
|
||||
app:trackThickness="2dp" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
android:padding="7dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_width="192dp"
|
||||
android:layout_height="108dp">
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
android:id="@+id/image_episode"
|
||||
android:layout_width="192dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/component_poster_desc"
|
||||
app:shapeAppearance="@style/ShapeAppearance.Teapod.RoundedPoster"
|
||||
app:srcCompat="@color/imagePlacholder" />
|
||||
app:srcCompat="@color/imagePlaceholder" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_episode_play"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<color name="colorPrimaryLight">#99dc45</color>
|
||||
<color name="colorPrimaryDark">#317a00</color>
|
||||
<color name="colorAccent">#607d8b</color>
|
||||
<color name="imagePlacholder">#c2c2c2</color>
|
||||
<color name="imagePlaceholder">#c2c2c2</color>
|
||||
|
||||
<!-- light theme colors -->
|
||||
<color name="themePrimaryLight">#ffffff</color>
|
||||
|
|
Loading…
Reference in New Issue