10 Commits

Author SHA1 Message Date
haodong
f91a1eba99 Revert "[ChipGroup] Fix ChipGroup.getCheckedChipIds() returns wrong state"
This reverts commit 0356d7c391c4aa64e54a5aa398d58def673d0114.
2022-05-25 13:04:44 -07:00
conradchen
0356d7c391 [ChipGroup] Fix ChipGroup.getCheckedChipIds() returns wrong state
In the Chip implementation, onCheckedChangeListener was called before onCheckedChangeListenerInternal. This causes an issue that in onCheckedChangeListener's callback, the checkable group's checked state is not updated yet, therefore ChipGroup.getCheckedChipIds() will return the outdated checked state.

Fixes this by overriding Chip.setOnCheckedChangeListener to get full control of the execution order between onCheckedChangeListener and onCheckedChangeListenerInternal.

Resolves https://github.com/material-components/material-components-android/issues/2691

PiperOrigin-RevId: 449100861
(cherry picked from commit 413a0479574b66be74f42bf9e8a11e1245c72a09)
2022-05-25 10:55:56 -07:00
cketcham
0547d2a06b Uncouple CornerSize from CornerTreatment
This allows for more easily updating the CornerSize independently from the CornerTreatment and makes it possible to create different types of CornerSizes such as percentage based corners. However, this means corner sizes can be different depending on the bounds of the shape, so the bounds need to be provided. MaterialShapeDrawable has bounds and the ShapeAppearanceModel, so there are new convenience methods there which return the current corner size for the current bounds of the drawable.

PiperOrigin-RevId: 272908508
2019-10-04 15:23:16 -04:00
cketcham
7bb525ff59 Update usages of ShapeAppearanceModel to use Builder pattern
PiperOrigin-RevId: 266144471
2019-08-29 15:39:51 -04:00
cketcham
ca91442ba2 Add builder to ShapeAppearanceModel
PiperOrigin-RevId: 265806696
2019-08-29 12:21:55 -04:00
marianomartin
238c15759f Migrating to roboelectric 4.1
We were in 3.3.2 so doing a few changes from:
http://robolectric.org/migrating/

- Replaced RuntimeEnvironment.application with ApplicationProvider#getApplicationContext()
- Added android.enableUnitTestBinaryResources=true
   This throws a warning but the release notes say that it can be safely ignored and will
   be fixed in Gradle Plugin 3.4
- Removed @Config(manifest=...) from test
- Added dependencies.
- Added tools:overrideLibrary="androidx.test.core" to use a lower sdk

PiperOrigin-RevId: 226190528
2018-12-21 11:26:40 -05:00
isabellekim
8c272706e8 Adding test to ensure that calling ShapeAppearanceModel.setCornerRadius doesn't change other ShapeAppearanceModels.
PiperOrigin-RevId: 221438763
2018-11-16 11:50:29 -05:00
cketcham
3de44ca7ac Add shapes theming infrastructure.
Add shapeAppearance and shapeAppearanceOverlay attributes. These attributes combine to support shapes theming. ShapeAppearance is modeled after TextAppearance. A shapeAppearance attribute contains a style reference that is meant to be defined at the theme level. Since changing anything defined in the shapeAppearance would clobber everything else in the ShapeAppearance, the shapeAppearanceOverlay attribute is provided for clients to modify the shapeAppearance.

PiperOrigin-RevId: 215273652
2018-10-02 14:53:40 -04:00
Material Design Team
a681567504 Automated g4 rollback of changelist 215242636
PiperOrigin-RevId: 215260729
2018-10-02 14:52:47 -04:00
cketcham
432b46cc83 Add shapes theming infrastructure.
Add shapeAppearance and shapeAppearanceOverlay attributes. These attributes combine to support shapes theming. ShapeAppearance is modeled after TextAppearance. A shapeAppearance attribute contains a style reference that is meant to be defined at the theme level. Since changing anything defined in the shapeAppearance would clobber everything else in the ShapeAppearance, the shapeAppearanceOverlay attribute is provided for clients to modify the shapeAppearance.

PiperOrigin-RevId: 215242636
2018-10-02 14:21:40 -04:00