Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java |
| index 4d9c22fd61696cbff715443d437381ea9c6aa390..a3d588fff57d7e5c9416cdac64ab1e343cb29f18 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java |
| @@ -26,6 +26,8 @@ import org.chromium.base.ApiCompatibilityUtils; |
| import org.chromium.base.VisibleForTesting; |
| import org.chromium.chrome.R; |
| import org.chromium.chrome.browser.appmenu.AppMenuButtonHelper; |
| +import org.chromium.chrome.browser.appmenu.PulseDrawable; |
| +import org.chromium.chrome.browser.appmenu.PulseDrawableFactory; |
| import org.chromium.chrome.browser.compositor.Invalidator; |
| import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost; |
| import org.chromium.chrome.browser.fullscreen.BrowserStateBrowserControlsVisibilityDelegate; |
| @@ -77,6 +79,9 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar { |
| private boolean mFindInPageToolbarShowing; |
| + protected boolean mHighlightingMenu; |
| + private PulseDrawable mHighlightDrawable; |
| + |
| protected boolean mShowMenuBadge; |
| private AnimatorSet mMenuBadgeAnimatorSet; |
| private boolean mIsMenuBadgeAnimationRunning; |
| @@ -653,6 +658,8 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar { |
| */ |
| public abstract LocationBar getLocationBar(); |
| + public abstract boolean useLightDrawables(); |
|
Ted C
2017/04/12 18:05:57
javadoc
David Trainor- moved to gerrit
2017/04/12 18:59:37
Done.
|
| + |
| /** |
| * Navigates the current Tab back. |
| * @return Whether or not the current Tab did go back. |
| @@ -691,6 +698,12 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar { |
| } |
| @Override |
| + public void setMenuButtonHighlight(boolean highlight) { |
| + mHighlightingMenu = highlight; |
| + setMenuButtonHighlightDrawable(mHighlightingMenu); |
| + } |
| + |
| + @Override |
| public void showAppMenuUpdateBadge() { |
| mShowMenuBadge = true; |
| } |
| @@ -795,6 +808,30 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar { |
| } |
| /** |
| + * Sets the menu button's background depending on whether or not we are highlighting and whether |
| + * or not we are using light or dark assets. |
| + * @param highlighting Whether or not the menu button should be highlighted. |
|
Ted C
2017/04/12 18:05:57
too much space after highlighting
David Trainor- moved to gerrit
2017/04/12 18:59:37
Done.
|
| + */ |
| + protected void setMenuButtonHighlightDrawable(boolean highlighting) { |
| + if (highlighting) { |
| + if (mHighlightDrawable == null) { |
| + mHighlightDrawable = PulseDrawableFactory.createCircle(); |
| + mHighlightDrawable.setInset(ApiCompatibilityUtils.getPaddingStart(mMenuButton), |
| + mMenuButton.getPaddingTop(), |
| + ApiCompatibilityUtils.getPaddingEnd(mMenuButton), |
| + mMenuButton.getPaddingBottom()); |
| + } |
| + int colorRes = useLightDrawables() ? R.color.google_grey_100 : R.color.google_blue_500; |
| + int color = ApiCompatibilityUtils.getColor(getResources(), colorRes); |
| + mHighlightDrawable.setColor(color); |
|
Ted C
2017/04/12 18:05:57
ah...so we already use different colors. Can we j
David Trainor- moved to gerrit
2017/04/12 18:59:37
Yeah good idea
|
| + mMenuButtonWrapper.setBackground(mHighlightDrawable); |
| + mHighlightDrawable.start(); |
| + } else { |
| + mMenuButtonWrapper.setBackground(null); |
| + } |
| + } |
| + |
| + /** |
| * Sets the content description for the menu button. |
| * @param isUpdateBadgeVisible Whether the update menu badge is visible. |
| */ |