25 Commits

Author SHA1 Message Date
connieshi
00a132b6a0 Remove Chip method.
PiperOrigin-RevId: 200735866
2018-06-20 17:27:41 -04:00
connieshi
3f00c13ebe Fix api issues, defer to TextView to render the chip text and ChipDrawable to render everything else.
List of text related attributes/methods supported with this approach:
    android:autoLink
    android:hint
    android:text
    android:textAllCaps
    android:textAppearance
    android:textColor

    android:textColorHint
    android:textColorLink
    android:textIsSelectable
    android:textScaleX
    android:textSize
    android:textStyle
    android:typeface
    android:fontFamily

    Not supported:
    android:textColorHighlight
    android:textColorLink

PiperOrigin-RevId: 200578044
2018-06-20 17:27:20 -04:00
connieshi
649a13fa2e Replace calls to deprecated method Chip#getChipText() with its replacement Chip#getText().
Replace calls to deprecated Chip#setChipText(...) methods with their replacement Chip#setText...).

PiperOrigin-RevId: 199663849
2018-06-20 17:26:38 -04:00
connieshi
412ee4c1f1 Add support for tinting the chip icon.
PiperOrigin-RevId: 199526967
2018-06-20 17:24:18 -04:00
connieshi
434be9ff15 Restores chip text after it's being cleared by TextView's onRestoreInstanceState, this was causing an clearing the chip text on config change for pre-L devices.
PiperOrigin-RevId: 199482051
2018-06-20 17:23:38 -04:00
connieshi
57aeb2b7f8 Android Studio is looking for a "Chip" declare-stylable when trying to determine what attributes are applicable for the "Chip" component. Android Studio doesn't know that "ChipDrawable" is used internally and all attributes to "ChipDrawable" applies.
This is preventing completions of attribute names for Chip and the attribute panels shows up empty for Chip.

Rename R.styleable.ChipDrawable to R.styleable.Chip and update ChipDrawable to use it.

AS 3.2 canary > 14  (currently 16) is required to see the attributes in the attribute panel.

PiperOrigin-RevId: 198909123
2018-06-04 10:49:01 -04:00
connieshi
4a7bd84360 Add null check to Chip#setText and ChipDrawable#setText. Set null text to empty string, this is done internally by TextView.
Changed Chip#getText and ChipDrawable#getText to be @NotNull

PiperOrigin-RevId: 198868472
2018-06-04 10:48:35 -04:00
connieshi
f35acd8660 Rolling back again because of bad interactions with espresso ViewMatchers.
PiperOrigin-RevId: 198709590
2018-05-31 16:31:26 -04:00
connieshi
200fdcb6a2 Rolling forward changes to override Chip#getText() and Chip#setText(CharSequence, BufferType) now that a bug in ChipDrawable#getText has been fixed and internal tests are passing again.
PiperOrigin-RevId: 198616302
2018-05-30 17:46:46 -04:00
connieshi
bb8f8388e7 Prevent users from setting the background attribute because Chip manages its own background drawable.
Allow setBackground to be called by Chip itself internally to set the background to be chipDrawable or ripple.

PiperOrigin-RevId: 198572908
2018-05-30 17:43:30 -04:00
connieshi
77f4a89f73 Automated g4 rollback of changelist 198434516
PiperOrigin-RevId: 198449773
2018-05-30 17:41:19 -04:00
connieshi
5acdd69431 Prevent users from setting the background attribute because Chip manages its own background drawable.
PiperOrigin-RevId: 198434516
2018-05-30 17:40:14 -04:00
connieshi
9492832207 Rolling back changes to override Chip#setText and Chip#getText because it broke some tests.
PiperOrigin-RevId: 197975319
2018-05-30 17:34:46 -04:00
connieshi
e3303db70c Override Chip#getText() to return the internal chip text value via chipDrawable#getChipText.
Override Chip#setText(CharSequence, BufferType) to set the value on the internal chip text and prevent text from being set on Chip's super class because ChipDrawable will handle text rendering.
     - This method is called by all overridden versions of TextView#setText except android.widget.TextView#setText(char[], int, int)}, which cannot be overridden. This is not ideal but an incremental change towards supporting all flavors of android.widget.TextView#setText methods.

Deprecate Chip#setChipTextResource(int) and Chip#setText(CharSequence)

PiperOrigin-RevId: 197960701
2018-05-30 17:34:04 -04:00
connieshi
2072f7af4d Rename ChipDrawable#getChipText to ChipDrawable#ChipDrawable#getText
Rename ChipDrawable#setChipTextResource to ChipDrawable#setTextResource
Rename ChipDrawable#setChipText to ChipDrawable#setText.

PiperOrigin-RevId: 197948000
2018-05-30 17:33:30 -04:00
connieshi
a71326896a Use the android:text attribute instead of chipText attribute to specify text label for ChipDrawable.
This is one in a series of planned changes that aim to delegate rendering a Chip's text to TextView instead of ChipDrawable.

PiperOrigin-RevId: 197780081
2018-05-30 17:19:38 -04:00
connieshi
a898d12289 Prevent users from setting chip text to appear on multiple lines.
PiperOrigin-RevId: 197134896
2018-05-22 13:57:36 -04:00
connieshi
7fa43fc8cb Add null check before validating attribute set to avoid NPE.
PiperOrigin-RevId: 197050012
2018-05-17 19:46:17 -04:00
connieshi
eb89b76787 Prevent user from setting start/end compound drawable on Chips. They should be set via app:chipIcon and app:closeIcon instead.
PiperOrigin-RevId: 197037053
2018-05-17 19:45:00 -04:00
connieshi
8cd8c2ad80 Prevent callers from setting ellipsize to MARQUEE because chip text should not scroll.
If caller sets ellipsize to MARQUEE an UnsupportedOperstaionException will be thrown at runtime.
Override ellipsize getters / setters and pass the value to ChipDrawable.

PiperOrigin-RevId: 196813582
2018-05-16 11:50:05 -04:00
Material Design Team
79bf9d0e8e Support Chip text with TalkBack on older API levels
PiperOrigin-RevId: 195430570
2018-05-04 13:58:18 -04:00
Material Design Team
b63a63e853 Allow custom text to be set for a Chip's closeIcon's contentDescription.
PiperOrigin-RevId: 195410650
2018-05-04 12:26:52 -04:00
cketcham
eb894ea951 Add work around for Chip accessibility focus bug
PiperOrigin-RevId: 193951526
2018-04-30 11:42:16 -04:00
cketcham
42144f3a7e Fix implementation of ExploreByTouchHelper for chips.
There is still a bug in ExploreByTouchHelper which will prevent accessibility focus again after the first time a chip gets focus.

PiperOrigin-RevId: 193393825
2018-04-30 11:31:25 -04:00
dniz
9ca33544ac Update package name to com.google.android.material
PiperOrigin-RevId: 193236235
2018-04-30 11:24:23 -04:00