Chromium Code Reviews| 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..eb8202cef15b362739c574ede1c8bf2a6f019601 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,33 @@ public class ToolbarControlContainer extends FrameLayout implements ControlConta |
| } |
| private static class ToolbarViewResourceAdapter extends ViewResourceAdapter { |
| - private final int mToolbarActualHeightPx; |
| - private final int mTabStripHeightPx; |
| + private int mToolbarActualHeightPx; |
|
gone
2016/10/12 17:37:45
nit: Move the privates below the private finals?
mdjones
2016/10/12 20:17:14
Done.
|
| + private int mTabStripHeightPx; |
| private final int[] mTempPosition = new int[2]; |
| private final View mToolbarContainer; |
| - private final Toolbar mToolbar; |
| + private Toolbar mToolbar; |
| /** Builds the resource adapter for the toolbar. */ |
| - public ToolbarViewResourceAdapter(View toolbarContainer, Toolbar toolbar) { |
| + public ToolbarViewResourceAdapter(View toolbarContainer) { |
| super(toolbarContainer); |
|
gone
2016/10/12 17:37:45
nit: remove newline?
mdjones
2016/10/12 20:17:14
Done.
|
| 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); |
| } |