[Android] Fix crash when deleting a playlist

Nicolas Pomepuy git at videolan.org
Wed Apr 30 05:19:10 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Tue Apr 29 07:52:28 2025 +0200| [96788655ee09ce80cbfe3c16fc9e62170a7cf418] | committer: Nicolas Pomepuy

Fix crash when deleting a playlist

> https://code.videolan.org/videolan/vlc-android/commit/96788655ee09ce80cbfe3c16fc9e62170a7cf418
---

 .../org/videolan/vlc/gui/browser/MediaBrowserFragment.kt | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/gui/browser/MediaBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/browser/MediaBrowserFragment.kt
index 362f959df8..e1c0730b2a 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/browser/MediaBrowserFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/browser/MediaBrowserFragment.kt
@@ -121,14 +121,16 @@ abstract class MediaBrowserFragment<T : SortableModel> : BaseFragment(), Filtera
             if (type == CONFIRM_DELETE_DIALOG_RESULT_DEFAULT_VALUE) {
                 for (item in items) {
                     items.forEach { mw ->
-                        val deleteAction = Runnable {
-                            lifecycleScope.launch {
-                                MediaUtils.deleteItem(requireActivity(), mw) { viewModel.refresh() }
-                                if (this at MediaBrowserFragment is FileBrowserFragment)
-                                    viewModel.remove(mw)
+                        if (mw is MediaWrapper) {
+                            val deleteAction = Runnable {
+                                lifecycleScope.launch {
+                                    MediaUtils.deleteItem(requireActivity(), mw) { viewModel.refresh() }
+                                    if (this at MediaBrowserFragment is FileBrowserFragment)
+                                        viewModel.remove(mw)
+                                }
                             }
-                        }
-                        if (Permissions.checkWritePermission(requireActivity(), (item as MediaWrapper), deleteAction)) deleteAction.run()
+                            if (Permissions.checkWritePermission(requireActivity(), (item as MediaWrapper), deleteAction)) deleteAction.run()
+                        } else MediaUtils.deleteItem(requireActivity(), item) { onDeleteFailed(it) }
                     }
                 }
             } else if (type == CONFIRM_DELETE_DIALOG_RESULT_BAN_FOLDER) {



More information about the Android mailing list