mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Fix resume movie/series on TV
This commit is contained in:
parent
93d81ea038
commit
a4ff942be2
2 changed files with 15 additions and 48 deletions
|
@ -443,9 +443,17 @@ class ResultFragmentTv : Fragment() {
|
|||
|
||||
observeNullable(viewModel.resumeWatching) { resume ->
|
||||
binding?.apply {
|
||||
|
||||
// > resultResumeSeries is visible when not null
|
||||
if (resume == null) {
|
||||
resultResumeSeries.isVisible = false
|
||||
return@observeNullable
|
||||
}
|
||||
|
||||
// show progress no matter if series or movie
|
||||
resume?.progress?.let { progress ->
|
||||
resume.progress?.let { progress ->
|
||||
resultResumeSeriesProgressText.setText(progress.progressLeft)
|
||||
resultResumeSeriesProgressText.isVisible = true
|
||||
resultResumeSeriesProgress.apply {
|
||||
isVisible = true
|
||||
this.max = progress.maxProgress
|
||||
|
@ -456,35 +464,14 @@ class ResultFragmentTv : Fragment() {
|
|||
resultResumeProgressHolder.isVisible = false
|
||||
}
|
||||
|
||||
// if movie then hide both as movie button is
|
||||
// always visible on movies, this is done in movie observe
|
||||
|
||||
if (resume?.isMovie == true) {
|
||||
resultPlaySeries.isVisible = false
|
||||
resultResumeSeries.isVisible = false
|
||||
return@observeNullable
|
||||
}
|
||||
|
||||
// if series then
|
||||
// > resultPlaySeries is visible when null
|
||||
// > resultResumeSeries is visible when not null
|
||||
if (resume == null) {
|
||||
resultPlaySeries.isVisible = true
|
||||
resultResumeSeries.isVisible = false
|
||||
return@observeNullable
|
||||
}
|
||||
|
||||
resultPlaySeries.isVisible = false
|
||||
resultPlayMovie.isVisible = false
|
||||
resultResumeSeries.isVisible = true
|
||||
|
||||
focusPlayButton()
|
||||
|
||||
resultResumeSeries.text =
|
||||
if (resume.isMovie) context?.getString(R.string.play_movie_button) else context?.getNameFull(
|
||||
null, // resume.result.name, we don't want episode title
|
||||
resume.result.episode,
|
||||
resume.result.season
|
||||
)
|
||||
if (resume.isMovie) context?.getString(R.string.resume) else "${context?.getString(R.string.resume)} S${resume.result.season}:E${resume.result.episode}"
|
||||
|
||||
resultResumeSeries.setOnClickListener {
|
||||
viewModel.handleAction(
|
||||
|
@ -501,7 +488,6 @@ class ResultFragmentTv : Fragment() {
|
|||
)
|
||||
return@setOnLongClickListener true
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -621,7 +607,6 @@ class ResultFragmentTv : Fragment() {
|
|||
binding?.apply {
|
||||
resultPlayMovie.isVisible = data is Resource.Success
|
||||
resultPlaySeries.isVisible = data == null
|
||||
seriesHolder.isVisible = data == null
|
||||
resultEpisodesShow.isVisible = data == null
|
||||
|
||||
(data as? Resource.Success)?.value?.let { (text, ep) ->
|
||||
|
|
|
@ -229,13 +229,6 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:orientation="horizontal"
|
||||
android:layout_marginTop="10dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="250dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_weight="0"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/result_movie_parent"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -243,6 +236,7 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:layout_gravity="start"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginEnd="10dp"
|
||||
tools:visibility="visible">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
@ -256,12 +250,6 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:visibility="visible"
|
||||
app:icon="@drawable/ic_baseline_play_arrow_24" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/series_holder"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/result_play_series"
|
||||
style="@style/ResultButtonTV"
|
||||
|
@ -276,15 +264,12 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/result_resume_series"
|
||||
style="@style/ResultButtonTV"
|
||||
|
||||
android:nextFocusRight="@id/result_description"
|
||||
android:nextFocusUp="@id/result_play_series"
|
||||
android:nextFocusDown="@id/result_play_trailer"
|
||||
android:text="@string/resume"
|
||||
android:visibility="visible"
|
||||
app:icon="@drawable/ic_baseline_play_arrow_24" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/result_play_trailer"
|
||||
|
@ -335,12 +320,12 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:id="@+id/result_subscribe_button"
|
||||
style="@style/ResultButtonTV"
|
||||
android:nextFocusRight="@id/result_description"
|
||||
android:nextFocusUp="@id/result_favorite_button"
|
||||
android:nextFocusUp="@id/result_bookmark_button"
|
||||
android:nextFocusDown="@id/result_episodes_show"
|
||||
|
||||
android:text="@string/action_subscribe"
|
||||
android:visibility="visible"
|
||||
app:icon="@drawable/ic_baseline_favorite_border_24" />
|
||||
app:icon="@drawable/baseline_notifications_none_24" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
@ -371,7 +356,6 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:focusable="true"
|
||||
android:focusableInTouchMode="true" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/right_layout"
|
||||
|
@ -496,13 +480,11 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
|||
android:paddingEnd="5dp"
|
||||
android:textColor="?attr/grayTextColor"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
tools:ignore="RtlSymmetry"
|
||||
tools:text="69m remaining" />
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue