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

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

Issue 1505913003: Add update menu item and app menu icon badge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add code create 1dp transparent border in LocatoinBarPhone Created 5 years 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/ToolbarPhone.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
index c0f587d3ca93982e64e5024eae53fa34b5846d50..a5764b1b50155233ab3ef6d4410718829e1731a5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java
@@ -182,6 +182,8 @@ public class ToolbarPhone extends ToolbarLayout
private ValueAnimator mBrandColorTransitionAnimation;
private boolean mBrandColorTransitionActive;
+ private boolean mShowMenuBadge;
+
/**
* Used to specify the visual state of the toolbar.
*/
@@ -283,10 +285,10 @@ public class ToolbarPhone extends ToolbarLayout
setLayoutTransition(null);
- mMenuButton.setVisibility(shouldShowMenuButton() ? View.VISIBLE : View.GONE);
+ mMenuButtonWrapper.setVisibility(shouldShowMenuButton() ? View.VISIBLE : View.GONE);
if (FeatureUtilities.isDocumentMode(getContext())) {
ApiCompatibilityUtils.setMarginEnd(
- (MarginLayoutParams) mMenuButton.getLayoutParams(),
+ (MarginLayoutParams) mMenuButtonWrapper.getLayoutParams(),
getResources().getDimensionPixelSize(R.dimen.document_toolbar_menu_offset));
}
@@ -978,6 +980,17 @@ public class ToolbarPhone extends ToolbarLayout
mTabSwitcherAnimationMenuDrawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mTabSwitcherAnimationMenuDrawable.draw(canvas);
}
+ if (mShowMenuBadge) {
+ // TODO(twellington): adjust for mUrlExpansionPercent? In what scenarios will the code
+ // below not draw in the correct position?
+ int previousVisibility = mMenuBadge.getVisibility();
+ mMenuBadge.setVisibility(View.VISIBLE);
+ int previousMenuBadgeAlpha = mMenuBadge.getImageAlpha();
+ mMenuBadge.setImageAlpha(rgbAlpha);
+ drawChild(canvas, mMenuBadge, SystemClock.uptimeMillis());
+ mMenuBadge.setVisibility(previousVisibility);
+ mMenuBadge.setImageAlpha(previousMenuBadgeAlpha);
gone 2015/12/08 22:24:24 nit: rearrange for clarity? int previousVisibilit
Theresa 2015/12/10 03:53:18 Done.
+ }
canvas.restore();
}
@@ -1486,12 +1499,12 @@ public class ToolbarPhone extends ToolbarLayout
URL_FOCUS_TOOLBAR_BUTTONS_TRANSLATION_X_DP, isRtl) * density;
animator = ObjectAnimator.ofFloat(
- mMenuButton, TRANSLATION_X, toolbarButtonTranslationX);
+ mMenuButtonWrapper, TRANSLATION_X, toolbarButtonTranslationX);
animator.setDuration(URL_FOCUS_TOOLBAR_BUTTONS_DURATION_MS);
animator.setInterpolator(BakedBezierInterpolator.FADE_OUT_CURVE);
animators.add(animator);
- animator = ObjectAnimator.ofFloat(mMenuButton, ALPHA, 0);
+ animator = ObjectAnimator.ofFloat(mMenuButtonWrapper, ALPHA, 0);
animator.setDuration(URL_FOCUS_TOOLBAR_BUTTONS_DURATION_MS);
animator.setInterpolator(BakedBezierInterpolator.FADE_OUT_CURVE);
animators.add(animator);
@@ -1516,13 +1529,13 @@ public class ToolbarPhone extends ToolbarLayout
animator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE);
animators.add(animator);
- animator = ObjectAnimator.ofFloat(mMenuButton, TRANSLATION_X, 0);
+ animator = ObjectAnimator.ofFloat(mMenuButtonWrapper, TRANSLATION_X, 0);
animator.setDuration(URL_FOCUS_TOOLBAR_BUTTONS_DURATION_MS);
animator.setStartDelay(URL_CLEAR_FOCUS_MENU_DELAY_MS);
animator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE);
animators.add(animator);
- animator = ObjectAnimator.ofFloat(mMenuButton, ALPHA, 1);
+ animator = ObjectAnimator.ofFloat(mMenuButtonWrapper, ALPHA, 1);
animator.setDuration(URL_FOCUS_TOOLBAR_BUTTONS_DURATION_MS);
animator.setStartDelay(URL_CLEAR_FOCUS_MENU_DELAY_MS);
animator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE);
@@ -1966,5 +1979,26 @@ public class ToolbarPhone extends ToolbarLayout
public LocationBar getLocationBar() {
return mPhoneLocationBar;
}
+
+ @Override
+ public void showAppMenuUpdateBadge() {
+ mShowMenuBadge = true;
+ if (!mBrowsingModeViews.contains(mMenuBadge)) {
+ mBrowsingModeViews.add(mMenuBadge);
+ }
+ if (!mInTabSwitcherMode) {
+ mMenuBadge.setVisibility(View.VISIBLE);
+ } else {
+ mMenuBadge.setVisibility(View.INVISIBLE);
gone 2015/12/08 22:24:24 View.GONE?
Theresa 2015/12/10 03:53:18 Done.
+ }
+ mPhoneLocationBar.showAppMenuBadge();
+ // TODO(twellington): Add a 1dp transparent border around the badge here and add logic
+ // to show the original app menu button in overview mode.
+ }
+
+ @Override
+ protected View getMenuButton() {
gone 2015/12/08 22:24:24 getMenuButtonWrapper()? Will get confusing becaus
Theresa 2015/12/10 03:53:18 Done. Changed the logic in ToolbarLayout and delet
+ return mMenuButtonWrapper;
+ }
}

Powered by Google App Engine
This is Rietveld 408576698