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 @@ ...@@ -34,6 +34,18 @@
android:background="@color/modern_primary_color" android:background="@color/modern_primary_color"
android:layout_gravity="top|center_horizontal" > 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 <Space
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="1dp" android:layout_height="1dp"
......
...@@ -84,6 +84,8 @@ public class BottomToolbarController { ...@@ -84,6 +84,8 @@ public class BottomToolbarController {
* tab switcher button is clicked. * tab switcher button is clicked.
* @param searchAcceleratorListener An {@link OnClickListener} that is triggered when the * @param searchAcceleratorListener An {@link OnClickListener} that is triggered when the
* search accelerator is clicked. * 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 * @param menuButtonListener An {@link OnTouchListener} that is triggered when the
* menu button is clicked. * menu button is clicked.
* @param tabModelSelector A {@link TabModelSelector} that the tab switcher button uses to * @param tabModelSelector A {@link TabModelSelector} that the tab switcher button uses to
...@@ -91,8 +93,10 @@ public class BottomToolbarController { ...@@ -91,8 +93,10 @@ public class BottomToolbarController {
*/ */
public void initializeWithNative(ResourceManager resourceManager, LayoutManager layoutManager, public void initializeWithNative(ResourceManager resourceManager, LayoutManager layoutManager,
OnClickListener tabSwitcherListener, OnClickListener searchAcceleratorListener, OnClickListener tabSwitcherListener, OnClickListener searchAcceleratorListener,
OnTouchListener menuButtonListener, TabModelSelector tabModelSelector) { OnClickListener homeButtonListener, OnTouchListener menuButtonListener,
mMediator.setButtonListeners(searchAcceleratorListener, menuButtonListener); TabModelSelector tabModelSelector) {
mMediator.setButtonListeners(
searchAcceleratorListener, homeButtonListener, menuButtonListener);
mMediator.setLayoutManager(layoutManager); mMediator.setLayoutManager(layoutManager);
mTabSwitcherButtonCoordinator.setTabSwitcherListener(tabSwitcherListener); mTabSwitcherButtonCoordinator.setTabSwitcherListener(tabSwitcherListener);
......
...@@ -71,9 +71,10 @@ class BottomToolbarMediator implements FullscreenListener { ...@@ -71,9 +71,10 @@ class BottomToolbarMediator implements FullscreenListener {
@Override @Override
public void onBottomControlsHeightChanged(int bottomControlsHeight) {} public void onBottomControlsHeightChanged(int bottomControlsHeight) {}
public void setButtonListeners( public void setButtonListeners(OnClickListener searchAcceleratorListener,
OnClickListener searchAcceleratorListener, OnTouchListener menuButtonListener) { OnClickListener homeButtonListener, OnTouchListener menuButtonListener) {
mModel.setValue(BottomToolbarModel.SEARCH_ACCELERATOR_LISTENER, searchAcceleratorListener); mModel.setValue(BottomToolbarModel.SEARCH_ACCELERATOR_LISTENER, searchAcceleratorListener);
mModel.setValue(BottomToolbarModel.HOME_BUTTON_LISTENER, homeButtonListener);
mModel.setValue(BottomToolbarModel.MENU_BUTTON_LISTENER, menuButtonListener); mModel.setValue(BottomToolbarModel.MENU_BUTTON_LISTENER, menuButtonListener);
} }
......
...@@ -24,6 +24,10 @@ public class BottomToolbarModel extends PropertyModel { ...@@ -24,6 +24,10 @@ public class BottomToolbarModel extends PropertyModel {
public static final ObjectPropertyKey<OnClickListener> SEARCH_ACCELERATOR_LISTENER = public static final ObjectPropertyKey<OnClickListener> SEARCH_ACCELERATOR_LISTENER =
new ObjectPropertyKey<>(); 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. */ /** The touch listener for the menu button. */
public static final ObjectPropertyKey<OnTouchListener> MENU_BUTTON_LISTENER = public static final ObjectPropertyKey<OnTouchListener> MENU_BUTTON_LISTENER =
new ObjectPropertyKey<>(); new ObjectPropertyKey<>();
...@@ -33,7 +37,7 @@ public class BottomToolbarModel extends PropertyModel { ...@@ -33,7 +37,7 @@ public class BottomToolbarModel extends PropertyModel {
/** Default constructor. */ /** Default constructor. */
public BottomToolbarModel() { public BottomToolbarModel() {
super(Y_OFFSET, ANDROID_VIEW_VISIBILITY, SEARCH_ACCELERATOR_LISTENER, MENU_BUTTON_LISTENER, super(Y_OFFSET, ANDROID_VIEW_VISIBILITY, SEARCH_ACCELERATOR_LISTENER, HOME_BUTTON_LISTENER,
LAYOUT_MANAGER); MENU_BUTTON_LISTENER, LAYOUT_MANAGER);
} }
} }
...@@ -64,6 +64,9 @@ public class BottomToolbarViewBinder ...@@ -64,6 +64,9 @@ public class BottomToolbarViewBinder
} else if (BottomToolbarModel.LAYOUT_MANAGER == propertyKey) { } else if (BottomToolbarModel.LAYOUT_MANAGER == propertyKey) {
model.getValue(BottomToolbarModel.LAYOUT_MANAGER) model.getValue(BottomToolbarModel.LAYOUT_MANAGER)
.addSceneOverlayToBack(view.sceneLayer); .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 { } else {
assert false : "Unhandled property detected in BottomToolbarViewBinder!"; assert false : "Unhandled property detected in BottomToolbarViewBinder!";
} }
......
...@@ -704,10 +704,12 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe ...@@ -704,10 +704,12 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe
if (mBottomToolbarController != null) { if (mBottomToolbarController != null) {
final OnClickListener searchAcceleratorListener = v -> setUrlBarFocus(true); final OnClickListener searchAcceleratorListener = v -> setUrlBarFocus(true);
final OnClickListener homeButtonListener = v -> openHomepage();
mBottomToolbarController.initializeWithNative( mBottomToolbarController.initializeWithNative(
mActivity.getCompositorViewHolder().getResourceManager(), mActivity.getCompositorViewHolder().getResourceManager(),
mActivity.getCompositorViewHolder().getLayoutManager(), tabSwitcherClickHandler, mActivity.getCompositorViewHolder().getLayoutManager(), tabSwitcherClickHandler,
searchAcceleratorListener, mAppMenuButtonHelper, mTabModelSelector); searchAcceleratorListener, homeButtonListener, mAppMenuButtonHelper,
mTabModelSelector);
} }
onNativeLibraryReady(); 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