Milan Jurkulak 3 лет назад
Родитель
Сommit
099b2159b8

+ 1 - 21
app/src/main/kotlin/org/mjdev/tvapp/base/helpers/cursor/AudioItem.kt

@@ -61,28 +61,8 @@ class AudioItem(
         val MEDIA_PROJECTION = arrayOf(
             MediaStore.Audio.Media._ID,
             MediaStore.Audio.Media.TITLE,
-            MediaStore.Audio.Media.ARTIST,
-            MediaStore.Audio.Media.ALBUM,
-            MediaStore.Audio.Media.ALBUM_ID,
-            MediaStore.Audio.Media.DATE_ADDED,
-            MediaStore.Audio.Media.COMPOSER,
-            MediaStore.Audio.Media.YEAR,
             MediaStore.Audio.Media.DATA,
-            MediaStore.Audio.Media.DURATION,
-            MediaStore.Audio.Media.TRACK,
-            MediaStore.Audio.Media.SIZE,
-            MediaStore.Audio.Media.DATE_MODIFIED,
-            MediaStore.Audio.Media.BITRATE,
-            MediaStore.Audio.Media.AUTHOR,
-            MediaStore.Audio.Media.ALBUM_ARTIST,
-            MediaStore.Audio.Media.ARTIST_ID,
-            MediaStore.Audio.Media.BUCKET_DISPLAY_NAME,
-            MediaStore.Audio.Media.BUCKET_ID,
-            MediaStore.Audio.Media.CAPTURE_FRAMERATE,
-            MediaStore.Audio.Media.CD_TRACK_NUMBER,
-            MediaStore.Audio.Media.COMPILATION,
-            MediaStore.Audio.Media.WRITER,
-            // todo
+            // todo more columns
         )
     }
 

+ 18 - 8
app/src/main/kotlin/org/mjdev/tvapp/base/helpers/cursor/Cursor.kt

@@ -18,6 +18,7 @@ import android.net.Uri
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.platform.LocalContext
 import org.mjdev.tvapp.base.extensions.CursorExt.isNotEmpty
+import timber.log.Timber
 
 @SuppressLint("Recycle")
 @Composable
@@ -61,10 +62,15 @@ class PrefetchCursor(
     }
     private val cursor: Cursor? by lazy {
         if (uri != null) {
-            resolver.query(
-                uri, projection, selection, selectionArgs, sortOrder
-            ).apply {
-                if (this?.isNotEmpty == true) moveToFirst()
+            try {
+                resolver.query(
+                    uri, projection, selection, selectionArgs, sortOrder
+                ).apply {
+                    if (this?.isNotEmpty == true) moveToFirst()
+                }
+            } catch (e: Exception) {
+                Timber.e(e)
+                null
             }
         } else null
     }
@@ -74,11 +80,15 @@ class PrefetchCursor(
 
     fun get(idx: Int): Any? {
         var result: Any? = null
-        if (count > idx) {
-            cursor?.move(idx)
-            result = cursor?.let { c ->
-                transform(c)
+        try {
+            if (count > idx) {
+                cursor?.move(idx)
+                result = cursor?.let { c ->
+                    transform(c)
+                }
             }
+        } catch (e: Exception) {
+            Timber.e(e)
         }
         return result
     }

+ 1 - 13
app/src/main/kotlin/org/mjdev/tvapp/base/helpers/cursor/PhotoItem.kt

@@ -34,20 +34,8 @@ class PhotoItem(
         val MEDIA_PROJECTION = arrayOf(
             MediaStore.Images.Media._ID,
             MediaStore.Images.Media.TITLE,
-            MediaStore.Images.Media.ARTIST,
-            MediaStore.Images.Media.ALBUM,
-            MediaStore.Images.Media.DATE_ADDED,
-            MediaStore.Images.Media.COMPOSER,
-            MediaStore.Images.Media.YEAR,
             MediaStore.Images.Media.DATA,
-            MediaStore.Images.Media.DURATION,
-            MediaStore.Images.Media.MIME_TYPE,
-            MediaStore.Images.Media.SIZE,
-            MediaStore.Images.Media.DATE_MODIFIED,
-            MediaStore.Images.Media.ALBUM_ARTIST,
-            MediaStore.Images.Media.AUTHOR,
-            MediaStore.Images.Media.BITRATE,
-            // todo
+            // todo more columns
         )
     }
 

+ 1 - 10
app/src/main/kotlin/org/mjdev/tvapp/base/helpers/cursor/VideoItem.kt

@@ -61,17 +61,8 @@ class VideoItem(
         val MEDIA_PROJECTION = arrayOf(
             MediaStore.Video.Media._ID,
             MediaStore.Video.Media.TITLE,
-            MediaStore.Video.Media.ARTIST,
-            MediaStore.Video.Media.ALBUM,
-            MediaStore.Video.Media.DATE_ADDED,
-            MediaStore.Video.Media.COMPOSER,
-            MediaStore.Video.Media.YEAR,
             MediaStore.Video.Media.DATA,
-            MediaStore.Video.Media.DURATION,
-            MediaStore.Video.Media.MIME_TYPE,
-            MediaStore.Video.Media.SIZE,
-            MediaStore.Video.Media.DATE_MODIFIED,
-            // todo
+            // todo more columns
         )
     }
 

+ 1 - 1
app/src/main/kotlin/org/mjdev/tvapp/base/ui/components/tv/LocalPhotosRow.kt

@@ -46,6 +46,6 @@ fun LocalPhotosRow(
     selection = selection,
     selectionArgs = selectionArgs,
     sortOrder = sortOrder,
-    transform = { PhotoItem(it) },
+    transform = { c -> PhotoItem(c) },
     openItem = openItem,
 )

+ 1 - 1
app/src/main/kotlin/org/mjdev/tvapp/base/ui/components/tv/LocalVideoRow.kt

@@ -49,7 +49,7 @@ fun LocalVideoRow(
         selection = selection,
         selectionArgs = selectionArgs,
         sortOrder = sortOrder,
-        transform = { VideoItem(contentResolver, it) },
+        transform = { c -> VideoItem(contentResolver, c) },
         openItem = openItem,
     )
 }