[Android] Migrate the interface settings to the visibility manager
Nicolas Pomepuy
git at videolan.org
Wed Apr 2 11:59:28 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Apr 2 07:40:14 2025 +0200| [1e9eb90f638c0340d1317e4a22ead35ccfcce28f] | committer: Duncan McNamara
Migrate the interface settings to the visibility manager
> https://code.videolan.org/videolan/vlc-android/commit/1e9eb90f638c0340d1317e4a22ead35ccfcce28f
---
.../videolan/television/ui/preferences/PreferencesUi.kt | 17 ++++++++++++-----
.../vlc/gui/preferences/PreferenceVisibilityManager.kt | 9 ++++++++-
.../org/videolan/vlc/gui/preferences/PreferencesUi.kt | 2 --
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
index 2770a7affe..433e7c61e4 100644
--- a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
@@ -39,7 +39,18 @@ import org.videolan.medialibrary.Tools
import org.videolan.resources.AppContextProvider
import org.videolan.television.ui.browser.REQUEST_CODE_RESTART_APP
import org.videolan.television.ui.dialogs.ConfirmationTvActivity
-import org.videolan.tools.*
+import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES
+import org.videolan.tools.KEY_SHOW_HEADERS
+import org.videolan.tools.LocaleUtils
+import org.videolan.tools.PLAYLIST_MODE_VIDEO
+import org.videolan.tools.PREF_TV_UI
+import org.videolan.tools.SHOW_VIDEO_THUMBNAILS
+import org.videolan.tools.SLEEP_TIMER_DEFAULT_INTERVAL
+import org.videolan.tools.SLEEP_TIMER_DEFAULT_RESET_INTERACTION
+import org.videolan.tools.SLEEP_TIMER_DEFAULT_WAIT
+import org.videolan.tools.Settings
+import org.videolan.tools.TV_FOLDERS_FIRST
+import org.videolan.tools.putSingle
import org.videolan.vlc.BuildConfig
import org.videolan.vlc.R
import org.videolan.vlc.gui.dialogs.FeatureTouchOnlyWarningDialog
@@ -63,10 +74,6 @@ class PreferencesUi : BasePreferenceFragment(), SharedPreferences.OnSharedPrefer
super.onCreate(savedInstanceState)
tvUiPref = findPreference(PREF_TV_UI)!!
tvUiPref.setDefaultValue(true)
- findPreference<Preference>(KEY_APP_THEME)?.isVisible = false
- findPreference<Preference>(LIST_TITLE_ELLIPSIZE)?.isVisible = false
- findPreference<Preference>(TV_FOLDERS_FIRST)?.isVisible = true
- findPreference<Preference>(BROWSER_SHOW_HIDDEN_FILES)?.isVisible = true
prepareLocaleList()
currentLocale = AppContextProvider.locale
}
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
index 2da079cff2..0439884c38 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
@@ -31,8 +31,14 @@ import androidx.preference.children
import org.videolan.libvlc.util.AndroidUtil
import org.videolan.resources.AndroidDevices
import org.videolan.tools.AUDIO_DUCKING
+import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES
import org.videolan.tools.KEY_AOUT
+import org.videolan.tools.KEY_APP_THEME
+import org.videolan.tools.LIST_TITLE_ELLIPSIZE
+import org.videolan.tools.PLAYLIST_MODE_AUDIO
+import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.RESUME_PLAYBACK
+import org.videolan.tools.TV_FOLDERS_FIRST
import org.videolan.vlc.BuildConfig
import org.videolan.vlc.VlcMigrationHelper
import org.videolan.vlc.gui.preferences.PreferenceVisibilityManager.isPreferenceVisible
@@ -52,7 +58,8 @@ object PreferenceVisibilityManager {
RESUME_PLAYBACK -> AndroidDevices.isPhone && !forTv
KEY_AOUT -> VlcMigrationHelper.getAudioOutputFromDevice() == VlcMigrationHelper.AudioOutput.ALL
"audio_digital_output" -> sharedPreferences.getString("aout", "0") != "2"
- "enable_headset_detection", "enable_play_on_headset_insertion", "ignore_headset_media_button_presses", "headset_prefs_category" -> !forTv
+ KEY_APP_THEME, LIST_TITLE_ELLIPSIZE, "enable_headset_detection", "enable_play_on_headset_insertion", "ignore_headset_media_button_presses", "headset_prefs_category" -> !forTv
+ TV_FOLDERS_FIRST, BROWSER_SHOW_HIDDEN_FILES, PLAYLIST_MODE_VIDEO, PLAYLIST_MODE_AUDIO -> forTv
"optional_features" -> FeatureFlag.entries.isNotEmpty()
"show_update" -> !forTv && BuildConfig.DEBUG
"quick_play" -> !forTv
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.kt
index d3f216d813..32e8885701 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesUi.kt
@@ -70,8 +70,6 @@ class PreferencesUi : BasePreferenceFragment(), SharedPreferences.OnSharedPrefer
super.onCreate(savedInstanceState)
prepareLocaleList()
setupTheme()
- findPreference<Preference>("playlist_mode_video")?.isVisible = false
- findPreference<Preference>("playlist_mode_audio")?.isVisible = false
}
override fun onCreatePreferences(bundle: Bundle?, s: String?) {
More information about the Android
mailing list