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
private SceneChangeObserver mSceneChangeObserver;
private final ActionBarDelegate mActionBarDelegate;
private ActionModeController mActionModeController;
private final ToolbarActionModeCallback mToolbarActionModeCallback;
private final Callback<Boolean> mUrlFocusChangedCallback;
private final Handler mHandler = new Handler();
private final ChromeActivity mActivity;
......@@ -252,6 +251,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
* in the browsing mode toolbar, given in precedence order.
* @param tabProvider The {@link ActivityTabProvider} for accessing current activity tab.
* @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,
ToolbarControlContainer controlContainer, Invalidator invalidator,
......@@ -261,7 +263,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
ObservableSupplierImpl<Boolean> bottomToolbarVisibilitySupplier,
IdentityDiscController identityDiscController,
List<ButtonDataProvider> buttonDataProviders, ActivityTabProvider tabProvider,
ScrimCoordinator scrimCoordinator) {
ScrimCoordinator scrimCoordinator, ToolbarActionModeCallback toolbarActionModeCallback,
FindToolbarManager findToolbarManager) {
mActivity = activity;
mFullscreenManager = fullscreenManager;
mActionBarDelegate = new ViewShiftingActionBarDelegate(activity, controlContainer);
......@@ -275,7 +278,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
assert mControlContainer != null;
mUrlFocusChangedCallback = urlFocusChangedCallback;
mToolbarActionModeCallback = new ToolbarActionModeCallback();
mBookmarkBridgeSupplier = new ObservableSupplierImpl<>();
mComponentCallbacks = new ComponentCallbacks() {
......@@ -393,8 +395,8 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
identityDiscController, mLocationBarModel, this, new UserEducationHelper(mActivity),
buttonDataProviders);
mActionModeController = new ActionModeController(mActivity, mActionBarDelegate);
mActionModeController.setCustomSelectionActionModeCallback(mToolbarActionModeCallback);
mActionModeController =
new ActionModeController(mActivity, mActionBarDelegate, toolbarActionModeCallback);
mToolbar.setPaintInvalidator(invalidator);
mActionModeController.setTabStripHeight(mToolbar.getTabStripHeight());
......@@ -725,6 +727,9 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
mActivity.isTablet() ? mAppThemeColorProvider : mTabThemeColorProvider);
AccessibilityUtil.addObserver(this);
mFindToolbarManager = findToolbarManager;
mFindToolbarManager.addObserver(mFindToolbarObserver);
}
/**
......@@ -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.
* TODO(amaralp): Only the top or bottom menu should be visible.
......@@ -982,13 +978,6 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
return mToolbar;
}
/**
* @return The callback for toolbar action mode controller.
*/
public ToolbarActionModeCallback getActionModeControllerCallback() {
return mToolbarActionModeCallback;
}
/**
* @return Whether the UI has been initialized.
*/
......@@ -1117,6 +1106,11 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
mActivityTabTabObserver = null;
}
if (mFindToolbarManager != null) {
mFindToolbarManager.removeObserver(mFindToolbarObserver);
mFindToolbarManager = null;
}
mActivity.unregisterComponentCallbacks(mComponentCallbacks);
mComponentCallbacks = null;
AccessibilityUtil.removeObserver(this);
......
......@@ -75,10 +75,14 @@ public class ActionModeController {
* Creates the {@link ActionModeController} and ties it to an action bar using the given action
* bar delegate.
* @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;
mContext = context;
mToolbarActionModeCallback = toolbarActionModeCallback;
mToolbarActionModeCallback.setActionModeController(this);
mTabStripHeight = mContext.getResources().getDimension(R.dimen.tab_strip_height);
}
......@@ -96,16 +100,6 @@ public class ActionModeController {
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.
*/
......
......@@ -46,6 +46,7 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.ButtonDataProvider;
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.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator;
......@@ -115,6 +116,7 @@ public class RootUiCoordinator
private List<ButtonDataProvider> mButtonDataProviders;
private IdentityDiscController mIdentityDiscController;
private ChromeActionModeHandler mChromeActionModeHandler;
private ToolbarActionModeCallback mActionModeControllerCallback;
/**
* Create a new {@link RootUiCoordinator} for the given activity.
......@@ -231,9 +233,9 @@ public class RootUiCoordinator
mTabThemeColorProvider = new TabThemeColorProvider(mActivity);
mTabThemeColorProvider.setActivityTabProvider(mActivity.getActivityTabProvider());
initFindToolbarManager();
initializeToolbar();
initAppMenu();
initFindToolbarManager();
initDirectActionInitializer();
if (mAppMenuCoordinator != null) {
mToolbarManager.onAppMenuInitialized(mAppMenuCoordinator);
......@@ -410,12 +412,13 @@ public class RootUiCoordinator
mActivityTabProvider, mShareDelegateSupplier, new ShareUtils(),
bottomToolbarVisibilitySupplier);
mButtonDataProviders = Arrays.asList(mIdentityDiscController, shareButtonController);
mActionModeControllerCallback = new ToolbarActionModeCallback();
mToolbarManager = new ToolbarManager(mActivity, mActivity.getFullscreenManager(),
toolbarContainer, mActivity.getCompositorViewHolder().getInvalidator(),
urlFocusChangedCallback, mTabThemeColorProvider, mTabObscuringHandler,
mShareDelegateSupplier, bottomToolbarVisibilitySupplier,
mIdentityDiscController, mButtonDataProviders, mActivityTabProvider,
mScrimCoordinator);
mScrimCoordinator, mActionModeControllerCallback, mFindToolbarManager);
if (!mActivity.supportsAppMenu()) {
mToolbarManager.getToolbar().disableMenuButton();
}
......@@ -499,7 +502,7 @@ public class RootUiCoordinator
}
mFindToolbarManager = new FindToolbarManager(mActivity.findViewById(stubId),
mActivity.getTabModelSelector(), mActivity.getWindowAndroid(),
mToolbarManager.getActionModeControllerCallback());
mActionModeControllerCallback);
mFindToolbarObserver = new FindToolbarObserver() {
@Override
......@@ -512,8 +515,6 @@ public class RootUiCoordinator
};
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