| Index: ui/android/java/src/org/chromium/ui/UiUtils.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/UiUtils.java b/ui/android/java/src/org/chromium/ui/UiUtils.java
|
| deleted file mode 100644
|
| index c11d9e3741bbdfcf5ee64da70cfd4fbee03c7edf..0000000000000000000000000000000000000000
|
| --- a/ui/android/java/src/org/chromium/ui/UiUtils.java
|
| +++ /dev/null
|
| @@ -1,182 +0,0 @@
|
| -// Copyright (c) 2013 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.ui;
|
| -
|
| -import android.content.Context;
|
| -import android.graphics.Bitmap;
|
| -import android.graphics.Canvas;
|
| -import android.graphics.Rect;
|
| -import android.util.Log;
|
| -import android.view.SurfaceView;
|
| -import android.view.View;
|
| -import android.view.ViewGroup;
|
| -import android.view.inputmethod.InputMethodManager;
|
| -
|
| -/**
|
| - * Utility functions for common Android UI tasks.
|
| - * This class is not supposed to be instantiated.
|
| - */
|
| -public class UiUtils {
|
| - private static final String TAG = "UiUtils";
|
| -
|
| - /**
|
| - * Guards this class from being instantiated.
|
| - */
|
| - private UiUtils() {
|
| - }
|
| -
|
| - /** The minimum size of the bottom margin below the app to detect a keyboard. */
|
| - private static float KEYBOARD_DETECT_BOTTOM_THRESHOLD_DP = 100;
|
| -
|
| - /**
|
| - * Shows the software keyboard if necessary.
|
| - * @param view The currently focused {@link View}, which would receive soft keyboard input.
|
| - */
|
| - public static void showKeyboard(View view) {
|
| - InputMethodManager imm =
|
| - (InputMethodManager) view.getContext().getSystemService(
|
| - Context.INPUT_METHOD_SERVICE);
|
| - // Only shows soft keyboard if there isn't an open physical keyboard.
|
| - imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
|
| - }
|
| -
|
| - /**
|
| - * Hides the keyboard.
|
| - * @param view The {@link View} that is currently accepting input.
|
| - * @return Whether the keyboard was visible before.
|
| - */
|
| - public static boolean hideKeyboard(View view) {
|
| - InputMethodManager imm =
|
| - (InputMethodManager) view.getContext().getSystemService(
|
| - Context.INPUT_METHOD_SERVICE);
|
| - return imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
|
| - }
|
| -
|
| - public static boolean isKeyboardShowing(Context context, View view) {
|
| - View rootView = view.getRootView();
|
| - if (rootView == null) return false;
|
| - Rect appRect = new Rect();
|
| - rootView.getWindowVisibleDisplayFrame(appRect);
|
| - final float screenHeight = context.getResources().getDisplayMetrics().heightPixels;
|
| - final float bottomMargin = Math.abs(appRect.bottom - screenHeight);
|
| - final float density = context.getResources().getDisplayMetrics().density;
|
| - return bottomMargin > KEYBOARD_DETECT_BOTTOM_THRESHOLD_DP * density;
|
| - }
|
| -
|
| - /**
|
| - * Inserts a {@link View} into a {@link ViewGroup} after directly before a given {@View}.
|
| - * @param container The {@link View} to add newView to.
|
| - * @param newView The new {@link View} to add.
|
| - * @param existingView The {@link View} to insert the newView before.
|
| - * @return The index where newView was inserted, or -1 if it was not inserted.
|
| - */
|
| - public static int insertBefore(ViewGroup container, View newView, View existingView) {
|
| - return insertView(container, newView, existingView, false);
|
| - }
|
| -
|
| - /**
|
| - * Inserts a {@link View} into a {@link ViewGroup} after directly after a given {@View}.
|
| - * @param container The {@link View} to add newView to.
|
| - * @param newView The new {@link View} to add.
|
| - * @param existingView The {@link View} to insert the newView after.
|
| - * @return The index where newView was inserted, or -1 if it was not inserted.
|
| - */
|
| - public static int insertAfter(ViewGroup container, View newView, View existingView) {
|
| - return insertView(container, newView, existingView, true);
|
| - }
|
| -
|
| - private static int insertView(
|
| - ViewGroup container, View newView, View existingView, boolean after) {
|
| - // See if the view has already been added.
|
| - int index = container.indexOfChild(newView);
|
| - if (index >= 0) return index;
|
| -
|
| - // Find the location of the existing view.
|
| - index = container.indexOfChild(existingView);
|
| - if (index < 0) return -1;
|
| -
|
| - // Add the view.
|
| - if (after) index++;
|
| - container.addView(newView, index);
|
| - return index;
|
| - }
|
| -
|
| - /**
|
| - * Generates a scaled screenshot of the given view. The maximum size of the screenshot is
|
| - * determined by maximumDimension.
|
| - *
|
| - * @param currentView The view to generate a screenshot of.
|
| - * @param maximumDimension The maximum width or height of the generated screenshot. The bitmap
|
| - * will be scaled to ensure the maximum width or height is equal to or
|
| - * less than this. Any value <= 0, will result in no scaling.
|
| - * @param bitmapConfig Bitmap config for the generated screenshot (ARGB_8888 or RGB_565).
|
| - * @return The screen bitmap of the view or null if a problem was encountered.
|
| - */
|
| - public static Bitmap generateScaledScreenshot(
|
| - View currentView, int maximumDimension, Bitmap.Config bitmapConfig) {
|
| - Bitmap screenshot = null;
|
| - boolean drawingCacheEnabled = currentView.isDrawingCacheEnabled();
|
| - try {
|
| - prepareViewHierarchyForScreenshot(currentView, true);
|
| - if (!drawingCacheEnabled) currentView.setDrawingCacheEnabled(true);
|
| - // Android has a maximum drawing cache size and if the drawing cache is bigger
|
| - // than that, getDrawingCache() returns null.
|
| - Bitmap originalBitmap = currentView.getDrawingCache();
|
| - if (originalBitmap != null) {
|
| - double originalHeight = originalBitmap.getHeight();
|
| - double originalWidth = originalBitmap.getWidth();
|
| - int newWidth = (int) originalWidth;
|
| - int newHeight = (int) originalHeight;
|
| - if (maximumDimension > 0) {
|
| - double scale = maximumDimension / Math.max(originalWidth, originalHeight);
|
| - newWidth = (int) Math.round(originalWidth * scale);
|
| - newHeight = (int) Math.round(originalHeight * scale);
|
| - }
|
| - Bitmap scaledScreenshot =
|
| - Bitmap.createScaledBitmap(originalBitmap, newWidth, newHeight, true);
|
| - if (scaledScreenshot.getConfig() != bitmapConfig) {
|
| - screenshot = scaledScreenshot.copy(bitmapConfig, false);
|
| - scaledScreenshot.recycle();
|
| - scaledScreenshot = null;
|
| - } else {
|
| - screenshot = scaledScreenshot;
|
| - }
|
| - } else if (currentView.getMeasuredHeight() > 0 && currentView.getMeasuredWidth() > 0) {
|
| - double originalHeight = currentView.getMeasuredHeight();
|
| - double originalWidth = currentView.getMeasuredWidth();
|
| - int newWidth = (int) originalWidth;
|
| - int newHeight = (int) originalHeight;
|
| - if (maximumDimension > 0) {
|
| - double scale = maximumDimension / Math.max(originalWidth, originalHeight);
|
| - newWidth = (int) Math.round(originalWidth * scale);
|
| - newHeight = (int) Math.round(originalHeight * scale);
|
| - }
|
| - Bitmap bitmap = Bitmap.createBitmap(newWidth, newHeight, bitmapConfig);
|
| - Canvas canvas = new Canvas(bitmap);
|
| - canvas.scale((float) (newWidth / originalWidth),
|
| - (float) (newHeight / originalHeight));
|
| - currentView.draw(canvas);
|
| - screenshot = bitmap;
|
| - }
|
| - } catch (OutOfMemoryError e) {
|
| - Log.d(TAG, "Unable to capture screenshot and scale it down." + e.getMessage());
|
| - } finally {
|
| - if (!drawingCacheEnabled) currentView.setDrawingCacheEnabled(false);
|
| - prepareViewHierarchyForScreenshot(currentView, false);
|
| - }
|
| - return screenshot;
|
| - }
|
| -
|
| - private static void prepareViewHierarchyForScreenshot(View view, boolean takingScreenshot) {
|
| - if (view instanceof ViewGroup) {
|
| - ViewGroup viewGroup = (ViewGroup) view;
|
| - for (int i = 0; i < viewGroup.getChildCount(); i++) {
|
| - prepareViewHierarchyForScreenshot(viewGroup.getChildAt(i), takingScreenshot);
|
| - }
|
| - } else if (view instanceof SurfaceView) {
|
| - view.setWillNotDraw(!takingScreenshot);
|
| - }
|
| - }
|
| -}
|
|
|