Commit 0e2408b0 authored by Ben Goldberger's avatar Ben Goldberger Committed by Commit Bot

Update chip lateral extension logic to configurable by boolean.

Bug: 1099982
Change-Id: Idf30918efdc2710a7bf009e725b3c63f92486843
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2446355
Commit-Queue: Ben Goldberger <benwgold@google.com>
Reviewed-by: default avatarSinan Sahin <sinansahin@google.com>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#814413}
parent eaccdf59
......@@ -493,7 +493,6 @@
<!-- Prevent the chip from reaching the edges of the screen for long translations. -->
<dimen name="context_menu_chip_max_width">338dp</dimen>
<dimen name="context_menu_chip_vertical_margin">24dp</dimen>
<dimen name="context_menu_chip_lateral_padding">16dp</dimen>
<!-- The chip touch target is 48dp. This reduces the chip size by 8dp to get to the desired
40dp height (24dp for content + 4dp of padding at the top and bottom. -->
<dimen name="context_menu_chip_vertical_inset">4dp</dimen>
......
......@@ -642,10 +642,8 @@
<item name="chipColor">@color/popup_bg_color</item>
<item name="solidColorChip">true</item>
<item name="allowMultipleLines">true</item>
<item name="extendLateralPadding">true</item>
<item name="textAlignStart">true</item>
<item name="leadingPadding">@dimen/context_menu_chip_lateral_padding</item>
<item name="endIconStartPadding">@dimen/context_menu_chip_lateral_padding</item>
<item name="endIconEndPadding">@dimen/context_menu_chip_lateral_padding</item>
<item name="verticalInset">@dimen/context_menu_chip_vertical_inset</item>
<item name="endIconWidth">@dimen/context_menu_chip_icon_size</item>
<item name="endIconHeight">@dimen/context_menu_chip_icon_size</item>
......
......@@ -83,14 +83,18 @@ class RevampedContextMenuChipController implements View.OnClickListener {
@VisibleForTesting
int getChipTextMaxWidthPx() {
return mContext.getResources().getDimensionPixelSize(R.dimen.context_menu_chip_max_width)
// Leading and trailing padding (start and end of chip and
// start / end of text).
- (3
* mContext.getResources().getDimensionPixelSize(
R.dimen.context_menu_chip_lateral_padding))
- (1
* mContext.getResources().getDimensionPixelSize(
R.dimen.chip_element_leading_padding))
// Padding before primary icon
- mContext.getResources().getDimensionPixelSize(
R.dimen.chip_element_extended_leading_padding)
// Padding after primary icon
- mContext.getResources().getDimensionPixelSize(
R.dimen.chip_element_leading_padding)
// Padding before close icon.
- mContext.getResources().getDimensionPixelSize(
R.dimen.chip_end_icon_extended_margin_start)
// Padding after close icon.
- mContext.getResources().getDimensionPixelSize(
R.dimen.chip_extended_end_padding_with_end_icon)
// Primary and close icon width.
- (2
* mContext.getResources().getDimensionPixelSize(
......
......@@ -20,21 +20,18 @@
<declare-styleable name="ChipView">
<attr name="allowMultipleLines" format="boolean"/>
<attr name="extendLateralPadding" format="boolean"/>
<attr name="solidColorChip" format="boolean"/>
<attr name="textAlignStart" format="boolean"/>
<attr name="chipColor" format="color"/>
<attr name="chipStyle" format="reference"/>
<attr name="cornerRadius" format="dimension"/>
<attr name="leadingPadding" format="reference|dimension"/>
<attr name="endPadding" format="reference|dimension"/>
<attr name="iconWidth" format="reference|dimension"/>
<attr name="iconHeight" format="reference|dimension"/>
<attr name="useRoundedIcon" format="boolean"/>
<attr name="primaryTextAppearance" format="reference"/>
<attr name="endIconWidth" format="reference|dimension"/>
<attr name="endIconHeight" format="reference|dimension"/>
<attr name="endIconStartPadding" format="reference|dimension"/>
<attr name="endIconEndPadding" format="reference|dimension"/>
<attr name="secondaryTextAppearance" format="reference"/>
<attr name="rippleColor"/>
<attr name="verticalInset"/>
......
......@@ -43,11 +43,14 @@
<dimen name="chip_default_height">32dp</dimen>
<dimen name="chip_end_padding">16dp</dimen>
<dimen name="chip_element_leading_padding">8dp</dimen>
<dimen name="chip_element_extended_leading_padding">16dp</dimen>
<dimen name="chip_bg_vertical_inset">8dp</dimen>
<dimen name="chip_background_selected_alpha">@dimen/chip_background_selected_alpha_light</dimen>
<dimen name="chip_icon_size">20dp</dimen>
<dimen name="chip_end_icon_margin_start">8dp</dimen>
<dimen name="chip_end_icon_extended_margin_start">16dp</dimen>
<dimen name="chip_end_padding_with_end_icon">6dp</dimen>
<dimen name="chip_extended_end_padding_with_end_icon">16dp</dimen>
<dimen name="chip_text_multiline_vertical_padding">12dp</dimen>
<!-- Dropdown default measures -->
......
......@@ -72,18 +72,27 @@ public class ChipView extends LinearLayout {
TypedArray a = getContext().obtainStyledAttributes(
attrs, R.styleable.ChipView, R.attr.chipStyle, 0);
boolean extendLateralPadding =
a.getBoolean(R.styleable.ChipView_extendLateralPadding, false);
@Px
int leadingElementPadding = a.getDimensionPixelSize(R.styleable.ChipView_leadingPadding,
getResources().getDimensionPixelSize(R.dimen.chip_element_leading_padding));
int leadingElementPadding = extendLateralPadding
? getResources().getDimensionPixelSize(
R.dimen.chip_element_extended_leading_padding)
: getResources().getDimensionPixelSize(R.dimen.chip_element_leading_padding);
// End padding is already longer so no need to adjust in the 'extendLateralPadding' case.
@Px
int endPadding = a.getDimensionPixelSize(R.styleable.ChipView_endPadding,
getResources().getDimensionPixelSize(R.dimen.chip_end_padding));
int endPadding = getResources().getDimensionPixelSize(R.dimen.chip_end_padding);
mEndIconStartPadding = a.getDimensionPixelSize(R.styleable.ChipView_endIconStartPadding,
getResources().getDimensionPixelSize(R.dimen.chip_end_icon_margin_start));
mEndIconStartPadding = extendLateralPadding
? getResources().getDimensionPixelSize(R.dimen.chip_end_icon_extended_margin_start)
: getResources().getDimensionPixelSize(R.dimen.chip_end_icon_margin_start);
mEndIconEndPadding = a.getDimensionPixelSize(R.styleable.ChipView_endIconEndPadding,
getResources().getDimensionPixelSize(R.dimen.chip_end_padding_with_end_icon));
mEndIconEndPadding = extendLateralPadding
? getResources().getDimensionPixelSize(
R.dimen.chip_extended_end_padding_with_end_icon)
: getResources().getDimensionPixelSize(R.dimen.chip_end_padding_with_end_icon);
boolean solidColorChip = a.getBoolean(R.styleable.ChipView_solidColorChip, false);
int chipBorderWidthId =
......
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