Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java |
| index 4e73d9bca9b2689be8fb2098193d901b837249e9..aa042e70ba640087a9da1288fa2000dc55edcd19 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java |
| @@ -6,6 +6,7 @@ package org.chromium.chrome.browser.toolbar; |
| import android.annotation.SuppressLint; |
| import android.content.Context; |
| +import android.graphics.drawable.Drawable; |
| import android.util.AttributeSet; |
| import android.view.View; |
| import android.view.View.OnClickListener; |
| @@ -18,6 +19,7 @@ import org.chromium.chrome.R; |
| import org.chromium.chrome.browser.ChromeSwitches; |
| import org.chromium.chrome.browser.NavigationPopup; |
| import org.chromium.chrome.browser.device.DeviceClassManager; |
| +import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; |
| import org.chromium.chrome.browser.omnibox.LocationBar; |
| import org.chromium.chrome.browser.partnercustomizations.HomepageManager; |
| import org.chromium.chrome.browser.tab.Tab; |
| @@ -40,10 +42,11 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| private OnClickListener mBookmarkListener; |
| private OnClickListener mTabSwitcherListener; |
| - private boolean mInTabSwitcherwMode = false; |
| + private boolean mInTabSwitcherMode = false; |
|
gone
2015/12/10 21:45:11
nit: mIsInTabSwitcherMode?
Theresa
2015/12/11 19:44:46
Done.
|
| private boolean mShowTabStack; |
| + |
| private NavigationPopup mNavigationPopup; |
| private TabSwitcherDrawable mTabSwitcherButtonDrawable; |
| @@ -52,6 +55,9 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| private Boolean mUseLightColorAssets; |
| private LocationBar mLocationBar; |
| + private boolean mShowMenuBadge; |
| + private Drawable mUnbadgedMenuButtonDrawable; |
| + |
| /** |
| * Constructs a ToolbarTablet object. |
| * @param context The Context in which this View object is created. |
| @@ -85,12 +91,12 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| mBookmarkButton = (TintedImageButton) findViewById(R.id.bookmark_button); |
| mMenuButton = (TintedImageButton) findViewById(R.id.menu_button); |
| - mMenuButton.setVisibility( |
| + mMenuButtonWrapper.setVisibility( |
| shouldShowMenuButton() ? View.VISIBLE : View.GONE); |
| if (mAccessibilitySwitcherButton.getVisibility() == View.GONE |
| - && mMenuButton.getVisibility() == View.GONE) { |
| - ApiCompatibilityUtils.setPaddingRelative((View) mMenuButton.getParent(), 0, 0, |
| + && mMenuButtonWrapper.getVisibility() == View.GONE) { |
| + ApiCompatibilityUtils.setPaddingRelative((View) mMenuButtonWrapper.getParent(), 0, 0, |
| getResources().getDimensionPixelSize(R.dimen.tablet_toolbar_end_padding), 0); |
| } |
| } |
| @@ -311,14 +317,14 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| @Override |
| protected void updateBackButtonVisibility(boolean canGoBack) { |
| - boolean enableButton = canGoBack && !mInTabSwitcherwMode; |
| + boolean enableButton = canGoBack && !mInTabSwitcherMode; |
| mBackButton.setEnabled(enableButton); |
| mBackButton.setFocusable(enableButton); |
| } |
| @Override |
| protected void updateForwardButtonVisibility(boolean canGoForward) { |
| - boolean enableButton = canGoForward && !mInTabSwitcherwMode; |
| + boolean enableButton = canGoForward && !mInTabSwitcherMode; |
| mForwardButton.setEnabled(enableButton); |
| mForwardButton.setFocusable(enableButton); |
| } |
| @@ -335,7 +341,7 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| R.string.accessibility_btn_refresh)); |
| } |
| mReloadButton.setTint(isIncognito() ? mLightModeTint : mDarkModeTint); |
| - mReloadButton.setEnabled(!mInTabSwitcherwMode); |
| + mReloadButton.setEnabled(!mInTabSwitcherMode); |
| } |
| @Override |
| @@ -358,14 +364,23 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| protected void setTabSwitcherMode( |
| boolean inTabSwitcherMode, boolean showToolbar, boolean delayAnimation) { |
| if (mShowTabStack && inTabSwitcherMode) { |
| - mInTabSwitcherwMode = true; |
| + mInTabSwitcherMode = true; |
| mBackButton.setEnabled(false); |
| mForwardButton.setEnabled(false); |
| mReloadButton.setEnabled(false); |
| mLocationBar.getContainerView().setVisibility(View.INVISIBLE); |
| + if (mShowMenuBadge && mUnbadgedMenuButtonDrawable != null) { |
| + mMenuButton.setImageDrawable(mUnbadgedMenuButtonDrawable); |
| + mMenuBadge.setVisibility(View.GONE); |
| + } |
| } else { |
| - mInTabSwitcherwMode = false; |
| + mInTabSwitcherMode = false; |
| mLocationBar.getContainerView().setVisibility(View.VISIBLE); |
| + if (mShowMenuBadge) { |
| + mMenuBadge.setVisibility(View.VISIBLE); |
| + mMenuButton.setImageBitmap( |
| + UpdateMenuItemHelper.getInstance().getBadgedMenuButtonBitmap(getContext())); |
| + } |
| } |
| } |
| @@ -405,4 +420,14 @@ public class ToolbarTablet extends ToolbarLayout implements OnClickListener { |
| return mLocationBar; |
| } |
| + @Override |
| + public void showAppMenuUpdateBadge() { |
| + mUnbadgedMenuButtonDrawable = mMenuButton.getDrawable(); |
| + mShowMenuBadge = true; |
| + if (!mInTabSwitcherMode) { |
| + mMenuBadge.setVisibility(View.VISIBLE); |
| + mMenuButton.setImageBitmap( |
| + UpdateMenuItemHelper.getInstance().getBadgedMenuButtonBitmap(getContext())); |
|
gone
2015/12/10 21:45:11
Does it make sense to pull out this duped code, or
Theresa
2015/12/11 19:44:46
Done. Pulled out into a method in ToolbarLayout th
|
| + } |
| + } |
| } |