| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java
|
| deleted file mode 100644
|
| index ce3dc817621aa6cc175185dcd3ce149a213e2827..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/omnibox/LocationBarTablet.java
|
| +++ /dev/null
|
| @@ -1,222 +0,0 @@
|
| -// Copyright 2015 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.omnibox;
|
| -
|
| -import android.animation.Animator;
|
| -import android.animation.AnimatorListenerAdapter;
|
| -import android.animation.ObjectAnimator;
|
| -import android.content.Context;
|
| -import android.graphics.Rect;
|
| -import android.text.Selection;
|
| -import android.util.AttributeSet;
|
| -import android.util.Property;
|
| -import android.view.MotionEvent;
|
| -import android.view.View;
|
| -import android.view.WindowManager;
|
| -
|
| -import org.chromium.base.ApiCompatibilityUtils;
|
| -import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.ntp.NewTabPage;
|
| -import org.chromium.ui.UiUtils;
|
| -
|
| -/**
|
| - * Location bar for tablet form factors.
|
| - */
|
| -public class LocationBarTablet extends LocationBarLayout {
|
| -
|
| - private static final int KEYBOARD_MODE_CHANGE_DELAY_MS = 300;
|
| - private static final long MAX_NTP_KEYBOARD_FOCUS_DURATION_MS = 200;
|
| -
|
| - private final Property<LocationBarTablet, Float> mUrlFocusChangePercentProperty =
|
| - new Property<LocationBarTablet, Float>(Float.class, "") {
|
| - @Override
|
| - public Float get(LocationBarTablet object) {
|
| - return object.mUrlFocusChangePercent;
|
| - }
|
| -
|
| - @Override
|
| - public void set(LocationBarTablet object, Float value) {
|
| - setUrlFocusChangePercent(value);
|
| - }
|
| - };
|
| -
|
| - private final Runnable mKeyboardResizeModeTask = new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - getWindowDelegate().setWindowSoftInputMode(
|
| - WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
| - }
|
| - };
|
| -
|
| - private View mBookmarkButton;
|
| - private float mUrlFocusChangePercent;
|
| - private Animator mUrlFocusChangeAnimator;
|
| - private View[] mTargets;
|
| - private final Rect mCachedTargetBounds = new Rect();
|
| -
|
| - /**
|
| - * Constructor used to inflate from XML.
|
| - */
|
| - public LocationBarTablet(Context context, AttributeSet attrs) {
|
| - super(context, attrs);
|
| - }
|
| -
|
| - @Override
|
| - protected void onFinishInflate() {
|
| - super.onFinishInflate();
|
| -
|
| - mBookmarkButton = findViewById(R.id.bookmark_button);
|
| - mTargets = new View[] { mUrlBar, mDeleteButton };
|
| - }
|
| -
|
| - @Override
|
| - public boolean onTouchEvent(MotionEvent event) {
|
| - if (mTargets == null) return true;
|
| -
|
| - View selectedTarget = null;
|
| - float selectedDistance = 0;
|
| - // newX and newY are in the coordinates of the selectedTarget.
|
| - float newX = 0;
|
| - float newY = 0;
|
| - for (View target : mTargets) {
|
| - if (!target.isShown()) continue;
|
| -
|
| - mCachedTargetBounds.set(0, 0, target.getWidth(), target.getHeight());
|
| - offsetDescendantRectToMyCoords(target, mCachedTargetBounds);
|
| - float x = event.getX();
|
| - float y = event.getY();
|
| - float dx = distanceToRange(
|
| - mCachedTargetBounds.left, mCachedTargetBounds.right, x);
|
| - float dy = distanceToRange(
|
| - mCachedTargetBounds.top, mCachedTargetBounds.bottom, y);
|
| - float distance = Math.abs(dx) + Math.abs(dy);
|
| - if (selectedTarget == null || distance < selectedDistance) {
|
| - selectedTarget = target;
|
| - selectedDistance = distance;
|
| - newX = x + dx;
|
| - newY = y + dy;
|
| - }
|
| - }
|
| -
|
| - if (selectedTarget == null) return false;
|
| -
|
| - event.setLocation(newX, newY);
|
| - return selectedTarget.onTouchEvent(event);
|
| - }
|
| -
|
| - // Returns amount by which to adjust to move value inside the given range.
|
| - private static float distanceToRange(float min, float max, float value) {
|
| - return value < min ? (min - value) : value > max ? (max - value) : 0;
|
| - }
|
| -
|
| - @Override
|
| - public void onUrlFocusChange(final boolean hasFocus) {
|
| - super.onUrlFocusChange(hasFocus);
|
| -
|
| - removeCallbacks(mKeyboardResizeModeTask);
|
| -
|
| - if (mUrlFocusChangeAnimator != null && mUrlFocusChangeAnimator.isRunning()) {
|
| - mUrlFocusChangeAnimator.cancel();
|
| - mUrlFocusChangeAnimator = null;
|
| - }
|
| -
|
| - if (getToolbarDataProvider().getNewTabPageForCurrentTab() == null) {
|
| - finishUrlFocusChange(hasFocus);
|
| - return;
|
| - }
|
| -
|
| - Rect rootViewBounds = new Rect();
|
| - getRootView().getLocalVisibleRect(rootViewBounds);
|
| - float screenSizeRatio = (rootViewBounds.height()
|
| - / (float) (Math.max(rootViewBounds.height(), rootViewBounds.width())));
|
| - mUrlFocusChangeAnimator =
|
| - ObjectAnimator.ofFloat(this, mUrlFocusChangePercentProperty, hasFocus ? 1f : 0f);
|
| - mUrlFocusChangeAnimator.setDuration(
|
| - (long) (MAX_NTP_KEYBOARD_FOCUS_DURATION_MS * screenSizeRatio));
|
| - mUrlFocusChangeAnimator.addListener(new AnimatorListenerAdapter() {
|
| - private boolean mIsCancelled;
|
| -
|
| - @Override
|
| - public void onAnimationCancel(Animator animation) {
|
| - mIsCancelled = true;
|
| - }
|
| -
|
| - @Override
|
| - public void onAnimationEnd(Animator animation) {
|
| - if (mIsCancelled) return;
|
| - finishUrlFocusChange(hasFocus);
|
| - }
|
| - });
|
| - mUrlFocusChangeAnimator.start();
|
| - }
|
| -
|
| - private void finishUrlFocusChange(boolean hasFocus) {
|
| - if (hasFocus) {
|
| - if (mSecurityButton.getVisibility() == VISIBLE) mSecurityButton.setVisibility(GONE);
|
| - if (getWindowDelegate().getWindowSoftInputMode()
|
| - != WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) {
|
| - getWindowDelegate().setWindowSoftInputMode(
|
| - WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
| - }
|
| - UiUtils.showKeyboard(mUrlBar);
|
| - } else {
|
| - if (mSecurityButton.getVisibility() == GONE
|
| - && mSecurityButton.getDrawable() != null
|
| - && mSecurityButton.getDrawable().getIntrinsicWidth() > 0
|
| - && mSecurityButton.getDrawable().getIntrinsicHeight() > 0) {
|
| - mSecurityButton.setVisibility(VISIBLE);
|
| - }
|
| - UiUtils.hideKeyboard(mUrlBar);
|
| - Selection.setSelection(mUrlBar.getText(), 0);
|
| - // Convert the keyboard back to resize mode (delay the change for an arbitrary
|
| - // amount of time in hopes the keyboard will be completely hidden before making
|
| - // this change).
|
| - if (getWindowDelegate().getWindowSoftInputMode()
|
| - != WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) {
|
| - postDelayed(mKeyboardResizeModeTask, KEYBOARD_MODE_CHANGE_DELAY_MS);
|
| - }
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Updates percentage of current the URL focus change animation.
|
| - * @param percent 1.0 is 100% focused, 0 is completely unfocused.
|
| - */
|
| - private void setUrlFocusChangePercent(float percent) {
|
| - mUrlFocusChangePercent = percent;
|
| -
|
| - NewTabPage ntp = getToolbarDataProvider().getNewTabPageForCurrentTab();
|
| - if (ntp != null) ntp.setUrlFocusChangeAnimationPercent(percent);
|
| - }
|
| -
|
| - @Override
|
| - protected void updateDeleteButtonVisibility() {
|
| - boolean enabled = shouldShowDeleteButton();
|
| - mDeleteButton.setVisibility(enabled ? VISIBLE : GONE);
|
| - mBookmarkButton.setVisibility(enabled ? View.GONE : View.VISIBLE);
|
| - }
|
| -
|
| - @Override
|
| - protected void updateLayoutParams() {
|
| - // Calculate the bookmark/delete button margins.
|
| - final MarginLayoutParams micLayoutParams =
|
| - (MarginLayoutParams) mMicButton.getLayoutParams();
|
| - int micSpace = ApiCompatibilityUtils.getMarginEnd(micLayoutParams);
|
| - if (mMicButton.getVisibility() != View.GONE) micSpace += mMicButton.getWidth();
|
| -
|
| - final MarginLayoutParams deleteLayoutParams =
|
| - (MarginLayoutParams) mDeleteButton.getLayoutParams();
|
| - final MarginLayoutParams bookmarkLayoutParams =
|
| - (MarginLayoutParams) mBookmarkButton.getLayoutParams();
|
| -
|
| - ApiCompatibilityUtils.setMarginEnd(deleteLayoutParams, micSpace);
|
| - ApiCompatibilityUtils.setMarginEnd(bookmarkLayoutParams, micSpace);
|
| -
|
| - mDeleteButton.setLayoutParams(deleteLayoutParams);
|
| - mBookmarkButton.setLayoutParams(bookmarkLayoutParams);
|
| -
|
| - super.updateLayoutParams();
|
| - }
|
| -}
|
|
|