Index: chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java |
deleted file mode 100644 |
index ddad8aa24789fdb7444e6fd352f9feaf99e4ae08..0000000000000000000000000000000000000000 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-// Copyright 2017 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-package org.chromium.chrome.browser.photo_picker; |
- |
-import android.graphics.Bitmap; |
-import android.graphics.BitmapFactory; |
- |
-import java.io.FileDescriptor; |
- |
-/** |
- * A collection of utility functions for dealing with bitmaps. |
- */ |
-class BitmapUtils { |
- /** |
- * Takes a |bitmap| and returns a square thumbnail of |size|x|size| from the center of the |
- * bitmap specified. |
- * @param bitmap The bitmap to adjust. |
- * @param size The desired size (width and height). |
- * @return The new bitmap thumbnail. |
- */ |
- private static Bitmap sizeBitmap(Bitmap bitmap, int size) { |
- // TODO(finnur): Investigate options that require fewer bitmaps to be created. |
- bitmap = ensureMinSize(bitmap, size); |
- bitmap = cropToSquare(bitmap, size); |
- return bitmap; |
- } |
- |
- /** |
- * Given a FileDescriptor, decodes the contents and returns a bitmap of |
- * dimensions |size|x|size|. |
- * @param descriptor The FileDescriptor for the file to read. |
- * @param size The width and height of the bitmap to return. |
- * @return The resulting bitmap. |
- */ |
- public static Bitmap decodeBitmapFromFileDescriptor(FileDescriptor descriptor, int size) { |
- BitmapFactory.Options options = new BitmapFactory.Options(); |
- options.inJustDecodeBounds = true; |
- BitmapFactory.decodeFileDescriptor(descriptor, null, options); |
- options.inSampleSize = calculateInSampleSize(options.outWidth, options.outHeight, size); |
- options.inJustDecodeBounds = false; |
- Bitmap bitmap = BitmapFactory.decodeFileDescriptor(descriptor, null, options); |
- |
- if (bitmap == null) return null; |
- |
- return sizeBitmap(bitmap, size); |
- } |
- |
- /** |
- * Calculates the sub-sampling factor {@link BitmapFactory#inSampleSize} option for a given |
- * image dimensions, which will be used to create a bitmap of a pre-determined size (as small as |
- * possible without either dimension shrinking below |minSize|. |
- * @param width The calculated width of the image to decode. |
- * @param height The calculated height of the image to decode. |
- * @param minSize The maximum size the image should be (in either dimension). |
- * @return The sub-sampling factor (power of two: 1 = no change, 2 = half-size, etc). |
- */ |
- private static int calculateInSampleSize(int width, int height, int minSize) { |
- int inSampleSize = 1; |
- if (width > minSize && height > minSize) { |
- inSampleSize = Math.min(width, height) / minSize; |
- } |
- return inSampleSize; |
- } |
- |
- /** |
- * Ensures a |bitmap| is at least |size| in both width and height. |
- * @param bitmap The bitmap to modify. |
- * @param size The minimum size (width and height). |
- * @return The resulting (scaled) bitmap. |
- */ |
- private static Bitmap ensureMinSize(Bitmap bitmap, int size) { |
- int width = bitmap.getWidth(); |
- int height = bitmap.getHeight(); |
- if (width >= size && height >= size) return bitmap; |
- |
- if (width < size) { |
- float scale = (float) size / width; |
- width = size; |
- height *= scale; |
- } |
- |
- if (height < size) { |
- float scale = (float) size / height; |
- height = size; |
- width *= scale; |
- } |
- |
- return Bitmap.createScaledBitmap(bitmap, width, height, true); |
- } |
- |
- /** |
- * Crops a |bitmap| to a certain square |size| |
- * @param bitmap The bitmap to crop. |
- * @param size The size desired (width and height). |
- * @return The resulting (square) bitmap. |
- */ |
- private static Bitmap cropToSquare(Bitmap bitmap, int size) { |
- int x = 0; |
- int y = 0; |
- int width = bitmap.getWidth(); |
- int height = bitmap.getHeight(); |
- if (width == size && height == size) return bitmap; |
- |
- if (width > size) x = (width - size) / 2; |
- if (height > size) y = (height - size) / 2; |
- return Bitmap.createBitmap(bitmap, x, y, size, size); |
- } |
-} |