Skip to content

Commit a9c463c

Browse files
committed
Media: Fix crash on loading other media types as standalone
Signed-off-by: IacobIonut01 <paulionut2003@gmail.com>
1 parent f676fb9 commit a9c463c

File tree

1 file changed

+15
-10
lines changed
  • app/src/main/kotlin/com/dot/gallery/feature_node/domain/model

1 file changed

+15
-10
lines changed

app/src/main/kotlin/com/dot/gallery/feature_node/domain/model/Media.kt

+15-10
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,21 @@ data class Media(
124124
val extension = uri.toString().substringAfterLast(".")
125125
var mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension).toString()
126126
var duration: String? = null
127-
val retriever = MediaMetadataRetriever().apply {
128-
setDataSource(context, uri)
129-
}
130-
val hasVideo = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO)
131-
val isVideo = "yes" == hasVideo
132-
if (isVideo) {
133-
duration = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)
134-
}
135-
if (mimeType.isEmpty()) {
136-
mimeType = if (isVideo) "video/*" else "image/*"
127+
try {
128+
val retriever = MediaMetadataRetriever().apply {
129+
setDataSource(context, uri)
130+
}
131+
val hasVideo =
132+
retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO)
133+
val isVideo = "yes" == hasVideo
134+
if (isVideo) {
135+
duration =
136+
retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)
137+
}
138+
if (mimeType.isEmpty()) {
139+
mimeType = if (isVideo) "video/*" else "image/*"
140+
}
141+
} catch (_: Exception) {
137142
}
138143
var timestamp = 0L
139144
uri.path?.let { File(it) }?.let {

0 commit comments

Comments
 (0)