info: prevent false positive media results (e.g. JPEG on Galaxy S7)
This commit is contained in:
parent
949befe9cc
commit
752749bafe
2 changed files with 11 additions and 3 deletions
|
@ -49,6 +49,7 @@ import deckers.thibault.aves.utils.BitmapUtils
|
|||
import deckers.thibault.aves.utils.LogUtils
|
||||
import deckers.thibault.aves.utils.MimeTypes
|
||||
import deckers.thibault.aves.utils.MimeTypes.isImage
|
||||
import deckers.thibault.aves.utils.MimeTypes.isMultimedia
|
||||
import deckers.thibault.aves.utils.MimeTypes.isSupportedByMetadataExtractor
|
||||
import deckers.thibault.aves.utils.MimeTypes.isVideo
|
||||
import deckers.thibault.aves.utils.StorageUtils
|
||||
|
@ -150,9 +151,11 @@ class MetadataHandler(private val context: Context) : MethodCallHandler {
|
|||
}
|
||||
}
|
||||
|
||||
val mediaDir = getAllMetadataByMediaMetadataRetriever(uri)
|
||||
if (mediaDir.isNotEmpty()) {
|
||||
metadataMap[Metadata.DIR_MEDIA] = mediaDir
|
||||
if (isMultimedia(mimeType)) {
|
||||
val mediaDir = getAllMetadataByMediaMetadataRetriever(uri)
|
||||
if (mediaDir.isNotEmpty()) {
|
||||
metadataMap[Metadata.DIR_MEDIA] = mediaDir
|
||||
}
|
||||
}
|
||||
|
||||
if (metadataMap.isNotEmpty()) {
|
||||
|
|
|
@ -30,6 +30,11 @@ object MimeTypes {
|
|||
|
||||
fun isVideo(mimeType: String?) = mimeType != null && mimeType.startsWith(VIDEO)
|
||||
|
||||
fun isMultimedia(mimeType: String?) = when (mimeType) {
|
||||
HEIC, HEIF -> true
|
||||
else -> isVideo(mimeType)
|
||||
}
|
||||
|
||||
// returns whether the specified MIME type represents
|
||||
// a raster image format that allows an alpha channel
|
||||
fun canHaveAlpha(mimeType: String?) = when (mimeType) {
|
||||
|
|
Loading…
Reference in a new issue