Commit 84473ab6 authored by gogerald's avatar gogerald Committed by Commit Bot

[StartSurface] Set night mode properly for the feeds on the start surface

Screenshot
https://drive.google.com/file/d/1qg8pxjuJdN_d4YxeIpyssp-xFxbPjV1I/view?usp=sharing

Bug: 982018
Change-Id: Id334c4b2b279e130703ce99a9e76f81ef1735920
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1854461Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Commit-Queue: Ganggui Tang <gogerald@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704879}
parent 5e6baafd
...@@ -40,9 +40,10 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel ...@@ -40,9 +40,10 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel
interface FeedSurfaceCreator { interface FeedSurfaceCreator {
/** /**
* Creates the {@link FeedSurfaceCoordinator} for the specified mode. * Creates the {@link FeedSurfaceCoordinator} for the specified mode.
* @param isInNightMode Whether or not the feed surface is going to display in night mode.
* @return The {@link FeedSurfaceCoordinator}. * @return The {@link FeedSurfaceCoordinator}.
*/ */
FeedSurfaceCoordinator createFeedSurfaceCoordinator(); FeedSurfaceCoordinator createFeedSurfaceCoordinator(boolean isInNightMode);
} }
ExploreSurfaceCoordinator(ChromeActivity activity, ViewGroup parentView, ExploreSurfaceCoordinator(ChromeActivity activity, ViewGroup parentView,
...@@ -60,8 +61,8 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel ...@@ -60,8 +61,8 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel
ExploreSurfaceViewBinder::bind); ExploreSurfaceViewBinder::bind);
mFeedSurfaceCreator = new FeedSurfaceCreator() { mFeedSurfaceCreator = new FeedSurfaceCreator() {
@Override @Override
public FeedSurfaceCoordinator createFeedSurfaceCoordinator() { public FeedSurfaceCoordinator createFeedSurfaceCoordinator(boolean isInNightMode) {
return internalCreateFeedSurfaceCoordinator(mHasHeader); return internalCreateFeedSurfaceCoordinator(mHasHeader, isInNightMode);
} }
}; };
} }
...@@ -85,7 +86,8 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel ...@@ -85,7 +86,8 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel
return false; return false;
} }
private FeedSurfaceCoordinator internalCreateFeedSurfaceCoordinator(boolean hasHeader) { private FeedSurfaceCoordinator internalCreateFeedSurfaceCoordinator(
boolean hasHeader, boolean isInNightMode) {
if (mExploreSurfaceNavigationDelegate == null) { if (mExploreSurfaceNavigationDelegate == null) {
mExploreSurfaceNavigationDelegate = new ExploreSurfaceNavigationDelegate(mActivity); mExploreSurfaceNavigationDelegate = new ExploreSurfaceNavigationDelegate(mActivity);
} }
...@@ -104,7 +106,7 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel ...@@ -104,7 +106,7 @@ class ExploreSurfaceCoordinator implements FeedSurfaceCoordinator.FeedSurfaceDel
(SectionHeaderView) inflater.inflate(R.layout.ss_feed_header, null, false); (SectionHeaderView) inflater.inflate(R.layout.ss_feed_header, null, false);
} }
return new FeedSurfaceCoordinator(mActivity, null, null, null, sectionHeaderView, return new FeedSurfaceCoordinator(mActivity, null, null, null, sectionHeaderView,
exploreSurfaceActionHandler, false, this); exploreSurfaceActionHandler, isInNightMode, this);
// TODO(crbug.com/982018): Customize surface background for incognito and dark mode. // TODO(crbug.com/982018): Customize surface background for incognito and dark mode.
// TODO(crbug.com/982018): Hide signin promo UI in incognito mode. // TODO(crbug.com/982018): Hide signin promo UI in incognito mode.
} }
......
...@@ -100,7 +100,8 @@ public class StartSurfaceCoordinator implements StartSurface { ...@@ -100,7 +100,8 @@ public class StartSurfaceCoordinator implements StartSurface {
: mExploreSurfaceCoordinator.getFeedSurfaceCreator(), : mExploreSurfaceCoordinator.getFeedSurfaceCreator(),
mSurfaceMode == SurfaceMode.SINGLE_PANE ? this::initializeSecondaryTasksSurface mSurfaceMode == SurfaceMode.SINGLE_PANE ? this::initializeSecondaryTasksSurface
: null, : null,
mSurfaceMode, mStartSurfaceLocationBarDelegate); mSurfaceMode, mStartSurfaceLocationBarDelegate,
mActivity.getNightModeStateProvider());
} }
// Implements StartSurface. // Implements StartSurface.
......
...@@ -27,6 +27,7 @@ import org.chromium.base.ContextUtils; ...@@ -27,6 +27,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.ObserverList; import org.chromium.base.ObserverList;
import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.browser.feed.FeedSurfaceCoordinator; import org.chromium.chrome.browser.feed.FeedSurfaceCoordinator;
import org.chromium.chrome.browser.night_mode.NightModeStateProvider;
import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver; import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
import org.chromium.chrome.browser.tabmodel.TabModel; import org.chromium.chrome.browser.tabmodel.TabModel;
...@@ -93,6 +94,7 @@ class StartSurfaceMediator ...@@ -93,6 +94,7 @@ class StartSurfaceMediator
private boolean mIsIncognito; private boolean mIsIncognito;
@Nullable @Nullable
private Delegate mDelegate; private Delegate mDelegate;
private NightModeStateProvider mNightModeStateProvider;
@Nullable @Nullable
UrlFocusChangeListener mUrlFocusChangeListener; UrlFocusChangeListener mUrlFocusChangeListener;
@Nullable @Nullable
...@@ -102,13 +104,15 @@ class StartSurfaceMediator ...@@ -102,13 +104,15 @@ class StartSurfaceMediator
@Nullable PropertyModel propertyModel, @Nullable PropertyModel propertyModel,
@Nullable ExploreSurfaceCoordinator.FeedSurfaceCreator feedSurfaceCreator, @Nullable ExploreSurfaceCoordinator.FeedSurfaceCreator feedSurfaceCreator,
@Nullable SecondaryTasksSurfaceInitializer secondaryTasksSurfaceInitializer, @Nullable SecondaryTasksSurfaceInitializer secondaryTasksSurfaceInitializer,
@SurfaceMode int surfaceMode, @Nullable Delegate delegate) { @SurfaceMode int surfaceMode, @Nullable Delegate delegate,
NightModeStateProvider nightModeStateProvider) {
mController = controller; mController = controller;
mPropertyModel = propertyModel; mPropertyModel = propertyModel;
mFeedSurfaceCreator = feedSurfaceCreator; mFeedSurfaceCreator = feedSurfaceCreator;
mSecondaryTasksSurfaceInitializer = secondaryTasksSurfaceInitializer; mSecondaryTasksSurfaceInitializer = secondaryTasksSurfaceInitializer;
mSurfaceMode = surfaceMode; mSurfaceMode = surfaceMode;
mDelegate = delegate; mDelegate = delegate;
mNightModeStateProvider = nightModeStateProvider;
if (mPropertyModel != null) { if (mPropertyModel != null) {
assert mSurfaceMode == SurfaceMode.SINGLE_PANE || mSurfaceMode == SurfaceMode.TWO_PANES assert mSurfaceMode == SurfaceMode.SINGLE_PANE || mSurfaceMode == SurfaceMode.TWO_PANES
...@@ -258,7 +262,8 @@ class StartSurfaceMediator ...@@ -258,7 +262,8 @@ class StartSurfaceMediator
if (mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE) if (mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)
&& mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) { && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
mPropertyModel.set(FEED_SURFACE_COORDINATOR, mPropertyModel.set(FEED_SURFACE_COORDINATOR,
mFeedSurfaceCreator.createFeedSurfaceCoordinator()); mFeedSurfaceCreator.createFeedSurfaceCoordinator(
mNightModeStateProvider.isInNightMode()));
} }
mPropertyModel.set(IS_SHOWING_OVERVIEW, true); mPropertyModel.set(IS_SHOWING_OVERVIEW, true);
...@@ -361,8 +366,9 @@ class StartSurfaceMediator ...@@ -361,8 +366,9 @@ class StartSurfaceMediator
if (isVisible && mPropertyModel.get(IS_SHOWING_OVERVIEW) if (isVisible && mPropertyModel.get(IS_SHOWING_OVERVIEW)
&& mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) { && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
mPropertyModel.set( mPropertyModel.set(FEED_SURFACE_COORDINATOR,
FEED_SURFACE_COORDINATOR, mFeedSurfaceCreator.createFeedSurfaceCoordinator()); mFeedSurfaceCreator.createFeedSurfaceCoordinator(
mNightModeStateProvider.isInNightMode()));
} }
mPropertyModel.set(IS_EXPLORE_SURFACE_VISIBLE, isVisible); mPropertyModel.set(IS_EXPLORE_SURFACE_VISIBLE, isVisible);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment