From c652bb866c4be5ef3345124f4b66ea6a6fd8301a Mon Sep 17 00:00:00 2001 From: rockhero1234 Date: Sat, 18 Oct 2025 14:26:52 +0530 Subject: [PATCH 1/3] circular resume touch fixes --- .../ui/result/ResultFragmentPhone.kt | 10 ++++- app/src/main/res/layout/fragment_result.xml | 39 +++++++++---------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt index 6030b5dc2c..9efd037f99 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt @@ -688,12 +688,12 @@ open class ResultFragmentPhone : FullScreenPlayer() { observeNullable(viewModel.movie) { data -> resultBinding?.apply { - resultPlayMovie.isVisible = data is Resource.Success + resultPlayMovie.isVisible = data is Resource.Success && (viewModel.resumeWatching.value == null) downloadButton.isVisible = data is Resource.Success && viewModel.currentRepo?.api?.hasDownloadSupport == true (data as? Resource.Success)?.value?.let { (text, ep) -> - resultPlayMovie.setText(text) +// resultPlayMovie.setText(text) resultPlayMovie.setOnClickListener { viewModel.handleAction( EpisodeClickEvent(ACTION_CLICK_DEFAULT, ep) @@ -705,6 +705,12 @@ open class ResultFragmentPhone : FullScreenPlayer() { ) return@setOnLongClickListener true } + resultResumeSeriesButton.setOnLongClickListener { + viewModel.handleAction( + EpisodeClickEvent(ACTION_SHOW_OPTIONS, ep) + ) + return@setOnLongClickListener true + } downloadButton.setDefaultClickListener( VideoDownloadHelper.DownloadEpisodeCached( name = ep.name, diff --git a/app/src/main/res/layout/fragment_result.xml b/app/src/main/res/layout/fragment_result.xml index 5b2eb262ec..61829af43e 100644 --- a/app/src/main/res/layout/fragment_result.xml +++ b/app/src/main/res/layout/fragment_result.xml @@ -603,38 +603,34 @@ + android:textStyle="bold" + tools:text="69m remaining" + android:maxLines="1"/> From cf9c9d2c6c69125b52d22cfb1c081610a470ed26 Mon Sep 17 00:00:00 2001 From: rockhero1234 Date: Sun, 19 Oct 2025 12:18:38 +0530 Subject: [PATCH 2/3] better fix --- .../ui/result/ResultFragmentPhone.kt | 110 +++++++++--------- app/src/main/res/layout/fragment_result.xml | 42 ++++--- 2 files changed, 80 insertions(+), 72 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt index 9efd037f99..3632adefaa 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt @@ -591,60 +591,6 @@ open class ResultFragmentPhone : FullScreenPlayer() { } }*/ - observeNullable(viewModel.resumeWatching) { resume -> - resultBinding?.apply { - if (resume == null) { - resultResumeParent.isVisible = false - resultResumeProgressHolder.isVisible = false - return@observeNullable - } - resultResumeParent.isVisible = true - resume.progress?.let { progress -> - resultNextSeriesButton.isVisible = false - resultResumeSeriesTitle.apply { - isVisible = !resume.isMovie - text = - if (resume.isMovie) null else context?.getNameFull( - resume.result.name, - resume.result.episode, - resume.result.season - ) - } - if (resume.isMovie){ - resultPlayMovie.isGone = true - resultResumeSeriesProgressText.isVisible = true - resultResumeSeriesProgressText.setText(progress.progressLeft) - } - resultResumeSeriesProgress.apply { - isVisible = true - this.max = progress.maxProgress - this.progress = progress.progress - } - resultResumeProgressHolder.isVisible = true - } ?: run { - resultResumeProgressHolder.isVisible = false - if(!resume.isMovie){ - resultNextSeriesButton.isVisible = true - resultNextSeriesButton.text =context?.getNameFull( - resume.result.name, - resume.result.episode, - resume.result.season - ) - } - resultResumeSeriesProgress.isVisible = false - resultResumeSeriesTitle.isVisible = false - resultResumeSeriesProgressText.isVisible = false - } - - resultResumeSeriesButton.setOnClickListener { - resumeAction(storedData, resume) - } - resultNextSeriesButton.setOnClickListener { - resumeAction(storedData, resume) - } - } - } - observeNullable(viewModel.subscribeStatus) { isSubscribed -> binding?.resultSubscribe?.isVisible = isSubscribed != null if (isSubscribed == null) return@observeNullable @@ -688,7 +634,7 @@ open class ResultFragmentPhone : FullScreenPlayer() { observeNullable(viewModel.movie) { data -> resultBinding?.apply { - resultPlayMovie.isVisible = data is Resource.Success && (viewModel.resumeWatching.value == null) + resultPlayMovie.isVisible = data is Resource.Success downloadButton.isVisible = data is Resource.Success && viewModel.currentRepo?.api?.hasDownloadSupport == true @@ -750,6 +696,60 @@ open class ResultFragmentPhone : FullScreenPlayer() { } } + observeNullable(viewModel.resumeWatching) { resume -> + resultBinding?.apply { + if (resume == null) { + resultResumeParent.isVisible = false + resultResumeProgressHolder.isVisible = false + return@observeNullable + } + resultResumeParent.isVisible = true + resume.progress?.let { progress -> + resultNextSeriesButton.isVisible = false + resultResumeSeriesTitle.apply { + isVisible = !resume.isMovie + text = + if (resume.isMovie) null else context?.getNameFull( + resume.result.name, + resume.result.episode, + resume.result.season + ) + } + if (resume.isMovie){ + resultPlayMovie.isGone = true + resultResumeSeriesProgressText.isVisible = true + resultResumeSeriesProgressText.setText(progress.progressLeft) + } + resultResumeSeriesProgress.apply { + isVisible = true + this.max = progress.maxProgress + this.progress = progress.progress + } + resultResumeProgressHolder.isVisible = true + } ?: run { + resultResumeProgressHolder.isVisible = false + if(!resume.isMovie){ + resultNextSeriesButton.isVisible = true + resultNextSeriesButton.text =context?.getNameFull( + resume.result.name, + resume.result.episode, + resume.result.season + ) + } + resultResumeSeriesProgress.isVisible = false + resultResumeSeriesTitle.isVisible = false + resultResumeSeriesProgressText.isVisible = false + } + + resultResumeSeriesButton.setOnClickListener { + resumeAction(storedData, resume) + } + resultNextSeriesButton.setOnClickListener { + resumeAction(storedData, resume) + } + } + } + observe(viewModel.page) { data -> if (data == null) return@observe resultBinding?.apply { diff --git a/app/src/main/res/layout/fragment_result.xml b/app/src/main/res/layout/fragment_result.xml index 61829af43e..8d51fee036 100644 --- a/app/src/main/res/layout/fragment_result.xml +++ b/app/src/main/res/layout/fragment_result.xml @@ -603,34 +603,42 @@ + android:textStyle="bold" + tools:ignore="RtlSymmetry" + android:textSize="15sp" + android:visibility="gone" + tools:visibility="visible" + android:maxLines="1" + android:textAllCaps="false" + android:clickable="false" + android:focusable="false"/> From da98f6f98de638b6999e733f4aaf7ddfcdabf620 Mon Sep 17 00:00:00 2001 From: rockhero1234 <149141736+rockhero1234@users.noreply.github.com> Date: Thu, 23 Oct 2025 22:57:07 +0530 Subject: [PATCH 3/3] fix --- .../com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt index 3632adefaa..ec8ff6929e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentPhone.kt @@ -639,7 +639,7 @@ open class ResultFragmentPhone : FullScreenPlayer() { data is Resource.Success && viewModel.currentRepo?.api?.hasDownloadSupport == true (data as? Resource.Success)?.value?.let { (text, ep) -> -// resultPlayMovie.setText(text) + resultPlayMovie.setText(text) resultPlayMovie.setOnClickListener { viewModel.handleAction( EpisodeClickEvent(ACTION_CLICK_DEFAULT, ep)