[Android] Migrate the advanced 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 06:54:32 2025 +0200| [c3cb21a93c7689fb538135adbce9ca41c2859bdf] | committer: Duncan McNamara
Migrate the advanced settings to the visibility manager
> https://code.videolan.org/videolan/vlc-android/commit/c3cb21a93c7689fb538135adbce9ca41c2859bdf
---
.../org/videolan/television/ui/preferences/PreferencesAdvanced.kt | 5 -----
.../org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt | 6 ++++++
.../src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt | 4 ----
3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
index 22967ce297..aaa339ab30 100644
--- a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
@@ -40,7 +40,6 @@ import androidx.core.os.bundleOf
import androidx.core.text.isDigitsOnly
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.lifecycleScope
-import androidx.preference.CheckBoxPreference
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
import androidx.preference.Preference
@@ -90,7 +89,6 @@ import org.videolan.vlc.gui.preferences.search.PreferenceParser
import org.videolan.vlc.isVLC4
import org.videolan.vlc.providers.PickerType
import org.videolan.vlc.util.AutoUpdate
-import org.videolan.vlc.util.FeatureFlag
import org.videolan.vlc.util.FileUtils
import org.videolan.vlc.util.deleteAllWatchNext
import java.io.File
@@ -110,9 +108,6 @@ class PreferencesAdvanced : BasePreferenceFragment(), SharedPreferences.OnShared
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- if (FeatureFlag.values().isNotEmpty()) findPreference<Preference>("optional_features")?.isVisible = true
- findPreference<CheckBoxPreference>("quick_play")?.isVisible = false
- findPreference<CheckBoxPreference>("quick_play_default")?.isVisible = false
val aoutPref = findPreference<ListPreference>(KEY_AOUT)
if (isVLC4() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
aoutPref?.entryValues = activity.resources.getStringArray(R.array.aouts_complete_values)
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 70467626a8..2da079cff2 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
@@ -33,8 +33,10 @@ import org.videolan.resources.AndroidDevices
import org.videolan.tools.AUDIO_DUCKING
import org.videolan.tools.KEY_AOUT
import org.videolan.tools.RESUME_PLAYBACK
+import org.videolan.vlc.BuildConfig
import org.videolan.vlc.VlcMigrationHelper
import org.videolan.vlc.gui.preferences.PreferenceVisibilityManager.isPreferenceVisible
+import org.videolan.vlc.util.FeatureFlag
object PreferenceVisibilityManager {
@@ -51,6 +53,10 @@ object PreferenceVisibilityManager {
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
+ "optional_features" -> FeatureFlag.entries.isNotEmpty()
+ "show_update" -> !forTv && BuildConfig.DEBUG
+ "quick_play" -> !forTv
+ "quick_play_default" -> !forTv
else -> true
}
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
index 6a2464280a..95aae0a60e 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
@@ -71,7 +71,6 @@ import org.videolan.tools.KEY_QUICK_PLAY_DEFAULT
import org.videolan.tools.RESULT_RESTART
import org.videolan.tools.Settings
import org.videolan.tools.putSingle
-import org.videolan.vlc.BuildConfig
import org.videolan.vlc.R
import org.videolan.vlc.gui.DebugLogActivity
import org.videolan.vlc.gui.browser.EXTRA_MRL
@@ -93,7 +92,6 @@ import org.videolan.vlc.gui.preferences.search.PreferenceParser
import org.videolan.vlc.isVLC4
import org.videolan.vlc.providers.PickerType
import org.videolan.vlc.util.AutoUpdate
-import org.videolan.vlc.util.FeatureFlag
import org.videolan.vlc.util.FileUtils
import org.videolan.vlc.util.share
import java.io.File
@@ -113,14 +111,12 @@ class PreferencesAdvanced : BasePreferenceFragment(), SharedPreferences.OnShared
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- if (FeatureFlag.values().isNotEmpty()) findPreference<Preference>("optional_features")?.isVisible = true
findPreference<EditTextPreference>("network_caching")?.setOnBindEditTextListener {
it.inputType = InputType.TYPE_CLASS_NUMBER
it.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(5))
it.setSelection(it.editableText.length)
}
- if (!BuildConfig.DEBUG) findPreference<Preference>("show_update")?.isVisible = false
val aoutPref = findPreference<ListPreference>(KEY_AOUT)
if (isVLC4() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
More information about the Android
mailing list