Browse Source

Use the PreferenceVisibilityManager to manage the preferences root

merge-requests/2231/head
Nicolas Pomepuy 1 year ago
parent
commit
aaf5f5c109
  1. 9
      application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesFragment.kt
  2. 9
      application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt
  3. 3
      application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.kt

9
application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesFragment.kt

@ -35,7 +35,6 @@ import androidx.preference.CheckBoxPreference
import androidx.preference.Preference
import androidx.preference.PreferenceScreen
import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.resources.AndroidDevices
import org.videolan.resources.KEY_AUDIO_LAST_PLAYLIST
import org.videolan.resources.KEY_CURRENT_AUDIO
import org.videolan.resources.KEY_CURRENT_AUDIO_RESUME_ARTIST
@ -46,10 +45,8 @@ import org.videolan.resources.KEY_CURRENT_MEDIA_RESUME
import org.videolan.resources.KEY_MEDIA_LAST_PLAYLIST
import org.videolan.resources.KEY_MEDIA_LAST_PLAYLIST_RESUME
import org.videolan.tools.AUDIO_RESUME_PLAYBACK
import org.videolan.tools.KEY_VIDEO_APP_SWITCH
import org.videolan.tools.PLAYBACK_HISTORY
import org.videolan.tools.RESULT_RESTART
import org.videolan.tools.SCREEN_ORIENTATION
import org.videolan.tools.Settings
import org.videolan.tools.Settings.isPinCodeSet
import org.videolan.tools.VIDEO_RESUME_PLAYBACK
@ -69,12 +66,6 @@ class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnShared
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
findPreference<Preference>(SCREEN_ORIENTATION)?.isVisible = false
findPreference<Preference>("casting_category")?.isVisible = false
findPreference<Preference>("android_auto_category")?.isVisible = false
findPreference<Preference>(KEY_VIDEO_APP_SWITCH)?.isVisible = AndroidDevices.hasPiP
findPreference<Preference>("remote_access_category")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
findPreference<Preference>("permissions_title")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
(activity as? PreferencesActivity)?.extraEndPoint?.let {
if (it == "remote_access_category") findPreference<Preference>("remote_access_category")?.let {
onPreferenceTreeClick(it)

9
application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferenceVisibilityManager.kt

@ -25,6 +25,7 @@
package org.videolan.vlc.gui.preferences
import android.content.SharedPreferences
import android.os.Build
import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceScreen
import androidx.preference.children
@ -34,9 +35,10 @@ 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_INCOGNITO
import org.videolan.tools.SCREEN_ORIENTATION
import org.videolan.tools.KEY_QUICK_PLAY
import org.videolan.tools.KEY_QUICK_PLAY_DEFAULT
import org.videolan.tools.KEY_VIDEO_APP_SWITCH
import org.videolan.tools.LIST_TITLE_ELLIPSIZE
import org.videolan.tools.LOCKSCREEN_COVER
import org.videolan.tools.PLAYLIST_MODE_AUDIO
@ -65,16 +67,19 @@ object PreferenceVisibilityManager {
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", "audio_resume_card", LOCKSCREEN_COVER, SHOW_SEEK_IN_COMPACT_NOTIFICATION,
"audio_task_removed"-> !forTv
"audio_task_removed", "casting_category", "android_auto_category", SCREEN_ORIENTATION, -> !forTv
//only on TV
TV_FOLDERS_FIRST, BROWSER_SHOW_HIDDEN_FILES, PLAYLIST_MODE_VIDEO, PLAYLIST_MODE_AUDIO -> forTv
"show_update" -> !forTv && BuildConfig.DEBUG
KEY_VIDEO_APP_SWITCH -> !forTv || AndroidDevices.hasPiP
AUDIO_DUCKING -> !AndroidUtil.isOOrLater
POPUP_FORCE_LEGACY -> AndroidDevices.pipAllowed
RESUME_PLAYBACK -> AndroidDevices.isPhone && !forTv
KEY_AOUT -> VlcMigrationHelper.getAudioOutputFromDevice() == VlcMigrationHelper.AudioOutput.ALL
"audio_digital_output" -> sharedPreferences.getString("aout", "0") != "2"
"optional_features" -> FeatureFlag.entries.isNotEmpty()
"remote_access_category" -> !forTv && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
"permissions_title" -> Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
else -> true
}

3
application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesFragment.kt

@ -26,7 +26,6 @@ package org.videolan.vlc.gui.preferences
import android.app.Activity
import android.content.Intent
import android.content.SharedPreferences
import android.os.Build
import android.os.Bundle
import android.view.View
import androidx.activity.result.contract.ActivityResultContracts
@ -90,8 +89,6 @@ class PreferencesFragment : BasePreferenceFragment(), SharedPreferences.OnShared
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
findPreference<Preference>("remote_access_category")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
findPreference<Preference>("permissions_title")?.isVisible = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1
audioResumePref = findPreference(AUDIO_RESUME_PLAYBACK)!!
}

Loading…
Cancel
Save