[Android] MedialibraryProvider: add checkPermissions()

Duncan McNamara git at videolan.org
Mon Feb 10 13:38:07 UTC 2025


vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Fri Feb  7 15:55:23 2025 +0100| [5c0ff1f1145ef1b7e02e189045cc7b99fb74344f] | committer: Nicolas Pomepuy

MedialibraryProvider: add checkPermissions()

> https://code.videolan.org/videolan/vlc-android/commit/5c0ff1f1145ef1b7e02e189045cc7b99fb74344f
---

 .../videolan/vlc/providers/medialibrary/MedialibraryProvider.kt  | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/providers/medialibrary/MedialibraryProvider.kt b/application/vlc-android/src/org/videolan/vlc/providers/medialibrary/MedialibraryProvider.kt
index 4e73a7b185..3844eba0d0 100644
--- a/application/vlc-android/src/org/videolan/vlc/providers/medialibrary/MedialibraryProvider.kt
+++ b/application/vlc-android/src/org/videolan/vlc/providers/medialibrary/MedialibraryProvider.kt
@@ -149,10 +149,12 @@ abstract class MedialibraryProvider<T : MediaLibraryItem>(val context: Context,
         refreshDeferred?.await()
     }
 
+    fun checkPermissions() = (isVideoPermDependant && !Permissions.canReadVideos(context)) ||
+            (isAudioPermDependant && !Permissions.canReadAudios(context))
+
     fun refresh(): Boolean {
         if ((isRefreshing && medialibrary.isWorking) || !medialibrary.isStarted || !this::dataSource.isInitialized) return false
-        if (isVideoPermDependant && !Permissions.canReadVideos(context)) return false
-        if (isAudioPermDependant && !Permissions.canReadAudios(context)) {
+        if (checkPermissions()) {
             loading.postValue(false)
             return false
         }
@@ -183,8 +185,7 @@ abstract class MedialibraryProvider<T : MediaLibraryItem>(val context: Context,
     inner class MLDataSource : PositionalDataSource<T>() {
 
         override fun loadInitial(params: LoadInitialParams, callback: LoadInitialCallback<T>) {
-            if (isVideoPermDependant && !Permissions.canReadVideos(context)) return callback.onResult(emptyList(), 0, 0)
-            if (isAudioPermDependant && !Permissions.canReadAudios(context)) {
+            if (checkPermissions()) {
                 loading.postValue(false)
                 return callback.onResult(emptyList(), 0, 0)
             }



More information about the Android mailing list