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

Commit 713c9a33 authored by Chih-Chung Chang's avatar Chih-Chung Chang Committed by Android (Google) Code Review
Browse files

Merge "Fix 5509346: Resize the thumbnails if it's too large." into ics-mr1

parents ee7ebb32 b1224ff1
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@ public class MediaImageItem extends MediaItem {

        final Bitmap imageBitmap;

        if (mHeight > maxResolution.second) {
        if (mWidth > maxResolution.first || mHeight > maxResolution.second) {
            /**
             *  We need to scale the image
             */
@@ -971,14 +971,13 @@ public class MediaImageItem extends MediaItem {
            /**
             *  Create the bitmap from file
             */
            if (nativeWidth / bitmapWidth > 1) {

            int sampleSize = (int) Math.ceil(Math.max(
                    (float) nativeWidth / bitmapWidth,
                    (float) nativeHeight / bitmapHeight));
            sampleSize = nextPowerOf2(sampleSize);
            final BitmapFactory.Options options = new BitmapFactory.Options();
                options.inSampleSize = nativeWidth / (int)bitmapWidth;
            options.inSampleSize = sampleSize;
            srcBitmap = BitmapFactory.decodeFile(filename, options);
            } else {
                srcBitmap = BitmapFactory.decodeFile(filename);
            }
        } else {
            bitmapWidth = width;
            bitmapHeight = height;
@@ -1009,4 +1008,14 @@ public class MediaImageItem extends MediaItem {
        srcBitmap.recycle();
        return bitmap;
    }

    public static int nextPowerOf2(int n) {
        n -= 1;
        n |= n >>> 16;
        n |= n >>> 8;
        n |= n >>> 4;
        n |= n >>> 2;
        n |= n >>> 1;
        return n + 1;
    }
}