In support library we hit the issue, that we run out of fields numbers.
It happens due to R files that duplicate reference on the resources.
PiperOrigin-RevId: 188043913
This change allows the BottomAppBar to not show a cutout if the FAB is not anchored to it using the CoordinatorLayout anchorId, or if the FAB is not visible. This change also allows the BottomAppBar to listen to show/hide animation changes so it can synchronize its animation to hide and show the cradle with the animation to hide and show the FAB.
PiperOrigin-RevId: 188024600
Make the CutoutDrawable draw itself in the correct bounds when in RTL mode. This involves changing CollapsingTextHelper#getCollapsedTextActualBounds to return bounds that account for RTL.
PiperOrigin-RevId: 185916657
Set cutout bounds in onLayout to make sure that they're set by the time the first draw happens. This fixes an issue where the CutoutDrawable was drawn with incorrect bounds if setText was called on the TextInputEditText before it was laid out, by ensuring that the cutout bounds are set before the first draw pass.
PiperOrigin-RevId: 185877643
Adds an itemIconSize attribute, setters, getters, and tests to BottomNavigationView, as well as a Catalog demo for icon size with a slider.
PiperOrigin-RevId: 185609075
Separate attributes allows components to directly reference a color in the tonal palette in its resources.
Otherwise, the implications of these attributes is the same as the previous color arrays.
PiperOrigin-RevId: 184764971
And add attributes to it.
None of these attributes were in widget's public_attrs, with the exception of menu. I'm not removing menu from widget's public_attrs, since NavigationView also uses that attribute.
Related side note: Before the package migration for bottomnavigation, BottomNavigationView used attributes declared by NavigationView, but for the package move, I made them standalone attributes to avoid creating circular dependencies. After cl/183574402 goes in, I'm going to consider making bottomnavigation depend on navigationview, and using NavigationView's attrs for BottomNavigationView.
PiperOrigin-RevId: 184201928
Move the call to invalidate() to happen after the box attributes are applied to the text box instead of once the attribute value is assigned to its field. This also required moving the call to applyBoxAttributes() from draw() for performance reasons, since applyBoxAttributes() was asking to be redrawn from inside the draw method.
This fixes the broken change color button in the text fields demo. Before, it only changed the color once drawableStateChanged() was called - now, it changes immediately.
PiperOrigin-RevId: 184138044