Commit 66c9a252 authored by bttk's avatar bttk Committed by Chromium LUCI CQ

[ToolbarMVC] Move populateFadeAnimations to LocationBarCoordinatorPhone

getOffsetOfFirstVisibleFocusedView is moved as well

Change-Id: I96bc2a476fab2cd16372915ee0141a28236eeff4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622842Reviewed-by: default avatarPatrick Noland <pnoland@chromium.org>
Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Commit-Queue: bttk <bttk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842585}
parent 0d150c2c
......@@ -5,10 +5,12 @@
package org.chromium.chrome.browser.omnibox;
import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.view.View;
import android.widget.FrameLayout;
import org.chromium.chrome.browser.omnibox.status.StatusCoordinator;
import org.chromium.ui.interpolators.BakedBezierInterpolator;
import java.util.List;
......@@ -32,11 +34,19 @@ public class LocationBarCoordinatorPhone implements LocationBarCoordinator.SubCo
}
/**
* Returns width of child views before the first view that would be visible when location
* bar is focused. The first visible, focused view should be either url bar or status icon.
* Returns the total width of child views before the first view that would be visible when
* location bar is focused. The first visible, focused view should be either url bar or status
* icon.
*/
public int getOffsetOfFirstVisibleFocusedView() {
return mLocationBarPhone.getOffsetOfFirstVisibleFocusedView();
int visibleWidth = 0;
for (int i = 0; i < mLocationBarPhone.getChildCount(); i++) {
View child = mLocationBarPhone.getChildAt(i);
if (child == mLocationBarPhone.getFirstVisibleFocusedView()) break;
if (child.getVisibility() == View.GONE) continue;
visibleWidth += child.getMeasuredWidth();
}
return visibleWidth;
}
/**
......@@ -49,7 +59,15 @@ public class LocationBarCoordinatorPhone implements LocationBarCoordinator.SubCo
*/
public void populateFadeAnimations(
List<Animator> animators, long startDelayMs, long durationMs, float targetAlpha) {
mLocationBarPhone.populateFadeAnimations(animators, startDelayMs, durationMs, targetAlpha);
for (int i = 0; i < mLocationBarPhone.getChildCount(); i++) {
View child = mLocationBarPhone.getChildAt(i);
if (child == mLocationBarPhone.getFirstVisibleFocusedView()) break;
Animator animator = ObjectAnimator.ofFloat(child, View.ALPHA, targetAlpha);
animator.setStartDelay(startDelayMs);
animator.setDuration(durationMs);
animator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE);
animators.add(animator);
}
}
/**
......
......@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.omnibox;
import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
......@@ -13,12 +11,8 @@ import android.util.AttributeSet;
import android.view.TouchDelegate;
import android.view.View;
import android.widget.FrameLayout;
import org.chromium.base.TraceEvent;
import org.chromium.chrome.R;
import org.chromium.ui.interpolators.BakedBezierInterpolator;
import java.util.List;
/**
* A location bar implementation specific for smaller/phone screens.
......@@ -206,38 +200,11 @@ class LocationBarPhone extends LocationBarLayout {
}
/**
* @return Width of child views before the first view that would be visible when location bar is
* focused. The first visible, focused view should be either url bar or status icon.
*/
public int getOffsetOfFirstVisibleFocusedView() {
int visibleWidth = 0;
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
if (child == mFirstVisibleFocusedView) break;
if (child.getVisibility() == GONE) continue;
visibleWidth += child.getMeasuredWidth();
}
return visibleWidth;
}
/**
* Populates fade animators of status icon for location bar focus change animation.
* @param animators The target list to add animators to.
* @param startDelayMs Start delay of fade animation in milliseconds.
* @param durationMs Duration of fade animation in milliseconds.
* @param targetAlpha Target alpha value.
* Returns the first child view that would be visible when location bar is focused. The first
* visible, focused view should be either url bar or status icon.
*/
public void populateFadeAnimations(
List<Animator> animators, long startDelayMs, long durationMs, float targetAlpha) {
for (int i = 0; i < getChildCount(); i++) {
View child = getChildAt(i);
if (child == mFirstVisibleFocusedView) break;
Animator animator = ObjectAnimator.ofFloat(child, ALPHA, targetAlpha);
animator.setStartDelay(startDelayMs);
animator.setDuration(durationMs);
animator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE);
animators.add(animator);
}
/* package */ View getFirstVisibleFocusedView() {
return mFirstVisibleFocusedView;
}
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment