[Android] Check write permission before deleting on TV and proper error display
Nicolas Pomepuy
git at videolan.org
Tue Dec 10 10:57:49 UTC 2024
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Tue Dec 10 11:36:34 2024 +0100| [a9f8e5c2a620d962a705b1a2a1f83d17a1c434c5] | committer: Nicolas Pomepuy
Check write permission before deleting on TV and proper error display
> https://code.videolan.org/videolan/vlc-android/commit/a9f8e5c2a620d962a705b1a2a1f83d17a1c434c5
---
.../java/org/videolan/television/ui/MediaItemDetailsFragment.kt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/application/television/src/main/java/org/videolan/television/ui/MediaItemDetailsFragment.kt b/application/television/src/main/java/org/videolan/television/ui/MediaItemDetailsFragment.kt
index fec35b7f90..5e04b4d51d 100644
--- a/application/television/src/main/java/org/videolan/television/ui/MediaItemDetailsFragment.kt
+++ b/application/television/src/main/java/org/videolan/television/ui/MediaItemDetailsFragment.kt
@@ -70,6 +70,7 @@ import org.videolan.vlc.gui.video.VideoPlayerActivity
import org.videolan.vlc.media.MediaUtils
import org.videolan.vlc.repository.BrowserFavRepository
import org.videolan.vlc.util.FileUtils
+import org.videolan.vlc.util.Permissions
import org.videolan.vlc.util.convertFavorites
import org.videolan.vlc.util.getScreenWidth
import org.videolan.vlc.util.isSchemeFile
@@ -186,7 +187,7 @@ class MediaItemDetailsFragment : DetailsSupportFragment(), CoroutineScope by Mai
}
private fun onDeleteFailed(item: MediaLibraryItem) {
- if (isAdded) UiTools.snacker(requireActivity(), getString(R.string.msg_delete_failed, item.title))
+ Toast.makeText(requireActivity(), getString(R.string.msg_delete_failed, item.title), Toast.LENGTH_LONG).show()
}
override fun onSaveInstanceState(outState: Bundle) {
@@ -351,6 +352,10 @@ class MediaItemDetailsFragment : DetailsSupportFragment(), CoroutineScope by Mai
}
}
ID_DELETE -> {
+ if (!Permissions.canWriteStorage(requireActivity())) {
+ onDeleteFailed(viewModel.media)
+ return at OnActionClickedListener
+ }
val dialog = ConfirmDeleteDialog.newInstance(arrayListOf(viewModel.media))
dialog.show(requireActivity().supportFragmentManager, ConfirmDeleteDialog::class.simpleName)
dialog.setListener {
More information about the Android
mailing list