Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(884)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java

Issue 2779543005: Add support for highlighting menu items (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..d798f629832c876a7795b2f484cca24f6ebf3dd7 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,7 @@ 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.IconHighlightDrawable;
import org.chromium.chrome.browser.compositor.Invalidator;
import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
import org.chromium.chrome.browser.fullscreen.BrowserStateBrowserControlsVisibilityDelegate;
@@ -77,6 +78,7 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
private boolean mFindInPageToolbarShowing;
+ protected boolean mHighlightingMenu;
protected boolean mShowMenuBadge;
private AnimatorSet mMenuBadgeAnimatorSet;
private boolean mIsMenuBadgeAnimationRunning;
@@ -691,6 +693,12 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
}
@Override
+ public void setMenuButtonHighlight(boolean highlight) {
+ mHighlightingMenu = highlight;
+ setAppMenuButtonHighlight(highlight, true /* useLightDrawable*/);
+ }
+
+ @Override
public void showAppMenuUpdateBadge() {
mShowMenuBadge = true;
}
@@ -795,6 +803,27 @@ public abstract class ToolbarLayout extends FrameLayout implements Toolbar {
}
/**
+ *
+ * @param highlighting
+ * @param useLightDrawable
+ */
+ protected void setAppMenuButtonHighlight(boolean highlighting, boolean useLightDrawable) {
+ IconHighlightDrawable drawable = null;
+ if (highlighting) {
+ int colorRes = useLightDrawable ? R.color.app_menu_highlight_color_dark
+ : R.color.app_menu_highlight_color_light;
+ int color = ApiCompatibilityUtils.getColor(getContext().getResources(), colorRes);
+
+ drawable = new IconHighlightDrawable(color);
+
+ drawable.setMargin(ApiCompatibilityUtils.getPaddingStart(mMenuButton),
+ mMenuButton.getPaddingTop(), ApiCompatibilityUtils.getPaddingEnd(mMenuButton),
+ mMenuButton.getPaddingBottom());
+ }
+ mMenuButtonWrapper.setBackground(drawable);
+ }
+
+ /**
* Sets the content description for the menu button.
* @param isUpdateBadgeVisible Whether the update menu badge is visible.
*/

Powered by Google App Engine
This is Rietveld 408576698