From b9ec08c8cdbbe43111bda8fc80f5539f6ac19dc8 Mon Sep 17 00:00:00 2001
From: Duncan McNamara <dcn.mcnamara@gmail.com>
Date: Wed, 15 Jan 2025 17:14:09 +0100
Subject: [PATCH] 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.

Fixes #3122
---
 .../videolan/vlc/gui/preferences/PreferencesAdvanced.kt   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
index ec76154385..6e9946cbed 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/preferences/PreferencesAdvanced.kt
@@ -178,6 +178,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),
@@ -205,7 +206,12 @@ class PreferencesAdvanced : BasePreferenceFragment(), SharedPreferences.OnShared
                                     Log.e(this::class.java.simpleName, e.message, e)
                                 }
                             }
-                            MedialibraryUtils.addDir(AndroidDevices.EXTERNAL_PUBLIC_DIRECTORY, requireContext())
+                            for (root in roots) {
+                                MedialibraryUtils.addDir(
+                                    root.removePrefix("file://"),
+                                    requireContext()
+                                )
+                            }
                         }
                     }
                     return true
-- 
GitLab