Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1337)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarControlContainer.java

Issue 2410603002: Inflate toolbar layouts in ControlContainer (Closed)
Patch Set: fix custom tabs Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698