Commit be361679 authored by Daniel Park's avatar Daniel Park Committed by Commit Bot

[Modern] Fixes inconsistent suggestion view layouts for RTL

The delete button's size is always accounted for when
  laying out suggestion views

Adds padding to the omnibox text when voice search is disabled for RTL

See crbug link for photos.

Bug: 833342
Change-Id: I2b35be70d4296abf7eae318d5dccea4d0201c91f
Reviewed-on: https://chromium-review.googlesource.com/1054201Reviewed-by: default avatarTheresa <twellington@chromium.org>
Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Commit-Queue: Daniel Park <danielpark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559196}
parent 8327a881
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:drawableStart="@drawable/ic_logo_googleg_24dp" android:drawableStart="@drawable/ic_logo_googleg_24dp"
...@@ -63,7 +64,6 @@ ...@@ -63,7 +64,6 @@
android:id="@+id/voice_search_button" android:id="@+id/voice_search_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp" android:layout_marginEnd="12dp"
android:contentDescription="@string/accessibility_toolbar_btn_mic" android:contentDescription="@string/accessibility_toolbar_btn_mic"
android:src="@drawable/btn_mic" /> android:src="@drawable/btn_mic" />
......
...@@ -297,7 +297,7 @@ ...@@ -297,7 +297,7 @@
<dimen name="omnibox_suggestion_answer_image_vertical_spacing">5dp</dimen> <dimen name="omnibox_suggestion_answer_image_vertical_spacing">5dp</dimen>
<dimen name="omnibox_suggestion_answer_image_horizontal_spacing">4dp</dimen> <dimen name="omnibox_suggestion_answer_image_horizontal_spacing">4dp</dimen>
<dimen name="omnibox_suggestion_phone_url_bar_left_offset">10dp</dimen> <dimen name="omnibox_suggestion_phone_url_bar_left_offset">10dp</dimen>
<dimen name="omnibox_suggestion_phone_url_bar_left_offset_rtl">40dp</dimen> <dimen name="omnibox_suggestion_phone_url_bar_left_offset_rtl">10dp</dimen>
<dimen name="omnibox_suggestion_refine_width">48dp</dimen> <dimen name="omnibox_suggestion_refine_width">48dp</dimen>
<dimen name="omnibox_suggestion_text_vertical_padding">5dp</dimen> <dimen name="omnibox_suggestion_text_vertical_padding">5dp</dimen>
<dimen name="omnibox_suggestion_multiline_text_vertical_padding">10dp</dimen> <dimen name="omnibox_suggestion_multiline_text_vertical_padding">10dp</dimen>
......
...@@ -187,4 +187,10 @@ public interface LocationBar extends UrlBarDelegate { ...@@ -187,4 +187,10 @@ public interface LocationBar extends UrlBarDelegate {
* @return Whether the location bar is allowed to use Chrome modern design. * @return Whether the location bar is allowed to use Chrome modern design.
*/ */
boolean useModernDesign(); boolean useModernDesign();
/**
* @return The margin to be applied to the URL bar based on the buttons currently visible next
* to it, used to avoid text overlapping the buttons and vice versa.
*/
int getUrlContainerMarginEnd();
} }
...@@ -1201,7 +1201,8 @@ public class LocationBarLayout ...@@ -1201,7 +1201,8 @@ public class LocationBarLayout
* @return The margin to be applied to the URL bar based on the buttons currently visible next * @return The margin to be applied to the URL bar based on the buttons currently visible next
* to it, used to avoid text overlapping the buttons and vice versa. * to it, used to avoid text overlapping the buttons and vice versa.
*/ */
protected int getUrlContainerMarginEnd() { @Override
public int getUrlContainerMarginEnd() {
// When Chrome Home is enabled, the URL actions container slides out of view during the // When Chrome Home is enabled, the URL actions container slides out of view during the
// URL defocus animation. Adding margin during this animation creates a hole. // URL defocus animation. Adding margin during this animation creates a hole.
boolean addMarginForActionsContainer = boolean addMarginForActionsContainer =
......
...@@ -929,7 +929,15 @@ class SuggestionView extends ViewGroup { ...@@ -929,7 +929,15 @@ class SuggestionView extends ViewGroup {
int leftOffset = getUrlBarLeftOffset(); int leftOffset = getUrlBarLeftOffset();
View contentView = getRootView().findViewById(android.R.id.content); View contentView = getRootView().findViewById(android.R.id.content);
ViewUtils.getRelativeLayoutPosition(contentView, this, mViewPositionHolder); ViewUtils.getRelativeLayoutPosition(contentView, this, mViewPositionHolder);
return leftOffset + mUrlBar.getWidth() - mUrlBar.getPaddingRight()
// When a user types into the omnibox, buttons on the url action container e.g. delete
// become visible, shrinking the url bar's width. Add the url action container's width
// to the url bar for consistency.
int buttonWidth = 0;
if (mLocationBar instanceof LocationBarPhone) {
buttonWidth = mLocationBar.getUrlContainerMarginEnd();
}
return leftOffset + mUrlBar.getWidth() + buttonWidth - mUrlBar.getPaddingRight()
- mViewPositionHolder[0]; - mViewPositionHolder[0];
} }
......
...@@ -833,4 +833,9 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar, ...@@ -833,4 +833,9 @@ public class CustomTabToolbar extends ToolbarLayout implements LocationBar,
public boolean useModernDesign() { public boolean useModernDesign() {
return false; return false;
} }
@Override
public int getUrlContainerMarginEnd() {
return 0;
}
} }
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