Commit 6e0bf089 authored by Wei-Yin Chen (陳威尹)'s avatar Wei-Yin Chen (陳威尹) Committed by Commit Bot

Do not show content overlay until GTS-to-Tab animation is done

Bug: 998949
Change-Id: I29fbedca05f986d33f486684c1db8909bcd6b14a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805296Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Reviewed-by: default avatarMei Liang <meiliang@chromium.org>
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#697053}
parent 7bf8078b
......@@ -99,20 +99,10 @@ public class StartSurfaceCoordinator implements StartSurface {
createAndSetStartSurface();
}
StartSurfaceMediator.OverlayVisibilityHandler overlayVisibilityHandler =
new StartSurfaceMediator.OverlayVisibilityHandler() {
@Override
// TODO(crbug.com/982018): Consider moving this to LayoutManager.
public void setContentOverlayVisibility(boolean isVisible) {
if (mActivity.getTabModelSelector().getCurrentTab() == null) return;
mActivity.getCompositorViewHolder().setContentOverlayVisibility(
isVisible, true);
}
};
TabSwitcher.Controller controller =
mTabSwitcher != null ? mTabSwitcher.getController() : mTasksSurface.getController();
mStartSurfaceMediator = new StartSurfaceMediator(controller,
mActivity.getTabModelSelector(), overlayVisibilityHandler, mPropertyModel,
mActivity.getTabModelSelector(), mPropertyModel,
mExploreSurfaceCoordinator == null
? null
: mExploreSurfaceCoordinator.getFeedSurfaceCreator(),
......
......@@ -194,7 +194,7 @@ public class StartSurfaceLayout extends Layout implements StartSurface.OverviewM
public void startHiding(int nextId, boolean hintAtTabSelection) {
super.startHiding(nextId, hintAtTabSelection);
int sourceTabId = mNextTabId;
int sourceTabId = nextId;
if (sourceTabId == Tab.INVALID_TAB_ID) sourceTabId = mTabModelSelector.getCurrentTabId();
LayoutTab sourceLayoutTab = createLayoutTab(
sourceTabId, mTabModelSelector.isIncognitoSelected(), NO_CLOSE_BUTTON, NO_TITLE);
......
......@@ -31,15 +31,6 @@ import org.chromium.ui.modelutil.PropertyModel;
/** The mediator implements the logic to interact with the surfaces and caller. */
class StartSurfaceMediator
implements StartSurface.Controller, TabSwitcher.OverviewModeObserver, View.OnClickListener {
/** Interface to control overlay visibility. */
interface OverlayVisibilityHandler {
/**
* Set the content overlay visibility.
* @param isVisible Whether the content overlay should be visible.
*/
void setContentOverlayVisibility(boolean isVisible);
}
/** Interface to initialize a secondary tasks surface for more tabs. */
interface SecondaryTasksSurfaceInitializer {
/**
......@@ -52,7 +43,6 @@ class StartSurfaceMediator
private final ObserverList<StartSurface.OverviewModeObserver> mObservers = new ObserverList<>();
private final TabSwitcher.Controller mController;
private final OverlayVisibilityHandler mOverlayVisibilityHandler;
@Nullable
private final PropertyModel mPropertyModel;
@Nullable
......@@ -65,13 +55,11 @@ class StartSurfaceMediator
private boolean mIsIncognito;
StartSurfaceMediator(TabSwitcher.Controller controller, TabModelSelector tabModelSelector,
OverlayVisibilityHandler overlayVisibilityHandler,
@Nullable PropertyModel propertyModel,
@Nullable ExploreSurfaceCoordinator.FeedSurfaceCreator feedSurfaceCreator,
@Nullable SecondaryTasksSurfaceInitializer secondaryTasksSurfaceInitializer,
@StartSurfaceCoordinator.SurfaceMode int mode) {
mController = controller;
mOverlayVisibilityHandler = overlayVisibilityHandler;
mPropertyModel = propertyModel;
mFeedSurfaceCreator = feedSurfaceCreator;
mSecondaryTasksSurfaceInitializer = secondaryTasksSurfaceInitializer;
......@@ -233,12 +221,10 @@ class StartSurfaceMediator
for (StartSurface.OverviewModeObserver observer : mObservers) {
observer.finishedShowing();
}
mOverlayVisibilityHandler.setContentOverlayVisibility(false);
}
@Override
public void startedHiding() {
mOverlayVisibilityHandler.setContentOverlayVisibility(true);
if (mPropertyModel != null) {
mPropertyModel.set(IS_SHOWING_OVERVIEW, false);
destroyFeedSurfaceCoordinator();
......
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