Commit c57cc628 authored by Mia Glaese's avatar Mia Glaese Committed by Commit Bot

[Start Surface] Notify observing components of OverviewModeState changes.

Bug: 982018

Change-Id: I1adba120b3d1b471dab96e5493d18a9fe64aadfe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1936849
Commit-Queue: Mia Glaese <glamia@chromium.org>
Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720446}
parent 14db9a97
...@@ -486,7 +486,7 @@ class StartSurfaceMediator ...@@ -486,7 +486,7 @@ class StartSurfaceMediator
private void notifyStateChange() { private void notifyStateChange() {
if (mStateObserver != null) { if (mStateObserver != null) {
mStateObserver.onStateChanged(shouldShowTabSwitcherToolbar()); mStateObserver.onStateChanged(mOverviewModeState, shouldShowTabSwitcherToolbar());
} }
} }
......
...@@ -6,6 +6,7 @@ package org.chromium.chrome.features.start_surface; ...@@ -6,6 +6,7 @@ package org.chromium.chrome.features.start_surface;
import android.os.SystemClock; import android.os.SystemClock;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeState;
import org.chromium.chrome.browser.tasks.tab_management.TabSwitcher; import org.chromium.chrome.browser.tasks.tab_management.TabSwitcher;
/** Interface to communicate with the start surface. */ /** Interface to communicate with the start surface. */
...@@ -17,9 +18,11 @@ public interface StartSurface { ...@@ -17,9 +18,11 @@ public interface StartSurface {
interface StateObserver { interface StateObserver {
/** /**
* Called when the internal state is changed. * Called when the internal state is changed.
* @param overviewModeState the {@link OverviewModeState}.
* @param shouldShowTabSwitcherToolbar Whether or not should show the Tab switcher toolbar. * @param shouldShowTabSwitcherToolbar Whether or not should show the Tab switcher toolbar.
*/ */
void onStateChanged(boolean shouldShowTabSwitcherToolbar); void onStateChanged(
@OverviewModeState int overviewModeState, boolean shouldShowTabSwitcherToolbar);
} }
/** /**
...@@ -124,4 +127,4 @@ public interface StartSurface { ...@@ -124,4 +127,4 @@ public interface StartSurface {
* @return TabDialogDelegation implementation that can be used to access the Tab Dialog. * @return TabDialogDelegation implementation that can be used to access the Tab Dialog.
*/ */
TabSwitcher.TabDialogDelegation getTabDialogDelegate(); TabSwitcher.TabDialogDelegation getTabDialogDelegate();
} }
\ No newline at end of file
...@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromeTablet; ...@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromeTablet;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeController; import org.chromium.chrome.browser.compositor.layouts.OverviewModeController;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeState;
import org.chromium.chrome.browser.compositor.layouts.phone.StackLayout; import org.chromium.chrome.browser.compositor.layouts.phone.StackLayout;
import org.chromium.chrome.browser.cookies.CookiesFetcher; import org.chromium.chrome.browser.cookies.CookiesFetcher;
import org.chromium.chrome.browser.crypto.CipherFactory; import org.chromium.chrome.browser.crypto.CipherFactory;
...@@ -384,9 +385,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo ...@@ -384,9 +385,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
} }
@Override @Override
public void onOverviewModeStateChanged(boolean showTabSwitcherToolbar) { public void onOverviewModeStateChanged(
@OverviewModeState int overviewModeState, boolean showTabSwitcherToolbar) {
for (OverviewModeObserver observer : mOverviewModeObserverList) { for (OverviewModeObserver observer : mOverviewModeObserverList) {
observer.onOverviewModeStateChanged(showTabSwitcherToolbar); observer.onOverviewModeStateChanged(overviewModeState, showTabSwitcherToolbar);
} }
} }
......
...@@ -17,11 +17,12 @@ public class EmptyOverviewModeObserver implements OverviewModeObserver { ...@@ -17,11 +17,12 @@ public class EmptyOverviewModeObserver implements OverviewModeObserver {
public void onOverviewModeFinishedShowing() {} public void onOverviewModeFinishedShowing() {}
@Override @Override
public void onOverviewModeStateChanged(boolean showTabSwitcherToolbar) {} public void onOverviewModeStateChanged(
@OverviewModeState int overviewModeState, boolean showTabSwitcherToolbar) {}
@Override @Override
public void onOverviewModeStartedHiding(boolean showToolbar, boolean delayAnimation) {} public void onOverviewModeStartedHiding(boolean showToolbar, boolean delayAnimation) {}
@Override @Override
public void onOverviewModeFinishedHiding() {} public void onOverviewModeFinishedHiding() {}
} }
\ No newline at end of file
...@@ -95,9 +95,11 @@ public class LayoutManagerChrome extends LayoutManager implements OverviewModeCo ...@@ -95,9 +95,11 @@ public class LayoutManagerChrome extends LayoutManager implements OverviewModeCo
assert tabManagementDelegate != null; assert tabManagementDelegate != null;
startSurface.setStateChangeObserver(new StartSurface.StateObserver() { startSurface.setStateChangeObserver(new StartSurface.StateObserver() {
@Override @Override
public void onStateChanged(boolean shouldShowTabSwitcherToolbar) { public void onStateChanged(@OverviewModeState int overviewModeState,
boolean shouldShowTabSwitcherToolbar) {
for (OverviewModeObserver observer : mOverviewModeObservers) { for (OverviewModeObserver observer : mOverviewModeObservers) {
observer.onOverviewModeStateChanged(shouldShowTabSwitcherToolbar); observer.onOverviewModeStateChanged(
overviewModeState, shouldShowTabSwitcherToolbar);
} }
} }
}); });
......
...@@ -29,7 +29,8 @@ public interface OverviewModeBehavior { ...@@ -29,7 +29,8 @@ public interface OverviewModeBehavior {
* Called when the internal state is changed. * Called when the internal state is changed.
* @param showTabSwitcherToolbar Whether or not request showing the Tab switcher toolbar. * @param showTabSwitcherToolbar Whether or not request showing the Tab switcher toolbar.
*/ */
void onOverviewModeStateChanged(boolean showTabSwitcherToolbar); void onOverviewModeStateChanged(
@OverviewModeState int overviewModeState, boolean showTabSwitcherToolbar);
/** /**
* Called when overview mode starts hiding. * Called when overview mode starts hiding.
...@@ -60,4 +61,4 @@ public interface OverviewModeBehavior { ...@@ -60,4 +61,4 @@ public interface OverviewModeBehavior {
* @param listener Unregisters {@code listener} for overview mode status changes. * @param listener Unregisters {@code listener} for overview mode status changes.
*/ */
void removeOverviewModeObserver(OverviewModeObserver listener); void removeOverviewModeObserver(OverviewModeObserver listener);
} }
\ No newline at end of file
...@@ -47,6 +47,7 @@ import org.chromium.chrome.browser.compositor.layouts.Layout; ...@@ -47,6 +47,7 @@ import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManager; import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver; import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior.OverviewModeObserver;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeState;
import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver; import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver;
import org.chromium.chrome.browser.download.DownloadUtils; import org.chromium.chrome.browser.download.DownloadUtils;
import org.chromium.chrome.browser.feature_engagement.ScreenshotTabObserver; import org.chromium.chrome.browser.feature_engagement.ScreenshotTabObserver;
...@@ -691,7 +692,8 @@ public class ToolbarManager implements ScrimObserver, ToolbarTabController, UrlF ...@@ -691,7 +692,8 @@ public class ToolbarManager implements ScrimObserver, ToolbarTabController, UrlF
} }
@Override @Override
public void onOverviewModeStateChanged(boolean showTabSwitcherToolbar) { public void onOverviewModeStateChanged(
@OverviewModeState int overviewModeState, boolean showTabSwitcherToolbar) {
mToolbar.updateTabSwitcherToolbarState(showTabSwitcherToolbar); mToolbar.updateTabSwitcherToolbarState(showTabSwitcherToolbar);
} }
......
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