| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
|
| index 173f5948416015a047f198c4b93b559d1bdf27d0..c9a7aef110a9fe22febc444bfbeb03ff6964f9ef 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java
|
| @@ -12,6 +12,7 @@ import android.graphics.Region;
|
| import android.util.AttributeSet;
|
| import android.view.MotionEvent;
|
| import android.view.View;
|
| +import android.view.ViewStub;
|
| import android.widget.FrameLayout;
|
|
|
| import org.chromium.chrome.R;
|
| @@ -81,9 +82,14 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
|
| }
|
|
|
| @Override
|
| - public void onFinishInflate() {
|
| + public void initWithToolbar(int toolbarLayoutId) {
|
| + ViewStub toolbarStub = (ViewStub) findViewById(R.id.toolbar_stub);
|
| + toolbarStub.setLayoutResource(toolbarLayoutId);
|
| + toolbarStub.inflate();
|
| +
|
| mToolbar = (Toolbar) findViewById(R.id.toolbar);
|
| mToolbarContainer = (ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
|
| + mToolbarContainer.setToolbar(mToolbar);
|
| mMenuBtn = findViewById(R.id.menu_button);
|
|
|
| if (mToolbar instanceof ToolbarTablet) {
|
| @@ -95,8 +101,6 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
|
|
|
| assert mToolbar != null;
|
| assert mMenuBtn != null;
|
| -
|
| - super.onFinishInflate();
|
| }
|
|
|
| @Override
|
| @@ -141,8 +145,11 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
|
|
|
| @Override
|
| protected ViewResourceAdapter createResourceAdapter() {
|
| - return new ToolbarViewResourceAdapter(
|
| - this, (Toolbar) findViewById(R.id.toolbar));
|
| + return new ToolbarViewResourceAdapter(this);
|
| + }
|
| +
|
| + public void setToolbar(Toolbar toolbar) {
|
| + ((ToolbarViewResourceAdapter) getResourceAdapter()).setToolbar(toolbar);
|
| }
|
|
|
| @Override
|
| @@ -152,26 +159,32 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta
|
| }
|
|
|
| private static class ToolbarViewResourceAdapter extends ViewResourceAdapter {
|
| - private final int mToolbarActualHeightPx;
|
| - private final int mTabStripHeightPx;
|
| private final int[] mTempPosition = new int[2];
|
| -
|
| private final View mToolbarContainer;
|
| - private final Toolbar mToolbar;
|
| +
|
| + private Toolbar mToolbar;
|
| + private int mToolbarActualHeightPx;
|
| + private int mTabStripHeightPx;
|
|
|
| /** Builds the resource adapter for the toolbar. */
|
| - public ToolbarViewResourceAdapter(View toolbarContainer, Toolbar toolbar) {
|
| + public ToolbarViewResourceAdapter(View toolbarContainer) {
|
| super(toolbarContainer);
|
| -
|
| mToolbarContainer = toolbarContainer;
|
| + }
|
| +
|
| + /**
|
| + * Set the toolbar after it has been dynamically inflated.
|
| + * @param toolbar The browser's toolbar.
|
| + */
|
| + public void setToolbar(Toolbar toolbar) {
|
| mToolbar = toolbar;
|
| int containerHeightResId = R.dimen.control_container_height;
|
| if (mToolbar instanceof CustomTabToolbar) {
|
| containerHeightResId = R.dimen.custom_tabs_control_container_height;
|
| }
|
| - mToolbarActualHeightPx = toolbarContainer.getResources().getDimensionPixelSize(
|
| + mToolbarActualHeightPx = mToolbarContainer.getResources().getDimensionPixelSize(
|
| containerHeightResId);
|
| - mTabStripHeightPx = toolbarContainer.getResources().getDimensionPixelSize(
|
| + mTabStripHeightPx = mToolbarContainer.getResources().getDimensionPixelSize(
|
| R.dimen.tab_strip_height);
|
| }
|
|
|
|
|