From c9b1c3187c42b580e8d905a39fbfef236702ad30 Mon Sep 17 00:00:00 2001 From: firelight <147925818+fire-light42@users.noreply.github.com> Date: Fri, 6 Dec 2024 15:45:31 +0000 Subject: [PATCH] fix #1418 --- .../main/java/com/lagradost/cloudstream3/MainActivity.kt | 2 +- .../cloudstream3/ui/download/DownloadFragment.kt | 2 +- .../com/lagradost/cloudstream3/ui/home/HomeViewModel.kt | 2 +- .../lagradost/cloudstream3/ui/library/LibraryFragment.kt | 1 + .../lagradost/cloudstream3/ui/result/ResultFragment.kt | 8 +++++++- .../cloudstream3/ui/result/ResultFragmentPhone.kt | 6 ++++++ .../com/lagradost/cloudstream3/utils/AppContextUtils.kt | 6 ++++-- app/src/main/res/navigation/mobile_navigation.xml | 3 +++ 8 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt index 60b743711b..bc2419f4d0 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt @@ -356,7 +356,7 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa synchronized(apis) { for (api in apis) { if (str.startsWith(api.mainUrl)) { - loadResult(str, api.name) + loadResult(str, api.name, "") return true } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/download/DownloadFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/download/DownloadFragment.kt index dfa7635c13..e045df8ed8 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/download/DownloadFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/download/DownloadFragment.kt @@ -244,7 +244,7 @@ class DownloadFragment : Fragment() { } DOWNLOAD_ACTION_LOAD_RESULT -> { - activity?.loadResult(click.data.url, click.data.apiName) + activity?.loadResult(click.data.url, click.data.apiName, click.data.name) } } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt index 06bbe83a20..07f34ab606 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt @@ -481,7 +481,7 @@ class HomeViewModel : ViewModel() { } fun click(load: LoadClickCallback) { - loadResult(load.response.url, load.response.apiName, load.action) + loadResult(load.response.url, load.response.apiName, load.response.name, load.action) } // only save the key if it is from UI, as we don't want internal functions changing the setting diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/library/LibraryFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/library/LibraryFragment.kt index 8e3abf058f..64c05bce15 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/library/LibraryFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/library/LibraryFragment.kt @@ -561,6 +561,7 @@ class LibraryFragment : Fragment() { activity?.loadResult( card.url, apiName, + card.name ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt index 3eab0c7147..c12f011831 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt @@ -124,6 +124,7 @@ fun ResultEpisode.getWatchProgress(): Float { object ResultFragment { private const val URL_BUNDLE = "url" + private const val NAME_BUNDLE = "name" private const val API_NAME_BUNDLE = "apiName" private const val SEASON_BUNDLE = "season" private const val EPISODE_BUNDLE = "episode" @@ -137,6 +138,7 @@ object ResultFragment { return Bundle().apply { putString(URL_BUNDLE, card.url) putString(API_NAME_BUNDLE, card.apiName) + putString(NAME_BUNDLE, card.name) if (card is DataStoreHelper.ResumeWatchingResult) { if (card.season != null) putInt(SEASON_BUNDLE, card.season) @@ -155,12 +157,14 @@ object ResultFragment { fun newInstance( url: String, apiName: String, + name : String, startAction: Int = 0, startValue: Int = 0 ): Bundle { return Bundle().apply { putString(URL_BUNDLE, url) putString(API_NAME_BUNDLE, apiName) + putString(NAME_BUNDLE, name) putInt(START_ACTION_BUNDLE, startAction) putInt(START_VALUE_BUNDLE, startValue) putBoolean(RESTART_BUNDLE, true) @@ -218,6 +222,7 @@ object ResultFragment { data class StoredData( val url: String, val apiName: String, + val name : String, val showFillers: Boolean, val dubStatus: DubStatus, val start: AutoResume?, @@ -230,6 +235,7 @@ object ResultFragment { val settingsManager = PreferenceManager.getDefaultSharedPreferences(context) val url = arguments?.getString(URL_BUNDLE) ?: return null val apiName = arguments?.getString(API_NAME_BUNDLE) ?: return null + val name = arguments?.getString(NAME_BUNDLE) ?: return null val showFillers = settingsManager.getBoolean(context.getString(R.string.show_fillers_key), false) val dubStatus = if (context.getApiDubstatusSettings() @@ -258,7 +264,7 @@ object ResultFragment { season = resumeSeason ) } - return StoredData(url, apiName, showFillers, dubStatus, start, playerAction, restart) + return StoredData(url, apiName, name, showFillers, dubStatus, start, playerAction, restart) } /*private fun reloadViewModel(forceReload: Boolean) { 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 d08f3899db..60f9c5ad05 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 @@ -353,6 +353,11 @@ open class ResultFragmentPhone : FullScreenPlayer() { // ===== ===== ===== + binding?.resultSearch?.isGone = storedData.name.isBlank() + binding?.resultSearch?.setOnClickListener { + QuickSearchFragment.pushSearch(activity, storedData.name) + } + resultBinding?.apply { resultReloadConnectionerror.setOnClickListener { viewModel.load( @@ -745,6 +750,7 @@ open class ResultFragmentPhone : FullScreenPlayer() { } binding?.apply { + resultSearch.isGone = d.title.isBlank() resultSearch.setOnClickListener { QuickSearchFragment.pushSearch(activity, d.title) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/AppContextUtils.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/AppContextUtils.kt index 7da76dbd7f..9f28965caf 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/AppContextUtils.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/AppContextUtils.kt @@ -756,15 +756,17 @@ object AppContextUtils { fun loadResult( url: String, apiName: String, + name : String, startAction: Int = 0, startValue: Int = 0 ) { - (activity as FragmentActivity?)?.loadResult(url, apiName, startAction, startValue) + (activity as FragmentActivity?)?.loadResult(url, apiName, name, startAction, startValue) } fun FragmentActivity.loadResult( url: String, apiName: String, + name : String, startAction: Int = 0, startValue: Int = 0 ) { @@ -780,7 +782,7 @@ object AppContextUtils { // viewModelStore.clear() this.navigate( getResultsId(), - ResultFragment.newInstance(url, apiName, startAction, startValue) + ResultFragment.newInstance(url, apiName, name, startAction, startValue) ) } } diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml index fafb696829..0ad82bb529 100644 --- a/app/src/main/res/navigation/mobile_navigation.xml +++ b/app/src/main/res/navigation/mobile_navigation.xml @@ -43,6 +43,9 @@ +