From 527a6388a96a4fa961e1544e6b54acdf6a6f5ee5 Mon Sep 17 00:00:00 2001
From: LagradOst <11805592+LagradOst@users.noreply.github.com>
Date: Thu, 21 Sep 2023 22:46:23 +0200
Subject: [PATCH 1/2] small fix
---
.../lagradost/cloudstream3/ui/result/ResultFragmentTv.kt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt
index 4503cb88..7c784a43 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragmentTv.kt
@@ -648,6 +648,9 @@ class ResultFragmentTv : Fragment() {
.show()
}
}
+
+ // Used to request focus the first time the episodes are loaded.
+ var hasLoadedEpisodesOnce = false
observeNullable(viewModel.episodes) { episodes ->
binding?.apply {
resultEpisodes.isVisible = episodes is Resource.Success
@@ -675,7 +678,10 @@ class ResultFragmentTv : Fragment() {
)
return@setOnLongClickListener true
}
- focusPlayButton()
+ if (!hasLoadedEpisodesOnce) {
+ hasLoadedEpisodesOnce = true
+ focusPlayButton()
+ }
}
/*
From d4fff7cee67d8f7b5e610caf98c5d1816cabac83 Mon Sep 17 00:00:00 2001
From: CranberrySoup <142951702+CranberrySoup@users.noreply.github.com>
Date: Thu, 21 Sep 2023 20:50:31 +0000
Subject: [PATCH 2/2] Add homepage search on TV (#618)
* Add search button on homepage for TV
---
.../lagradost/cloudstream3/MainActivity.kt | 1 +
.../ui/home/HomeParentItemAdapterPreview.kt | 5 ++++
.../ui/quicksearch/QuickSearchFragment.kt | 5 ++++
app/src/main/res/layout/fragment_home.xml | 16 +++++++++++++
.../main/res/layout/fragment_home_head_tv.xml | 20 ++++++++++++++--
app/src/main/res/layout/fragment_home_tv.xml | 24 +++++++++++++++++--
6 files changed, 67 insertions(+), 4 deletions(-)
diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt
index 263a40f0..627893c3 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt
@@ -497,6 +497,7 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener {
R.id.navigation_results_phone,
R.id.navigation_results_tv,
R.id.navigation_player,
+ R.id.navigation_quick_search,
).contains(destination.id)
binding?.navHostFragment?.apply {
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt
index 1d8e1399..d7956f39 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt
@@ -461,6 +461,11 @@ class HomeParentItemAdapterPreview(
}
}
+ homePreviewSearchButton.setOnClickListener { _ ->
+ // Open blank screen.
+ viewModel.queryTextSubmit("")
+ }
+
// This makes the hidden next buttons only available when on the info button
// Otherwise you might be able to go to the next item without being at the info button
homePreviewInfoBtt.setOnFocusChangeListener { _, hasFocus ->
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt
index 89a09ae2..53c7c2fa 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/quicksearch/QuickSearchFragment.kt
@@ -33,6 +33,7 @@ import com.lagradost.cloudstream3.ui.search.SearchAdapter
import com.lagradost.cloudstream3.ui.search.SearchClickCallback
import com.lagradost.cloudstream3.ui.search.SearchHelper
import com.lagradost.cloudstream3.ui.search.SearchViewModel
+import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings
import com.lagradost.cloudstream3.utils.AppUtils.ownShow
import com.lagradost.cloudstream3.utils.UIHelper
import com.lagradost.cloudstream3.utils.UIHelper.fixPaddingStatusbar
@@ -269,6 +270,10 @@ class QuickSearchFragment : Fragment() {
activity?.popCurrentPage()
}
+ if (isTrueTvSettings()) {
+ binding?.quickSearch?.requestFocus()
+ }
+
arguments?.getString(AUTOSEARCH_KEY)?.let {
binding?.quickSearch?.setQuery(it, true)
arguments?.remove(AUTOSEARCH_KEY)
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index ac660ccd..36cb5f42 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -114,6 +114,22 @@
android:nextFocusRight="@id/home_switch_account"
/>
+
+
+
+
+ android:nextFocusRight="@id/home_preview_search_button"
+ android:nextFocusDown="@id/home_preview_play_btt" />
+
+