Commit 08115c2c authored by Pedro Amaral's avatar Pedro Amaral Committed by Commit Bot

Adding home button to bottom toolbar

Bug: 852118
Change-Id: I8069787fda1a3e26086e16fe3839cbc30e3c5f7c
Reviewed-on: https://chromium-review.googlesource.com/1094488
Commit-Queue: Pedro Amaral <amaralp@chromium.org>
Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567109}
parent 1d0b8c34
......@@ -34,6 +34,18 @@
android:background="@color/modern_primary_color"
android:layout_gravity="top|center_horizontal" >
<Space
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<org.chromium.chrome.browser.widget.TintedImageButton
android:id="@+id/home_button"
style="@style/ToolbarButton"
android:src="@drawable/btn_toolbar_home"
android:layout_gravity="center_vertical|center_horizontal"
android:contentDescription="@string/accessibility_toolbar_btn_home"/>
<Space
android:layout_width="0dp"
android:layout_height="1dp"
......
......@@ -84,6 +84,8 @@ public class BottomToolbarController {
* tab switcher button is clicked.
* @param searchAcceleratorListener An {@link OnClickListener} that is triggered when the
* search accelerator is clicked.
* @param homeButtonListener An {@link OnClickListener} that is triggered when the
* home button is clicked.
* @param menuButtonListener An {@link OnTouchListener} that is triggered when the
* menu button is clicked.
* @param tabModelSelector A {@link TabModelSelector} that the tab switcher button uses to
......@@ -91,8 +93,10 @@ public class BottomToolbarController {
*/
public void initializeWithNative(ResourceManager resourceManager, LayoutManager layoutManager,
OnClickListener tabSwitcherListener, OnClickListener searchAcceleratorListener,
OnTouchListener menuButtonListener, TabModelSelector tabModelSelector) {
mMediator.setButtonListeners(searchAcceleratorListener, menuButtonListener);
OnClickListener homeButtonListener, OnTouchListener menuButtonListener,
TabModelSelector tabModelSelector) {
mMediator.setButtonListeners(
searchAcceleratorListener, homeButtonListener, menuButtonListener);
mMediator.setLayoutManager(layoutManager);
mTabSwitcherButtonCoordinator.setTabSwitcherListener(tabSwitcherListener);
......
......@@ -71,9 +71,10 @@ class BottomToolbarMediator implements FullscreenListener {
@Override
public void onBottomControlsHeightChanged(int bottomControlsHeight) {}
public void setButtonListeners(
OnClickListener searchAcceleratorListener, OnTouchListener menuButtonListener) {
public void setButtonListeners(OnClickListener searchAcceleratorListener,
OnClickListener homeButtonListener, OnTouchListener menuButtonListener) {
mModel.setValue(BottomToolbarModel.SEARCH_ACCELERATOR_LISTENER, searchAcceleratorListener);
mModel.setValue(BottomToolbarModel.HOME_BUTTON_LISTENER, homeButtonListener);
mModel.setValue(BottomToolbarModel.MENU_BUTTON_LISTENER, menuButtonListener);
}
......
......@@ -24,6 +24,10 @@ public class BottomToolbarModel extends PropertyModel {
public static final ObjectPropertyKey<OnClickListener> SEARCH_ACCELERATOR_LISTENER =
new ObjectPropertyKey<>();
/** The touch listener for the home button. */
public static final ObjectPropertyKey<OnClickListener> HOME_BUTTON_LISTENER =
new ObjectPropertyKey<>();
/** The touch listener for the menu button. */
public static final ObjectPropertyKey<OnTouchListener> MENU_BUTTON_LISTENER =
new ObjectPropertyKey<>();
......@@ -33,7 +37,7 @@ public class BottomToolbarModel extends PropertyModel {
/** Default constructor. */
public BottomToolbarModel() {
super(Y_OFFSET, ANDROID_VIEW_VISIBILITY, SEARCH_ACCELERATOR_LISTENER, MENU_BUTTON_LISTENER,
LAYOUT_MANAGER);
super(Y_OFFSET, ANDROID_VIEW_VISIBILITY, SEARCH_ACCELERATOR_LISTENER, HOME_BUTTON_LISTENER,
MENU_BUTTON_LISTENER, LAYOUT_MANAGER);
}
}
......@@ -64,6 +64,9 @@ public class BottomToolbarViewBinder
} else if (BottomToolbarModel.LAYOUT_MANAGER == propertyKey) {
model.getValue(BottomToolbarModel.LAYOUT_MANAGER)
.addSceneOverlayToBack(view.sceneLayer);
} else if (BottomToolbarModel.HOME_BUTTON_LISTENER == propertyKey) {
view.toolbarRoot.findViewById(R.id.home_button)
.setOnClickListener(model.getValue(BottomToolbarModel.HOME_BUTTON_LISTENER));
} else {
assert false : "Unhandled property detected in BottomToolbarViewBinder!";
}
......
......@@ -704,10 +704,12 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
if (mBottomToolbarController != null) {
final OnClickListener searchAcceleratorListener = v -> setUrlBarFocus(true);
final OnClickListener homeButtonListener = v -> openHomepage();
mBottomToolbarController.initializeWithNative(
mActivity.getCompositorViewHolder().getResourceManager(),
mActivity.getCompositorViewHolder().getLayoutManager(), tabSwitcherClickHandler,
searchAcceleratorListener, mAppMenuButtonHelper, mTabModelSelector);
searchAcceleratorListener, homeButtonListener, mAppMenuButtonHelper,
mTabModelSelector);
}
onNativeLibraryReady();
......
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