Commit 05d795fd authored by Patrick Noland's avatar Patrick Noland Committed by Commit Bot

[ToolbarMVC] Remove two public methods from ToolbarManager

This removes setFindToolbarManager and getActionModeControllerCallback in favor of injecting FindToolbarManager to ToolbarManager's constructor, which is enabled by instantiating ToolbarActionModeCallback in RootUICoordinator.

Bug: 865801
Change-Id: I0c08a63c1576bf3449de8d040a184ca4e8cb059f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2165656
Commit-Queue: Patrick Noland <pnoland@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#763531}
parent efd8e880
...@@ -189,7 +189,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -189,7 +189,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
private SceneChangeObserver mSceneChangeObserver; private SceneChangeObserver mSceneChangeObserver;
private final ActionBarDelegate mActionBarDelegate; private final ActionBarDelegate mActionBarDelegate;
private ActionModeController mActionModeController; private ActionModeController mActionModeController;
private final ToolbarActionModeCallback mToolbarActionModeCallback;
private final Callback<Boolean> mUrlFocusChangedCallback; private final Callback<Boolean> mUrlFocusChangedCallback;
private final Handler mHandler = new Handler(); private final Handler mHandler = new Handler();
private final ChromeActivity mActivity; private final ChromeActivity mActivity;
...@@ -252,6 +251,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -252,6 +251,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
* in the browsing mode toolbar, given in precedence order. * in the browsing mode toolbar, given in precedence order.
* @param tabProvider The {@link ActivityTabProvider} for accessing current activity tab. * @param tabProvider The {@link ActivityTabProvider} for accessing current activity tab.
* @param scrimCoordinator A means of showing the scrim. * @param scrimCoordinator A means of showing the scrim.
* @param toolbarActionModeCallback Callback that communicates changes in the conceptual mode
* of toolbar interaction.
* @param findToolbarManager The manager for the find in page function.
*/ */
public ToolbarManager(ChromeActivity activity, ChromeFullscreenManager fullscreenManager, public ToolbarManager(ChromeActivity activity, ChromeFullscreenManager fullscreenManager,
ToolbarControlContainer controlContainer, Invalidator invalidator, ToolbarControlContainer controlContainer, Invalidator invalidator,
...@@ -261,7 +263,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -261,7 +263,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
ObservableSupplierImpl<Boolean> bottomToolbarVisibilitySupplier, ObservableSupplierImpl<Boolean> bottomToolbarVisibilitySupplier,
IdentityDiscController identityDiscController, IdentityDiscController identityDiscController,
List<ButtonDataProvider> buttonDataProviders, ActivityTabProvider tabProvider, List<ButtonDataProvider> buttonDataProviders, ActivityTabProvider tabProvider,
ScrimCoordinator scrimCoordinator) { ScrimCoordinator scrimCoordinator, ToolbarActionModeCallback toolbarActionModeCallback,
FindToolbarManager findToolbarManager) {
mActivity = activity; mActivity = activity;
mFullscreenManager = fullscreenManager; mFullscreenManager = fullscreenManager;
mActionBarDelegate = new ViewShiftingActionBarDelegate(activity, controlContainer); mActionBarDelegate = new ViewShiftingActionBarDelegate(activity, controlContainer);
...@@ -275,7 +278,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -275,7 +278,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
assert mControlContainer != null; assert mControlContainer != null;
mUrlFocusChangedCallback = urlFocusChangedCallback; mUrlFocusChangedCallback = urlFocusChangedCallback;
mToolbarActionModeCallback = new ToolbarActionModeCallback();
mBookmarkBridgeSupplier = new ObservableSupplierImpl<>(); mBookmarkBridgeSupplier = new ObservableSupplierImpl<>();
mComponentCallbacks = new ComponentCallbacks() { mComponentCallbacks = new ComponentCallbacks() {
...@@ -393,8 +395,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -393,8 +395,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
identityDiscController, mLocationBarModel, this, new UserEducationHelper(mActivity), identityDiscController, mLocationBarModel, this, new UserEducationHelper(mActivity),
buttonDataProviders); buttonDataProviders);
mActionModeController = new ActionModeController(mActivity, mActionBarDelegate); mActionModeController =
mActionModeController.setCustomSelectionActionModeCallback(mToolbarActionModeCallback); new ActionModeController(mActivity, mActionBarDelegate, toolbarActionModeCallback);
mToolbar.setPaintInvalidator(invalidator); mToolbar.setPaintInvalidator(invalidator);
mActionModeController.setTabStripHeight(mToolbar.getTabStripHeight()); mActionModeController.setTabStripHeight(mToolbar.getTabStripHeight());
...@@ -725,6 +727,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -725,6 +727,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider); mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider);
AccessibilityUtil.addObserver(this); AccessibilityUtil.addObserver(this);
mFindToolbarManager = findToolbarManager;
mFindToolbarManager.addObserver(mFindToolbarObserver);
} }
/** /**
...@@ -928,15 +933,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -928,15 +933,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
} }
} }
/**
* Set the {@link FindToolbarManager}.
* @param findToolbarManager The manager for find in page.
*/
public void setFindToolbarManager(FindToolbarManager findToolbarManager) {
mFindToolbarManager = findToolbarManager;
mFindToolbarManager.addObserver(mFindToolbarObserver);
}
/** /**
* Show the update badge in both the top and bottom toolbar. * Show the update badge in both the top and bottom toolbar.
* TODO(amaralp): Only the top or bottom menu should be visible. * TODO(amaralp): Only the top or bottom menu should be visible.
...@@ -982,13 +978,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -982,13 +978,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
return mToolbar; return mToolbar;
} }
/**
* @return The callback for toolbar action mode controller.
*/
public ToolbarActionModeCallback getActionModeControllerCallback() {
return mToolbarActionModeCallback;
}
/** /**
* @return Whether the UI has been initialized. * @return Whether the UI has been initialized.
*/ */
...@@ -1117,6 +1106,11 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -1117,6 +1106,11 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
mActivityTabTabObserver = null; mActivityTabTabObserver = null;
} }
if (mFindToolbarManager != null) {
mFindToolbarManager.removeObserver(mFindToolbarObserver);
mFindToolbarManager = null;
}
mActivity.unregisterComponentCallbacks(mComponentCallbacks); mActivity.unregisterComponentCallbacks(mComponentCallbacks);
mComponentCallbacks = null; mComponentCallbacks = null;
AccessibilityUtil.removeObserver(this); AccessibilityUtil.removeObserver(this);
......
...@@ -75,10 +75,14 @@ public class ActionModeController { ...@@ -75,10 +75,14 @@ public class ActionModeController {
* Creates the {@link ActionModeController} and ties it to an action bar using the given action * Creates the {@link ActionModeController} and ties it to an action bar using the given action
* bar delegate. * bar delegate.
* @param actionBarDelegate The delegate for communicating with toolbar for animation. * @param actionBarDelegate The delegate for communicating with toolbar for animation.
* @param toolbarActionModeCallback The callback for communicating action mode changes.
*/ */
public ActionModeController(Context context, ActionBarDelegate actionBarDelegate) { public ActionModeController(Context context, ActionBarDelegate actionBarDelegate,
ToolbarActionModeCallback toolbarActionModeCallback) {
mActionBarDelegate = actionBarDelegate; mActionBarDelegate = actionBarDelegate;
mContext = context; mContext = context;
mToolbarActionModeCallback = toolbarActionModeCallback;
mToolbarActionModeCallback.setActionModeController(this);
mTabStripHeight = mContext.getResources().getDimension(R.dimen.tab_strip_height); mTabStripHeight = mContext.getResources().getDimension(R.dimen.tab_strip_height);
} }
...@@ -96,16 +100,6 @@ public class ActionModeController { ...@@ -96,16 +100,6 @@ public class ActionModeController {
return mActionBarDelegate; return mActionBarDelegate;
} }
/**
* Sets the custom ActionMode.Callback
*/
public void setCustomSelectionActionModeCallback(
ToolbarActionModeCallback toolbarActionModeCallback) {
if (toolbarActionModeCallback.equals(mToolbarActionModeCallback)) return;
mToolbarActionModeCallback = toolbarActionModeCallback;
mToolbarActionModeCallback.setActionModeController(this);
}
/** /**
* @return The custom ActionMode.Callback. * @return The custom ActionMode.Callback.
*/ */
......
...@@ -46,6 +46,7 @@ import org.chromium.chrome.browser.tab.Tab; ...@@ -46,6 +46,7 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.ButtonDataProvider; import org.chromium.chrome.browser.toolbar.ButtonDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarManager; import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.toolbar.top.ToolbarActionModeCallback;
import org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer; import org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer;
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker; import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator; import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator;
...@@ -115,6 +116,7 @@ public class RootUiCoordinator ...@@ -115,6 +116,7 @@ public class RootUiCoordinator
private List<ButtonDataProvider> mButtonDataProviders; private List<ButtonDataProvider> mButtonDataProviders;
private IdentityDiscController mIdentityDiscController; private IdentityDiscController mIdentityDiscController;
private ChromeActionModeHandler mChromeActionModeHandler; private ChromeActionModeHandler mChromeActionModeHandler;
private ToolbarActionModeCallback mActionModeControllerCallback;
/** /**
* Create a new {@link RootUiCoordinator} for the given activity. * Create a new {@link RootUiCoordinator} for the given activity.
...@@ -231,9 +233,9 @@ public class RootUiCoordinator ...@@ -231,9 +233,9 @@ public class RootUiCoordinator
mTabThemeColorProvider = new TabThemeColorProvider(mActivity); mTabThemeColorProvider = new TabThemeColorProvider(mActivity);
mTabThemeColorProvider.setActivityTabProvider(mActivity.getActivityTabProvider()); mTabThemeColorProvider.setActivityTabProvider(mActivity.getActivityTabProvider());
initFindToolbarManager();
initializeToolbar(); initializeToolbar();
initAppMenu(); initAppMenu();
initFindToolbarManager();
initDirectActionInitializer(); initDirectActionInitializer();
if (mAppMenuCoordinator != null) { if (mAppMenuCoordinator != null) {
mToolbarManager.onAppMenuInitialized(mAppMenuCoordinator); mToolbarManager.onAppMenuInitialized(mAppMenuCoordinator);
...@@ -410,12 +412,13 @@ public class RootUiCoordinator ...@@ -410,12 +412,13 @@ public class RootUiCoordinator
mActivityTabProvider, mShareDelegateSupplier, new ShareUtils(), mActivityTabProvider, mShareDelegateSupplier, new ShareUtils(),
bottomToolbarVisibilitySupplier); bottomToolbarVisibilitySupplier);
mButtonDataProviders = Arrays.asList(mIdentityDiscController, shareButtonController); mButtonDataProviders = Arrays.asList(mIdentityDiscController, shareButtonController);
mActionModeControllerCallback = new ToolbarActionModeCallback();
mToolbarManager = new ToolbarManager(mActivity, mActivity.getFullscreenManager(), mToolbarManager = new ToolbarManager(mActivity, mActivity.getFullscreenManager(),
toolbarContainer, mActivity.getCompositorViewHolder().getInvalidator(), toolbarContainer, mActivity.getCompositorViewHolder().getInvalidator(),
urlFocusChangedCallback, mTabThemeColorProvider, mTabObscuringHandler, urlFocusChangedCallback, mTabThemeColorProvider, mTabObscuringHandler,
mShareDelegateSupplier, bottomToolbarVisibilitySupplier, mShareDelegateSupplier, bottomToolbarVisibilitySupplier,
mIdentityDiscController, mButtonDataProviders, mActivityTabProvider, mIdentityDiscController, mButtonDataProviders, mActivityTabProvider,
mScrimCoordinator); mScrimCoordinator, mActionModeControllerCallback, mFindToolbarManager);
if (!mActivity.supportsAppMenu()) { if (!mActivity.supportsAppMenu()) {
mToolbarManager.getToolbar().disableMenuButton(); mToolbarManager.getToolbar().disableMenuButton();
} }
...@@ -499,7 +502,7 @@ public class RootUiCoordinator ...@@ -499,7 +502,7 @@ public class RootUiCoordinator
} }
mFindToolbarManager = new FindToolbarManager(mActivity.findViewById(stubId), mFindToolbarManager = new FindToolbarManager(mActivity.findViewById(stubId),
mActivity.getTabModelSelector(), mActivity.getWindowAndroid(), mActivity.getTabModelSelector(), mActivity.getWindowAndroid(),
mToolbarManager.getActionModeControllerCallback()); mActionModeControllerCallback);
mFindToolbarObserver = new FindToolbarObserver() { mFindToolbarObserver = new FindToolbarObserver() {
@Override @Override
...@@ -512,8 +515,6 @@ public class RootUiCoordinator ...@@ -512,8 +515,6 @@ public class RootUiCoordinator
}; };
mFindToolbarManager.addObserver(mFindToolbarObserver); mFindToolbarManager.addObserver(mFindToolbarObserver);
mActivity.getToolbarManager().setFindToolbarManager(mFindToolbarManager);
} }
/** /**
......
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