[Android] Filter out the non visible settings from the settings search

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:59:14 2025 +0200| [7e9ff94a1fb2c3a9e99d449ae176f74195a5d993] | committer: Duncan McNamara

Filter out the non visible settings from the settings search

> https://code.videolan.org/videolan/vlc-android/commit/7e9ff94a1fb2c3a9e99d449ae176f74195a5d993
---

 .../src/org/videolan/vlc/viewmodels/PreferenceSearchModel.kt      | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/viewmodels/PreferenceSearchModel.kt b/application/vlc-android/src/org/videolan/vlc/viewmodels/PreferenceSearchModel.kt
index cc5eed9980..ca210daff6 100644
--- a/application/vlc-android/src/org/videolan/vlc/viewmodels/PreferenceSearchModel.kt
+++ b/application/vlc-android/src/org/videolan/vlc/viewmodels/PreferenceSearchModel.kt
@@ -32,21 +32,25 @@ import androidx.lifecycle.viewModelScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
+import org.videolan.tools.Settings
 import org.videolan.tools.livedata.LiveDataset
+import org.videolan.vlc.gui.preferences.PreferenceVisibilityManager
 import org.videolan.vlc.gui.preferences.search.PreferenceItem
 import org.videolan.vlc.gui.preferences.search.PreferenceParser
-import java.util.*
+import java.util.Locale
 
 class PreferenceSearchModel(context: Context) : ViewModel() {
     val dataset = LiveDataset<PreferenceItem>()
     val filtered = LiveDataset<PreferenceItem>()
     val showTranslations= MutableLiveData<Boolean>()
+    val settings = Settings.getInstance(context)
 
     init {
         viewModelScope.launch {
-            dataset.value = withContext(Dispatchers.IO) {
+            val parsed = withContext(Dispatchers.IO) {
                 PreferenceParser.parsePreferences(context)
             }
+            dataset.value = parsed.filter { PreferenceVisibilityManager.isPreferenceVisible(it.key, settings, Settings.tvUI) }.toMutableList()
         }
         showTranslations.value = false
     }



More information about the Android mailing list