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 ->
|
observeNullable(viewModel.resumeWatching) { resume ->
|
||||||
binding?.apply {
|
binding?.apply {
|
||||||
|
|
||||||
|
// > resultResumeSeries is visible when not null
|
||||||
|
if (resume == null) {
|
||||||
|
resultResumeSeries.isVisible = false
|
||||||
|
return@observeNullable
|
||||||
|
}
|
||||||
|
|
||||||
// show progress no matter if series or movie
|
// show progress no matter if series or movie
|
||||||
resume?.progress?.let { progress ->
|
resume.progress?.let { progress ->
|
||||||
resultResumeSeriesProgressText.setText(progress.progressLeft)
|
resultResumeSeriesProgressText.setText(progress.progressLeft)
|
||||||
|
resultResumeSeriesProgressText.isVisible = true
|
||||||
resultResumeSeriesProgress.apply {
|
resultResumeSeriesProgress.apply {
|
||||||
isVisible = true
|
isVisible = true
|
||||||
this.max = progress.maxProgress
|
this.max = progress.maxProgress
|
||||||
|
@ -456,35 +464,14 @@ class ResultFragmentTv : Fragment() {
|
||||||
resultResumeProgressHolder.isVisible = false
|
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
|
resultPlaySeries.isVisible = false
|
||||||
|
resultPlayMovie.isVisible = false
|
||||||
resultResumeSeries.isVisible = true
|
resultResumeSeries.isVisible = true
|
||||||
|
|
||||||
focusPlayButton()
|
focusPlayButton()
|
||||||
|
|
||||||
resultResumeSeries.text =
|
resultResumeSeries.text =
|
||||||
if (resume.isMovie) context?.getString(R.string.play_movie_button) else context?.getNameFull(
|
if (resume.isMovie) context?.getString(R.string.resume) else "${context?.getString(R.string.resume)} S${resume.result.season}:E${resume.result.episode}"
|
||||||
null, // resume.result.name, we don't want episode title
|
|
||||||
resume.result.episode,
|
|
||||||
resume.result.season
|
|
||||||
)
|
|
||||||
|
|
||||||
resultResumeSeries.setOnClickListener {
|
resultResumeSeries.setOnClickListener {
|
||||||
viewModel.handleAction(
|
viewModel.handleAction(
|
||||||
|
@ -501,7 +488,6 @@ class ResultFragmentTv : Fragment() {
|
||||||
)
|
)
|
||||||
return@setOnLongClickListener true
|
return@setOnLongClickListener true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -621,7 +607,6 @@ class ResultFragmentTv : Fragment() {
|
||||||
binding?.apply {
|
binding?.apply {
|
||||||
resultPlayMovie.isVisible = data is Resource.Success
|
resultPlayMovie.isVisible = data is Resource.Success
|
||||||
resultPlaySeries.isVisible = data == null
|
resultPlaySeries.isVisible = data == null
|
||||||
seriesHolder.isVisible = data == null
|
|
||||||
resultEpisodesShow.isVisible = data == null
|
resultEpisodesShow.isVisible = data == null
|
||||||
|
|
||||||
(data as? Resource.Success)?.value?.let { (text, ep) ->
|
(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:orientation="horizontal"
|
||||||
android:layout_marginTop="10dp">
|
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
|
<LinearLayout
|
||||||
android:id="@+id/result_movie_parent"
|
android:id="@+id/result_movie_parent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -243,6 +236,7 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:animateLayoutChanges="true"
|
android:animateLayoutChanges="true"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
|
@ -256,12 +250,6 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:icon="@drawable/ic_baseline_play_arrow_24" />
|
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
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/result_play_series"
|
android:id="@+id/result_play_series"
|
||||||
style="@style/ResultButtonTV"
|
style="@style/ResultButtonTV"
|
||||||
|
@ -276,15 +264,12 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/result_resume_series"
|
android:id="@+id/result_resume_series"
|
||||||
style="@style/ResultButtonTV"
|
style="@style/ResultButtonTV"
|
||||||
|
|
||||||
android:nextFocusRight="@id/result_description"
|
android:nextFocusRight="@id/result_description"
|
||||||
android:nextFocusUp="@id/result_play_series"
|
android:nextFocusUp="@id/result_play_series"
|
||||||
android:nextFocusDown="@id/result_play_trailer"
|
android:nextFocusDown="@id/result_play_trailer"
|
||||||
android:text="@string/resume"
|
android:text="@string/resume"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:icon="@drawable/ic_baseline_play_arrow_24" />
|
app:icon="@drawable/ic_baseline_play_arrow_24" />
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/result_play_trailer"
|
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"
|
android:id="@+id/result_subscribe_button"
|
||||||
style="@style/ResultButtonTV"
|
style="@style/ResultButtonTV"
|
||||||
android:nextFocusRight="@id/result_description"
|
android:nextFocusRight="@id/result_description"
|
||||||
android:nextFocusUp="@id/result_favorite_button"
|
android:nextFocusUp="@id/result_bookmark_button"
|
||||||
android:nextFocusDown="@id/result_episodes_show"
|
android:nextFocusDown="@id/result_episodes_show"
|
||||||
|
|
||||||
android:text="@string/action_subscribe"
|
android:text="@string/action_subscribe"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:icon="@drawable/ic_baseline_favorite_border_24" />
|
app:icon="@drawable/baseline_notifications_none_24" />
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
|
@ -370,7 +355,6 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:focusableInTouchMode="true" />
|
android:focusableInTouchMode="true" />
|
||||||
</LinearLayout>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@ -496,13 +480,11 @@ https://developer.android.com/design/ui/tv/samples/jet-fit
|
||||||
android:paddingEnd="5dp"
|
android:paddingEnd="5dp"
|
||||||
android:textColor="?attr/grayTextColor"
|
android:textColor="?attr/grayTextColor"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
tools:ignore="RtlSymmetry"
|
tools:ignore="RtlSymmetry"
|
||||||
tools:text="69m remaining" />
|
tools:text="69m remaining" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue