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

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

Issue 1372653002: Start caching tinting ColorStateLists in Toolbar. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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/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 6f30cce8690f1d619ecb987392b80b00f2fc9cc7..85e165462e282a996540304d3193be8db8d4dddf 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
@@ -12,7 +12,6 @@ import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.annotation.SuppressLint;
import android.content.Context;
-import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
@@ -166,6 +165,9 @@ public class ToolbarPhone extends ToolbarLayout
private TabSwitcherDrawable mTabSwitcherButtonDrawable;
private TabSwitcherDrawable mTabSwitcherButtonDrawableLight;
+ private final int mLightModeDefaultColor;
+ private final int mDarkModeDefaultColor;
+
private final Rect mUrlViewportBounds = new Rect();
private final Rect mUrlBackgroundPadding = new Rect();
private final Rect mBackgroundOverlayBounds = new Rect();
@@ -246,6 +248,10 @@ public class ToolbarPhone extends ToolbarLayout
ApiCompatibilityUtils.getColor(getResources(), R.color.progress_bar_background);
mProgressBackBackgroundColorWhite = ApiCompatibilityUtils.getColor(getResources(),
R.color.progress_bar_background_white);
+ mLightModeDefaultColor =
+ ApiCompatibilityUtils.getColor(getResources(), R.color.light_mode_tint);
+ mDarkModeDefaultColor =
+ ApiCompatibilityUtils.getColor(getResources(), R.color.dark_mode_tint);
}
@Override
@@ -943,8 +949,8 @@ public class ToolbarPhone extends ToolbarLayout
translateCanvasToView(mToolbarButtonsContainer, mMenuButton, canvas);
mTabSwitcherAnimationMenuDrawable.setAlpha(rgbAlpha);
int color = mUseLightToolbarDrawables
- ? ApiCompatibilityUtils.getColor(getResources(), R.color.light_mode_tint)
- : ApiCompatibilityUtils.getColor(getResources(), R.color.dark_mode_tint);
+ ? mLightModeDefaultColor
+ : mDarkModeDefaultColor;
mTabSwitcherAnimationMenuDrawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
mTabSwitcherAnimationMenuDrawable.draw(canvas);
}
@@ -1373,8 +1379,8 @@ public class ToolbarPhone extends ToolbarLayout
Resources res = getResources();
mTabSwitcherAnimationMenuDrawable = ApiCompatibilityUtils.getDrawable(
res, R.drawable.btn_menu).mutate();
- mTabSwitcherAnimationMenuDrawable.setColorFilter(isIncognito() ? Color.WHITE
- : ApiCompatibilityUtils.getColor(res, R.color.light_normal_color),
+ mTabSwitcherAnimationMenuDrawable.setColorFilter(
+ isIncognito() ? mLightModeDefaultColor : mDarkModeDefaultColor,
PorterDuff.Mode.SRC_IN);
((BitmapDrawable) mTabSwitcherAnimationMenuDrawable).setGravity(Gravity.CENTER);
}
@@ -1874,25 +1880,21 @@ public class ToolbarPhone extends ToolbarLayout
: R.color.progress_bar_foreground);
getProgressBar().setForegroundColor(progressBarForegroundColor);
- ColorStateList dark =
- ApiCompatibilityUtils.getColorStateList(getResources(), R.color.dark_mode_tint);
- ColorStateList white =
- ApiCompatibilityUtils.getColorStateList(getResources(), R.color.light_mode_tint);
if (mToggleTabStackButton != null) {
mToggleTabStackButton.setImageDrawable(mUseLightToolbarDrawables
? mTabSwitcherButtonDrawableLight : mTabSwitcherButtonDrawable);
if (mTabSwitcherAnimationTabStackDrawable != null) {
mTabSwitcherAnimationTabStackDrawable.setTint(
- mUseLightToolbarDrawables ? white : dark);
+ mUseLightToolbarDrawables ? mLightModeTint : mDarkModeTint);
}
}
if (shouldShowMenuButton()) {
- mMenuButton.setTint(mUseLightToolbarDrawables ? white : dark);
+ mMenuButton.setTint(mUseLightToolbarDrawables ? mLightModeTint : mDarkModeTint);
}
if (mHomeButton.getVisibility() != GONE) {
- mHomeButton.setTint(mUseLightToolbarDrawables ? white : dark);
+ mHomeButton.setTint(mUseLightToolbarDrawables ? mLightModeTint : mDarkModeTint);
}
mPhoneLocationBar.updateVisualsForState();

Powered by Google App Engine
This is Rietveld 408576698