[Android] Hide the all playlist mode settings and migrate to default actions
Nicolas Pomepuy
git at videolan.org
Tue Mar 25 11:55:47 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Tue Mar 18 12:03:06 2025 +0100| [349ab4608d5cc5cf3558ad42d78c64fdfb7c2404] | committer: Nicolas Pomepuy
Hide the all playlist mode settings and migrate to default actions
> https://code.videolan.org/videolan/vlc-android/commit/349ab4608d5cc5cf3558ad42d78c64fdfb7c2404
---
.../videolan/vlc/gui/preferences/PreferencesUi.kt | 2 ++
.../src/org/videolan/vlc/util/VersionMigration.kt | 33 ++++++++++++++++++++--
2 files changed, 32 insertions(+), 3 deletions(-)
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 6e805b23c9..8bc78e2c00 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
@@ -71,6 +71,8 @@ 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?) {
diff --git a/application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt b/application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt
index 65c5a2ff70..90c816746a 100644
--- a/application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt
+++ b/application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt
@@ -36,8 +36,6 @@ import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.medialibrary.interfaces.media.Playlist
import org.videolan.resources.AndroidDevices
import org.videolan.resources.util.getFromMl
-import org.videolan.tools.PLAYLIST_MODE_AUDIO
-import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.KEY_APP_THEME
import org.videolan.tools.KEY_CURRENT_MAJOR_VERSION
import org.videolan.tools.KEY_CURRENT_SETTINGS_VERSION
@@ -46,18 +44,22 @@ import org.videolan.tools.KEY_PLAYBACK_SPEED_AUDIO_GLOBAL_VALUE
import org.videolan.tools.KEY_PLAYBACK_SPEED_VIDEO_GLOBAL
import org.videolan.tools.KEY_PLAYBACK_SPEED_VIDEO_GLOBAL_VALUE
import org.videolan.tools.KEY_VIDEO_CONFIRM_RESUME
+import org.videolan.tools.PLAYLIST_MODE_AUDIO
+import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.SCREENSHOT_MODE
import org.videolan.tools.Settings
import org.videolan.tools.VIDEO_HUD_TIMEOUT
import org.videolan.tools.coerceInOrDefault
import org.videolan.tools.putSingle
import org.videolan.tools.toInt
+import org.videolan.vlc.gui.helpers.DefaultPlaybackAction
+import org.videolan.vlc.gui.helpers.DefaultPlaybackActionMediaType
import org.videolan.vlc.gui.onboarding.ONBOARDING_DONE_KEY
import org.videolan.vlc.isVLC4
import java.io.File
import java.io.IOException
-private const val CURRENT_VERSION = 14
+private const val CURRENT_VERSION = 15
object VersionMigration {
@@ -120,6 +122,10 @@ object VersionMigration {
migrateToVersion14(settings)
}
+ if (lastVersion < 15) {
+ migrateToVersion15(settings)
+ }
+
//Major version upgrade
if (lastMajorVersion == 3 && currentMajorVersion == 4) {
migrateToVlc4(settings)
@@ -365,6 +371,27 @@ object VersionMigration {
}
}
+ /**
+ * Migrate after implementation of the default playback actions
+ *
+ */
+ private fun migrateToVersion15(settings: SharedPreferences) {
+ Log.i(this::class.java.simpleName, "Migrate after implementation of the default playback actions")
+ if (settings.contains("playlist_mode_video") && settings.getBoolean("playlist_mode_video", false)) {
+ settings.edit(true) {
+ putString(DefaultPlaybackActionMediaType.VIDEO.defaultActionKey, DefaultPlaybackAction.PLAY_ALL.name)
+ }
+
+ }
+ if (settings.contains("playlist_mode_audio") && settings.getBoolean("playlist_mode_audio", false)) {
+ DefaultPlaybackActionMediaType.entries.filter { it.allowPlayAll }.forEach {
+ settings.edit(true) {
+ putString(DefaultPlaybackActionMediaType.TRACK.defaultActionKey, DefaultPlaybackAction.PLAY_ALL.name)
+ }
+ }
+ }
+ }
+
/**
* Migration to vlc 4
* ⚠️⚠️⚠️ This should not be destructive! Any first install will run this.
More information about the Android
mailing list