Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e106aa90 authored by Hyoungho Choi's avatar Hyoungho Choi Committed by Ray Essick
Browse files

Use a ExifInterface ctor with a file descriptor as a parameter

To avoid a binder circular dependency, ExifInterface is changed to use
a file descriptor for getting HEIF attributes (when available).

Bug: 199822700
Test: manual
Change-Id: I1b0762fd91f89bfb739b47467a685149309dd157
parent 627b6459
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import com.android.internal.util.ArrayUtils;
import libcore.io.IoUtils;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Comparator;
@@ -255,7 +256,8 @@ public class ThumbnailUtils {

        // get orientation
        if (MediaFile.isExifMimeType(mimeType)) {
            exif = new ExifInterface(file);
            try (FileInputStream is = new FileInputStream(file)) {
                exif = new ExifInterface(is.getFD());
                switch (exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0)) {
                    case ExifInterface.ORIENTATION_ROTATE_90:
                        orientation = 90;
@@ -268,6 +270,7 @@ public class ThumbnailUtils {
                        break;
                }
            }
        }

        if (mimeType.equals("image/heif")
                || mimeType.equals("image/heif-sequence")