diff options
author | Marco Nelissen <marcone@google.com> | 2018-04-25 12:25:24 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2018-04-27 11:09:12 -0700 |
commit | ff93c6cb125b4f0634071a1022a8ddf39533f0e6 (patch) | |
tree | 9f010b0801fa88ec0a7b425305a20b42ecea1db0 | |
parent | 881c0bb35f8c895040afc3c198f0cf522585c855 (diff) | |
download | MediaProvider-ff93c6cb125b4f0634071a1022a8ddf39533f0e6.tar.gz |
Don't treat failed scans as valid media files
Instead, add them to the MediaProvider as non-media files.
Bug: 77656952
Test: manual, CTS
Change-Id: I3816e258bd092307280d93dca8c7ce8f539ffcf5
-rw-r--r-- | src/com/android/providers/media/MediaProvider.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java index 659894597..9d2e9961a 100644 --- a/src/com/android/providers/media/MediaProvider.java +++ b/src/com/android/providers/media/MediaProvider.java @@ -2281,10 +2281,15 @@ public class MediaProvider extends ContentProvider { if (mimeType == null && path != null && format != MtpConstants.FORMAT_ASSOCIATION) { mimeType = MediaFile.getMimeTypeForFile(path); } + if (mimeType != null) { values.put(FileColumns.MIME_TYPE, mimeType); - if (mediaType == FileColumns.MEDIA_TYPE_NONE && !MediaScanner.isNoMediaPath(path)) { + // If 'values' contained the media type, then the caller wants us + // to use that exact type, so don't override it based on mimetype + if (!values.containsKey(FileColumns.MEDIA_TYPE) && + mediaType == FileColumns.MEDIA_TYPE_NONE && + !MediaScanner.isNoMediaPath(path)) { int fileType = MediaFile.getFileTypeForMimeType(mimeType); if (MediaFile.isAudioFileType(fileType)) { mediaType = FileColumns.MEDIA_TYPE_AUDIO; |