[Android] TV: ML: keep root storage after ML reset

Duncan McNamara git at videolan.org
Thu Feb 13 09:57:10 UTC 2025


vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Tue Feb 11 15:21:46 2025 +0100| [32d2f730be83f3f292a23b725bfb4ce5e02acb38] | committer: Nicolas Pomepuy

TV: ML: keep root storage after ML reset

Instead of re-adding the default internal storage as an ML root, save
previous roots, reset the db, and re-add these roots.

This is !2080 but for TV as I forgot to also apply the changes to the tv
settings

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

 .../videolan/television/ui/preferences/PreferencesAdvanced.kt    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
index 4b476fa638..1187134bf1 100644
--- a/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesAdvanced.kt
@@ -79,6 +79,7 @@ import org.videolan.vlc.gui.dialogs.RenameDialog
 import org.videolan.vlc.gui.dialogs.UPDATE_DATE
 import org.videolan.vlc.gui.dialogs.UPDATE_URL
 import org.videolan.vlc.gui.dialogs.UpdateDialog
+import org.videolan.vlc.gui.helpers.MedialibraryUtils
 import org.videolan.vlc.gui.helpers.UiTools
 import org.videolan.vlc.gui.helpers.hf.StoragePermissionsDelegate.Companion.getWritePermission
 import org.videolan.vlc.gui.helpers.restartMediaPlayer
@@ -208,6 +209,7 @@ class PreferencesAdvanced : BasePreferenceFragment(), SharedPreferences.OnShared
                         ).show()
                     }
                 } else {
+                    val roots = medialibrary.foldersList
                     val dialog = ConfirmDeleteDialog.newInstance(
                             title = getString(R.string.clear_media_db),
                             description = getString(R.string.clear_media_db_message),
@@ -237,7 +239,12 @@ class PreferencesAdvanced : BasePreferenceFragment(), SharedPreferences.OnShared
                                     Log.e(this::class.java.simpleName, e.message, e)
                                 }
                             }
-                            medialibrary.discover(AndroidDevices.EXTERNAL_PUBLIC_DIRECTORY)
+                            for (root in roots) {
+                                MedialibraryUtils.addDir(
+                                    root.removePrefix("file://"),
+                                    activity
+                                )
+                            }
                         }
                     }
                 }



More information about the Android mailing list