Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java |
| index 3c6faf3308bf2353524a69d5e7c0a14fdab1b80f..dab11b1bc30d9d6b51ad986120d42a96d04161d4 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java |
| @@ -23,6 +23,7 @@ import android.util.TypedValue; |
| import android.view.KeyEvent; |
| import android.view.MotionEvent; |
| import android.view.View; |
| +import android.widget.FrameLayout; |
| import android.widget.ImageButton; |
| import android.widget.ImageView; |
| import android.widget.TextView; |
| @@ -59,9 +60,43 @@ import org.chromium.ui.interpolators.BakedBezierInterpolator; |
| */ |
| public class CustomTabToolbar extends ToolbarLayout implements LocationBar, |
| View.OnLongClickListener { |
| + |
| + /** |
| + * A custom FrameLayout specifically designed to hold page info security icon, a title bar and a |
| + * url bar. Unlike other layouts in chrome, this layout does not respect RTL, which means it |
| + * will always layout the security icon to the left of the url bar. |
| + */ |
| + public static class UrlInfoLayout extends FrameLayout { |
|
Yusuf
2015/07/09 00:22:19
I think we can make do without the customized layo
Ian Wen
2015/07/09 01:19:32
Oh yeah. Removed.
|
| + private View mSecurityButton; |
| + private View mTitleUrlContainer; |
| + |
| + /** |
| + * Constructor for xml inflation. |
| + */ |
| + public UrlInfoLayout(Context context, AttributeSet attrs) { |
| + super(context, attrs); |
| + } |
| + |
| + @Override |
| + protected void onFinishInflate() { |
| + super.onFinishInflate(); |
| + mSecurityButton = findViewById(R.id.security_button); |
| + mTitleUrlContainer = findViewById(R.id.title_url_container); |
| + } |
| + |
| + @Override |
| + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { |
|
Yusuf
2015/07/09 00:22:19
why not have the same in onMeasure for toolbar lay
Ian Wen
2015/07/09 01:19:32
Done.
|
| + LayoutParams lp = (LayoutParams) mTitleUrlContainer.getLayoutParams(); |
| + lp.leftMargin = mSecurityButton.getMeasuredWidth(); |
| + mTitleUrlContainer.setLayoutParams(lp); |
| + super.onMeasure(widthMeasureSpec, heightMeasureSpec); |
| + } |
| + } |
| + |
| private static final int CUSTOM_TAB_TOOLBAR_SLIDE_DURATION_MS = 200; |
| private static final int CUSTOM_TAB_TOOLBAR_FADE_DURATION_MS = 150; |
| private View mUrlInfoContainer; |
|
Yusuf
2015/07/09 00:22:19
let's use a new name for this since these became r
Ian Wen
2015/07/09 01:19:32
Done.
|
| + private View mTitleUrlContainer; |
| private UrlBar mUrlBar; |
| private TextView mTitleBar; |
| private ImageView mSecurityButton; |
| @@ -91,6 +126,7 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, |
| mUrlBar.setAllowFocus(false); |
| mTitleBar = (TextView) findViewById(R.id.title_bar); |
| mUrlInfoContainer = findViewById(R.id.url_info_container); |
| + mTitleUrlContainer = findViewById(R.id.title_url_container); |
| mSecurityButton = (ImageButton) findViewById(R.id.security_button); |
| mSecurityIconType = ConnectionSecurityLevel.NONE; |
| mCustomActionButton = (ImageButton) findViewById(R.id.action_button); |
| @@ -105,7 +141,7 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, |
| int securityIconButtonWidth = |
| getResources().getDimensionPixelSize(R.dimen.location_bar_icon_width); |
| Animator urlInfoContainerTranslateAnimator = |
| - ObjectAnimator.ofFloat(mUrlInfoContainer, TRANSLATION_X, securityIconButtonWidth); |
| + ObjectAnimator.ofFloat(mTitleUrlContainer, TRANSLATION_X, securityIconButtonWidth); |
| urlInfoContainerTranslateAnimator.setInterpolator(BakedBezierInterpolator.TRANSFORM_CURVE); |
| urlInfoContainerTranslateAnimator.setDuration(CUSTOM_TAB_TOOLBAR_SLIDE_DURATION_MS); |
| @@ -116,7 +152,7 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, |
| @Override |
| public void onAnimationStart(Animator animation) { |
| mSecurityButton.setVisibility(VISIBLE); |
| - mUrlInfoContainer.setTranslationX(0); |
| + mTitleUrlContainer.setTranslationX(0); |
| } |
| }); |