[Android] Add the incognito mode on TV in the settings

Nicolas Pomepuy git at videolan.org
Fri Apr 25 05:31:16 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Wed Apr  2 14:04:53 2025 +0200| [c7e6655f12109e168550f70bf4250f89c46b3b47] | committer: Nicolas Pomepuy

Add the incognito mode on TV in the settings

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

 .../src/main/java/org/videolan/television/ui/MainTvFragment.kt     | 5 +++++
 .../java/org/videolan/television/ui/preferences/PreferencesUi.kt   | 4 ++++
 application/vlc-android/res/xml/preferences_ui.xml                 | 7 +++++++
 .../videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt    | 4 ++--
 4 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt b/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
index 82568fd1f7..8f6b87be85 100644
--- a/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/MainTvFragment.kt
@@ -269,6 +269,11 @@ class MainTvFragment : BrowseSupportFragment(), OnItemViewSelectedListener, OnIt
         registerDatasets()
     }
 
+    override fun onResume() {
+        super.onResume()
+        badgeDrawable = ContextCompat.getDrawable(requireContext(), if (Settings.incognitoMode) R.drawable.ic_incognito else R.drawable.icon)
+    }
+
     private fun manageDonationVisibility(donateCard: GenericCardItem) {
         if (activity == null) return
         otherAdapter.remove(donateCard)
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 433e7c61e4..46046a23c1 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
@@ -40,6 +40,7 @@ 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.BROWSER_SHOW_HIDDEN_FILES
+import org.videolan.tools.KEY_INCOGNITO
 import org.videolan.tools.KEY_SHOW_HEADERS
 import org.videolan.tools.LocaleUtils
 import org.videolan.tools.PLAYLIST_MODE_VIDEO
@@ -114,6 +115,9 @@ class PreferencesUi : BasePreferenceFragment(), SharedPreferences.OnSharedPrefer
                 Settings.tvUI = sharedPreferences.getBoolean(PREF_TV_UI, false)
                 (activity as PreferencesActivity).setRestartApp()
             }
+            KEY_INCOGNITO -> {
+                Settings.incognitoMode = sharedPreferences.getBoolean(KEY_INCOGNITO, false)
+            }
 
             TV_FOLDERS_FIRST -> Settings.tvFoldersFirst = sharedPreferences.getBoolean(TV_FOLDERS_FIRST, true)
             BROWSER_SHOW_HIDDEN_FILES -> Settings.showHiddenFiles = sharedPreferences.getBoolean(BROWSER_SHOW_HIDDEN_FILES, false)
diff --git a/application/vlc-android/res/xml/preferences_ui.xml b/application/vlc-android/res/xml/preferences_ui.xml
index c6f4baebd6..3a151b0555 100644
--- a/application/vlc-android/res/xml/preferences_ui.xml
+++ b/application/vlc-android/res/xml/preferences_ui.xml
@@ -70,9 +70,16 @@
             android:key="default_sleep_timer"
             android:title="@string/sleep_title"/>
 
+    <CheckBoxPreference
+            app:singleLineTitle="false"
+            android:key="incognito_mode"
+            android:defaultValue="false"
+            android:title="@string/incognito_mode"/>
+
     <CheckBoxPreference
             app:singleLineTitle="false"
             android:key="persistent_incognito"
+            android:dependency="incognito_mode"
             android:defaultValue="true"
             android:summary="@string/persistent_incognito_mode_summary"
             android:title="@string/persistent_incognito_mode"/>
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 33bd6d4a25..e9d34194c0 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
@@ -34,7 +34,7 @@ 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.KEY_PERSISTENT_INCOGNITO
+import org.videolan.tools.KEY_INCOGNITO
 import org.videolan.tools.KEY_QUICK_PLAY
 import org.videolan.tools.KEY_QUICK_PLAY_DEFAULT
 import org.videolan.tools.LIST_TITLE_ELLIPSIZE
@@ -64,7 +64,7 @@ object PreferenceVisibilityManager {
         //hidden on TV
         KEY_QUICK_PLAY_DEFAULT, KEY_QUICK_PLAY, "secondary_display_category", "secondary_display_category_summary", "enable_clone_mode", SAVE_BRIGHTNESS,
         KEY_APP_THEME, LIST_TITLE_ELLIPSIZE, "enable_headset_detection", "enable_play_on_headset_insertion", "ignore_headset_media_button_presses",
-        "headset_prefs_category", KEY_PERSISTENT_INCOGNITO, "audio_resume_card", LOCKSCREEN_COVER, SHOW_SEEK_IN_COMPACT_NOTIFICATION,
+        "headset_prefs_category", "audio_resume_card", LOCKSCREEN_COVER, SHOW_SEEK_IN_COMPACT_NOTIFICATION,
         "audio_task_removed"-> !forTv
         //only on TV
         TV_FOLDERS_FIRST, BROWSER_SHOW_HIDDEN_FILES, PLAYLIST_MODE_VIDEO, PLAYLIST_MODE_AUDIO -> forTv



More information about the Android mailing list