[Android] Update toolbar icon tint on activity focus change
Chromium change: https://source.chromium.org/chromium/chromium/src/+/5baed2df78dc2b19f5a5e1719a16269daee60ca4 [TSLO] Update toolbar icon tint on activity focus change Update the *ThemeColorProvider classes to observe a top resumed activity change to update the toolbar icon tints on an activity focus change. Update TintObserver#onTintChanged to additionally accept an activityFocusTint that may be used by interested clients to update the tint in desktop windowing mode as needed. Demo: http://screencast/cast/NTA1NzI3MjMzNzEzNzY2NHwyYTM4NGQyNy1jNw Bug: 328054353
This commit is contained in:
@@ -16,6 +16,7 @@ import androidx.core.widget.ImageViewCompat;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.TintObserver;
|
||||
import org.chromium.chrome.browser.toolbar.home_button.HomeButton;
|
||||
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
|
||||
|
||||
/**
|
||||
* Brave's extension of HomeButton.
|
||||
@@ -37,7 +38,10 @@ public class BraveHomeButton extends HomeButton implements TintObserver {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTintChanged(ColorStateList tint, int brandedColorScheme) {
|
||||
public void onTintChanged(
|
||||
ColorStateList tint,
|
||||
ColorStateList activityFocusTint,
|
||||
@BrandedColorScheme int brandedColorScheme) {
|
||||
ImageViewCompat.setImageTintList(this, tint);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsSizer;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
||||
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
||||
import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelperManager;
|
||||
import org.chromium.chrome.browser.findinpage.FindToolbarManager;
|
||||
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
|
||||
@@ -47,6 +46,7 @@ import org.chromium.chrome.browser.readaloud.ReadAloudController;
|
||||
import org.chromium.chrome.browser.share.ShareDelegate;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabObscuringHandler;
|
||||
import org.chromium.chrome.browser.tab_ui.TabContentManager;
|
||||
import org.chromium.chrome.browser.tabmodel.IncognitoStateProvider;
|
||||
import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
|
||||
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.ThemeColorObserver;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.TintObserver;
|
||||
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
|
||||
import org.chromium.ui.widget.ChromeImageButton;
|
||||
|
||||
/**
|
||||
@@ -51,7 +52,10 @@ public class BookmarksButton extends ChromeImageButton implements ThemeColorObse
|
||||
public void onThemeColorChanged(int color, boolean shouldAnimate) {}
|
||||
|
||||
@Override
|
||||
public void onTintChanged(ColorStateList tint, int brandedColorScheme) {
|
||||
public void onTintChanged(
|
||||
ColorStateList tint,
|
||||
ColorStateList activityFocusTint,
|
||||
@BrandedColorScheme int brandedColorScheme) {
|
||||
mCurrentTint = tint;
|
||||
ImageViewCompat.setImageTintList(this, tint);
|
||||
}
|
||||
|
||||
+5
-1
@@ -21,6 +21,7 @@ import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.ThemeColorObserver;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.TintObserver;
|
||||
import org.chromium.chrome.browser.theme.ThemeUtils;
|
||||
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
|
||||
import org.chromium.ui.widget.ChromeImageButton;
|
||||
|
||||
/**
|
||||
@@ -93,7 +94,10 @@ class BottomToolbarNewTabButton extends ChromeImageButton
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTintChanged(ColorStateList tint, int brandedColorScheme) {
|
||||
public void onTintChanged(
|
||||
ColorStateList tint,
|
||||
ColorStateList activityFocusTint,
|
||||
@BrandedColorScheme int brandedColorScheme) {
|
||||
ImageViewCompat.setImageTintList(this, tint);
|
||||
updateBackground();
|
||||
}
|
||||
|
||||
+15
-5
@@ -196,19 +196,25 @@ public class BrowsingModeBottomToolbarCoordinator {
|
||||
mNewTabButton.setThemeColorProvider(themeColorProvider);
|
||||
mNewTabButton.setIncognitoStateProvider(incognitoStateProvider);
|
||||
mNewTabButton.onTintChanged(
|
||||
mThemeColorProvider.getTint(), mThemeColorProvider.getBrandedColorScheme());
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getBrandedColorScheme());
|
||||
}
|
||||
|
||||
if (BottomToolbarVariationManager.isHomeButtonOnBottom()) {
|
||||
mBraveHomeButton.setThemeColorProvider(themeColorProvider);
|
||||
mBraveHomeButton.onTintChanged(
|
||||
mThemeColorProvider.getTint(), mThemeColorProvider.getBrandedColorScheme());
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getBrandedColorScheme());
|
||||
}
|
||||
|
||||
mSearchAccelerator.setThemeColorProvider(themeColorProvider);
|
||||
mSearchAccelerator.setIncognitoStateProvider(incognitoStateProvider);
|
||||
mSearchAccelerator.onTintChanged(
|
||||
mThemeColorProvider.getTint(), mThemeColorProvider.getBrandedColorScheme());
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getBrandedColorScheme());
|
||||
|
||||
if (BottomToolbarVariationManager.isTabSwitcherOnBottom()) {
|
||||
mTabSwitcherButtonCoordinator.setTabSwitcherListener(tabSwitcherListener);
|
||||
@@ -219,11 +225,15 @@ public class BrowsingModeBottomToolbarCoordinator {
|
||||
|
||||
mBookmarkButton.setThemeColorProvider(themeColorProvider);
|
||||
mBookmarkButton.onTintChanged(
|
||||
mThemeColorProvider.getTint(), mThemeColorProvider.getBrandedColorScheme());
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getBrandedColorScheme());
|
||||
|
||||
mThemeColorProvider.addTintObserver(mMenuButton);
|
||||
mMenuButton.onTintChanged(
|
||||
mThemeColorProvider.getTint(), mThemeColorProvider.getBrandedColorScheme());
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getTint(),
|
||||
mThemeColorProvider.getBrandedColorScheme());
|
||||
|
||||
new OneShotCallback<>(
|
||||
menuButtonHelperSupplier,
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.chromium.chrome.browser.theme.ThemeColorProvider;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.ThemeColorObserver;
|
||||
import org.chromium.chrome.browser.theme.ThemeColorProvider.TintObserver;
|
||||
import org.chromium.chrome.browser.theme.ThemeUtils;
|
||||
import org.chromium.chrome.browser.ui.theme.BrandedColorScheme;
|
||||
import org.chromium.ui.widget.ChromeImageButton;
|
||||
|
||||
/**
|
||||
@@ -84,7 +85,10 @@ class SearchAccelerator extends ChromeImageButton
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTintChanged(ColorStateList tint, int brandedColorScheme) {
|
||||
public void onTintChanged(
|
||||
ColorStateList tint,
|
||||
ColorStateList activityFocusTint,
|
||||
@BrandedColorScheme int brandedColorScheme) {
|
||||
ImageViewCompat.setImageTintList(this, tint);
|
||||
updateBackground();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user