[Android] Create a restore/backup blacklist to avoid restoring some settings
Nicolas Pomepuy
git at videolan.org
Wed Jul 23 11:41:54 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Jul 10 14:16:33 2025 +0200| [ec57ad35207e62389d71afdf8204c2844ba5fbbe] | committer: Nicolas Pomepuy
Create a restore/backup blacklist to avoid restoring some settings
> https://code.videolan.org/videolan/vlc-android/commit/ec57ad35207e62389d71afdf8204c2844ba5fbbe
---
.../src/main/java/org/videolan/tools/Settings.kt | 22 ++++++++++++++++++----
.../vlc/gui/preferences/search/PreferenceParser.kt | 7 ++++---
2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/application/tools/src/main/java/org/videolan/tools/Settings.kt b/application/tools/src/main/java/org/videolan/tools/Settings.kt
index 57b2d93214..99ca7b29f1 100644
--- a/application/tools/src/main/java/org/videolan/tools/Settings.kt
+++ b/application/tools/src/main/java/org/videolan/tools/Settings.kt
@@ -97,6 +97,22 @@ object Settings : SingletonHolder<SharedPreferences, Context>({ init(it.applicat
audioControlsChangeListener = null
}
+ /**
+ * Get the list of keys to blacklist for the backup/restore process
+ *
+ */
+ fun getRestoreBlacklist() = arrayOf(
+ //last playlist
+ KEY_CURRENT_AUDIO, KEY_CURRENT_MEDIA, KEY_CURRENT_MEDIA_RESUME, KEY_AUDIO_LAST_PLAYLIST,
+ KEY_MEDIA_LAST_PLAYLIST, KEY_MEDIA_LAST_PLAYLIST_RESUME, KEY_CURRENT_AUDIO_RESUME_THUMB,
+ POSITION_IN_MEDIA_LIST, POSITION_IN_AUDIO_LIST, POSITION_IN_SONG, POSITION_IN_MEDIA,
+ //Remote access
+ KEYSTORE_PASSWORD_IV, KEY_COOKIE_ENCRYPT_KEY, KEY_COOKIE_SIGN_KEY, KEYSTORE_PASSWORD, ENCRYPTED_KEY_NAME,
+ //Others
+ KEY_NAVIGATOR_SCREEN_UNSTABLE, KEY_FRAGMENT_ID, KEY_DEBLOCKING, KEY_LAST_SESSION_CRASHED, KEY_METERED_CONNECTION, KEY_MEDIALIBRARY_SCAN
+
+ )
+
val showTvUi : Boolean
get() = !overrideTvUI && device.isTv || tvUI
}
@@ -181,6 +197,8 @@ const val REMOTE_ACCESS_LOGS = "remote_access_logs"
const val KEYSTORE_PASSWORD = "keystore_encrypted_password"
const val KEYSTORE_PASSWORD_IV = "keystore_encrypted_password_iv"
const val ENCRYPTED_KEY_NAME = "encryption_key"
+const val KEY_COOKIE_ENCRYPT_KEY = "cookie_encrypt_key"
+const val KEY_COOKIE_SIGN_KEY = "cookie_sign_key"
//Tips
@@ -385,10 +403,6 @@ const val KEY_AUDIO_REPLAY_GAIN_DEFAULT = "audio-replay-gain-default"
const val KEY_AUDIO_REPLAY_GAIN_PREAMP = "audio-replay-gain-preamp"
const val KEY_PREFERRED_RESOLUTION = "preferred_resolution"
-//Remote access
-const val KEY_COOKIE_ENCRYPT_KEY = "cookie_encrypt_key"
-const val KEY_COOKIE_SIGN_KEY = "cookie_sign_key"
-
//Auto
const val KEY_ANDROID_AUTO_QUEUE_FORMAT_VAL = "android_auto_queue_format_val"
const val KEY_ANDROID_AUTO_QUEUE_INFO_POS_VAL = "android_auto_queue_info_pos_val"
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceParser.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceParser.kt
index 4ed17f2797..c8d7053d8a 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceParser.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/search/PreferenceParser.kt
@@ -324,9 +324,10 @@ object PreferenceParser {
fun getChangedPrefsJson(context: Context):String {
val settingsEntries = arrayListOf<SettingEntry>()
Settings.getInstance(context).all.forEach { setting ->
- setting.value?.let {
- settingsEntries.add(SettingEntry(setting.key, it, SettingType.getFromAny(it)))
- }
+ if (setting.key !in Settings.getRestoreBlacklist())
+ setting.value?.let {
+ settingsEntries.add(SettingEntry(setting.key, it, SettingType.getFromAny(it)))
+ }
}
val settingsBackup = SettingsBackup(settingsEntries, VersionMigration.getCurrentVersion())
val moshi = Moshi.Builder().build()
More information about the Android
mailing list