diff options
author | 2017-08-16 11:57:02 -0700 | |
---|---|---|
committer | 2017-08-22 20:00:58 +0000 | |
commit | 48fa890b61b294e56a800ae30b401eede72a7a4f (patch) | |
tree | 05700287ed22115e5cc5580d7875d47dd7967e37 | |
parent | 6bce107c600e3aabdc536b1cfa4aa73ea7ce754b (diff) |
heif: add new file and mime types to MediaScanner
bug: 64077740
Change-Id: I6d36c2394a5ae527026c98c83786009e70b20958
(cherry picked from commit 6e18ccee2afd30a1b0874c5e26b2c8289309b432)
-rw-r--r-- | core/jni/android/graphics/BitmapFactory.cpp | 3 | ||||
-rw-r--r-- | media/java/android/media/MediaFile.java | 5 | ||||
-rw-r--r-- | media/java/android/mtp/MtpConstants.java | 2 | ||||
-rwxr-xr-x | media/java/android/mtp/MtpDatabase.java | 2 | ||||
-rw-r--r-- | media/jni/android_mtp_MtpDatabase.cpp | 2 |
5 files changed, 13 insertions, 1 deletions
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp index f99637d2ae30..42e9273c5ba2 100644 --- a/core/jni/android/graphics/BitmapFactory.cpp +++ b/core/jni/android/graphics/BitmapFactory.cpp @@ -76,6 +76,9 @@ jstring encodedFormatToString(JNIEnv* env, SkEncodedImageFormat format) { case SkEncodedImageFormat::kWEBP: mimeType = "image/webp"; break; + case SkEncodedImageFormat::kHEIF: + mimeType = "image/heif"; + break; case SkEncodedImageFormat::kWBMP: mimeType = "image/vnd.wap.wbmp"; break; diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java index 2f48ffbfdb5c..fc4d15fad5ca 100644 --- a/media/java/android/media/MediaFile.java +++ b/media/java/android/media/MediaFile.java @@ -80,8 +80,9 @@ public class MediaFile { public static final int FILE_TYPE_BMP = 34; public static final int FILE_TYPE_WBMP = 35; public static final int FILE_TYPE_WEBP = 36; + public static final int FILE_TYPE_HEIF = 37; private static final int FIRST_IMAGE_FILE_TYPE = FILE_TYPE_JPEG; - private static final int LAST_IMAGE_FILE_TYPE = FILE_TYPE_WEBP; + private static final int LAST_IMAGE_FILE_TYPE = FILE_TYPE_HEIF; // Raw image file types public static final int FILE_TYPE_DNG = 300; @@ -239,6 +240,8 @@ public class MediaFile { addFileType("BMP", FILE_TYPE_BMP, "image/x-ms-bmp", MtpConstants.FORMAT_BMP, true); addFileType("WBMP", FILE_TYPE_WBMP, "image/vnd.wap.wbmp", MtpConstants.FORMAT_DEFINED, false); addFileType("WEBP", FILE_TYPE_WEBP, "image/webp", MtpConstants.FORMAT_DEFINED, false); + addFileType("HEIC", FILE_TYPE_HEIF, "image/heif", MtpConstants.FORMAT_HEIF, true); + addFileType("HEIF", FILE_TYPE_HEIF, "image/heif", MtpConstants.FORMAT_HEIF, false); addFileType("DNG", FILE_TYPE_DNG, "image/x-adobe-dng", MtpConstants.FORMAT_DNG, true); addFileType("CR2", FILE_TYPE_CR2, "image/x-canon-cr2", MtpConstants.FORMAT_TIFF, false); diff --git a/media/java/android/mtp/MtpConstants.java b/media/java/android/mtp/MtpConstants.java index 7d078d7a97cf..88e287e6264f 100644 --- a/media/java/android/mtp/MtpConstants.java +++ b/media/java/android/mtp/MtpConstants.java @@ -211,6 +211,8 @@ public final class MtpConstants { public static final int FORMAT_JPX = 0x3810; /** Format code for DNG files */ public static final int FORMAT_DNG = 0x3811; + /** Format code for HEIF files {@hide} */ + public static final int FORMAT_HEIF = 0x3812; /** Format code for firmware files */ public static final int FORMAT_UNDEFINED_FIRMWARE = 0xB802; /** Format code for Windows image files */ diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java index 698c9c96fe01..9847d705adcf 100755 --- a/media/java/android/mtp/MtpDatabase.java +++ b/media/java/android/mtp/MtpDatabase.java @@ -595,6 +595,7 @@ public class MtpDatabase implements AutoCloseable { MtpConstants.FORMAT_XML_DOCUMENT, MtpConstants.FORMAT_FLAC, MtpConstants.FORMAT_DNG, + MtpConstants.FORMAT_HEIF, }; } @@ -705,6 +706,7 @@ public class MtpDatabase implements AutoCloseable { case MtpConstants.FORMAT_PNG: case MtpConstants.FORMAT_BMP: case MtpConstants.FORMAT_DNG: + case MtpConstants.FORMAT_HEIF: return IMAGE_PROPERTIES; default: return FILE_PROPERTIES; diff --git a/media/jni/android_mtp_MtpDatabase.cpp b/media/jni/android_mtp_MtpDatabase.cpp index cf4458a6fd49..5b874cd82678 100644 --- a/media/jni/android_mtp_MtpDatabase.cpp +++ b/media/jni/android_mtp_MtpDatabase.cpp @@ -849,6 +849,7 @@ MtpResponseCode MyMtpDatabase::getObjectInfo(MtpObjectHandle handle, // read EXIF data for thumbnail information switch (info.mFormat) { case MTP_FORMAT_EXIF_JPEG: + case MTP_FORMAT_HEIF: case MTP_FORMAT_JFIF: { ExifData *exifdata = exif_data_new_from_file(path); if (exifdata) { @@ -906,6 +907,7 @@ void* MyMtpDatabase::getThumbnail(MtpObjectHandle handle, size_t& outThumbSize) if (getObjectFilePath(handle, path, length, format) == MTP_RESPONSE_OK) { switch (format) { case MTP_FORMAT_EXIF_JPEG: + case MTP_FORMAT_HEIF: case MTP_FORMAT_JFIF: { ExifData *exifdata = exif_data_new_from_file(path); if (exifdata) { |