From bd83d7d10aa2676f2c1b4723648899785a881970 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 18 Sep 2022 19:01:56 +0200 Subject: [PATCH 1/2] fix pref not being greyed out --- .../java/com/github/libretube/preferences/PlayerSettings.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/libretube/preferences/PlayerSettings.kt b/app/src/main/java/com/github/libretube/preferences/PlayerSettings.kt index 90ff99b20..aaa869e0f 100644 --- a/app/src/main/java/com/github/libretube/preferences/PlayerSettings.kt +++ b/app/src/main/java/com/github/libretube/preferences/PlayerSettings.kt @@ -25,7 +25,7 @@ class PlayerSettings : MaterialPreferenceFragment() { findPreference(PreferenceKeys.AUTO_FULLSCREEN) // only show the player orientation option if auto fullscreen is disabled - playerOrientation?.isEnabled != PreferenceHelper.getBoolean( + playerOrientation?.isEnabled = !PreferenceHelper.getBoolean( PreferenceKeys.AUTO_FULLSCREEN, false ) From e32758d17d43164d08bf2f7f8fee825f16c77ab4 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 18 Sep 2022 19:13:51 +0200 Subject: [PATCH 2/2] add pref for background feed loading --- .../com/github/libretube/constants/PreferenceKeys.kt | 1 + .../libretube/fragments/SubscriptionsFragment.kt | 10 +++++++++- app/src/main/res/drawable/ic_loading.xml | 11 +++++++++++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/advanced_settings.xml | 6 ++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/drawable/ic_loading.xml diff --git a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt index 66a335d62..8d572348c 100644 --- a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt +++ b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt @@ -19,6 +19,7 @@ object PreferenceKeys { const val AUTO_ROTATION = "auto_rotation" const val BREAK_REMINDER_TOGGLE = "break_reminder_toggle" const val BREAK_REMINDER = "break_reminder" + const val SAVE_FEED = "save_feed" /** * Appearance diff --git a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt index fe89aa229..eb8412763 100644 --- a/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt +++ b/app/src/main/java/com/github/libretube/fragments/SubscriptionsFragment.kt @@ -39,6 +39,11 @@ class SubscriptionsFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + val loadFeedInBackground = PreferenceHelper.getBoolean( + PreferenceKeys.SAVE_FEED, + false + ) + binding.subRefresh.isEnabled = true binding.subProgress.visibility = View.VISIBLE @@ -50,7 +55,10 @@ class SubscriptionsFragment : BaseFragment() { binding.subFeed.layoutManager = GridLayoutManager(view.context, grid.toInt()) - if (viewModel.videoFeed.value == null) viewModel.fetchFeed() + if (viewModel.videoFeed.value == null || !loadFeedInBackground) { + viewModel.videoFeed.value = null + viewModel.fetchFeed() + } // listen for error responses viewModel.errorResponse.observe(viewLifecycleOwner) { diff --git a/app/src/main/res/drawable/ic_loading.xml b/app/src/main/res/drawable/ic_loading.xml new file mode 100644 index 000000000..b49213e11 --- /dev/null +++ b/app/src/main/res/drawable/ic_loading.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 01d657560..4cfdce884 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -327,6 +327,8 @@ Local subscriptions Preferences Custom Instances + Load feed in background + Load the subscription feed in the background and prevent it from being auto-refreshed. Download Service diff --git a/app/src/main/res/xml/advanced_settings.xml b/app/src/main/res/xml/advanced_settings.xml index a596e7237..b48fd81bb 100644 --- a/app/src/main/res/xml/advanced_settings.xml +++ b/app/src/main/res/xml/advanced_settings.xml @@ -30,6 +30,12 @@ app:key="new_videos_badge" app:title="@string/new_videos_badge" /> + +