70 Commits

Author SHA1 Message Date
dniz
85b2b08aec Move Snackbar classes and resources from widget/internal to snackbar package
PiperOrigin-RevId: 190996602
2018-04-03 12:02:29 -04:00
cketcham
a87d71a4ae Move components out of widget
PiperOrigin-RevId: 190828084
2018-04-03 11:55:32 -04:00
dniz
ade4df00cb Change Gradle build to output single Maven artifact
PiperOrigin-RevId: 190774454
2018-04-03 11:49:01 -04:00
gauthams
45c73bffb0 Only propagate tabIconTint and tabIconTintMode to default icon views, not to custom icon views.
PiperOrigin-RevId: 190546523
2018-04-03 11:47:25 -04:00
Material Design Team
e677734c9f Adds setHelperTextColor() and setErrorTextColor() to TextInputLayout so that colors can be set directly without using text appearance in resource files.
PiperOrigin-RevId: 190117856
2018-04-03 11:46:57 -04:00
Material Design Team
6f9d059ab5 Fix a live crash bug caused by a NullPointerException in BottomSheetBehavior.
PiperOrigin-RevId: 189730590
2018-04-03 11:45:25 -04:00
cketcham
b3494e18c0 Add option to hide BottomAppBar on scroll
PiperOrigin-RevId: 189632650
2018-04-03 11:44:44 -04:00
Material Design Team
aab05a3e92 Improve scrolling of HideBottomViewOnScrollBehavior
PiperOrigin-RevId: 189228089
2018-04-03 11:43:48 -04:00
Material Design Team
7363fa5210 Support setting hint text colors in TextInputLayout.
PiperOrigin-RevId: 188822351
2018-03-15 10:57:37 -04:00
Material Design Team
0100f31585 Automated g4 rollback of changelist 188751614
PiperOrigin-RevId: 188794252
2018-03-12 19:34:02 -04:00
Material Design Team
16fb95014d Update TextInputLayout to support setting the default and hint text colors.
This is necessary to support changing hint text color at runtime when the color is not already stored as a resource.

PiperOrigin-RevId: 188751614
2018-03-12 19:28:35 -04:00
gauthams
8dbb9b24a2 Add snackbarButtonStyle attribute
PiperOrigin-RevId: 188410794
2018-03-12 12:57:07 -04:00
gauthams
320b5b38d3 Fix crash in BottomSheetBehavior
PiperOrigin-RevId: 188410031
2018-03-12 12:56:46 -04:00
dniz
5014817935 Update AppBarLayout Behavior to support snapping to child view's margins
PiperOrigin-RevId: 188368805
2018-03-12 12:55:50 -04:00
cketcham
50e96399fa Handle BottomAppBar with no FAB
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
2018-03-12 12:54:31 -04:00
Material Design Team
1bd0b7f129 Automated g4 rollback of changelist 187953030
PiperOrigin-RevId: 187959742
2018-03-12 12:54:16 -04:00
gauthams
b7d57944ef Add snackbarButtonStyle attribute
PiperOrigin-RevId: 187953030
2018-03-12 12:54:01 -04:00
gauthams
68f703ffba Add tab indicator animation duration attribute, and set it for our tab styles
PiperOrigin-RevId: 187663452
2018-03-12 12:53:24 -04:00
gauthams
70ab609d74 Tab indicator should match width of entire custom view, if provided, not just custom text and icon view
PiperOrigin-RevId: 187236554
2018-03-12 12:52:35 -04:00
cketcham
9b8f69d5ef Automated g4 rollback of changelist 186476270
PiperOrigin-RevId: 186498341
2018-03-12 12:45:36 -04:00
Material Design Team
8a9e021c44 Automated g4 rollback of changelist 186467179
PiperOrigin-RevId: 186476270
2018-03-12 12:45:14 -04:00
cketcham
b8e1399b6f Add default component style for BottomAppBar
This commit also fixes the style for Dark Theme and adds the BottomAppBar demo to the catalog.

PiperOrigin-RevId: 186467179
2018-03-12 12:44:52 -04:00
afohrman
751e6c1e70 Use design_error instead of error_color_material.
PiperOrigin-RevId: 186458565
2018-03-12 12:44:38 -04:00
afohrman
9e39c9f06f Set default style for TextInputLayout in constructor.
PiperOrigin-RevId: 186339747
2018-03-12 12:42:42 -04:00
afohrman
e8c48d8692 Add helper text to onPopulateAccessibilityEvent.
And make helper text be read out after the label/hint is read out in TalkBack.

PiperOrigin-RevId: 185995405
2018-03-12 12:42:22 -04:00
afohrman
deb50914cb Support RTL for cutout.
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
2018-03-12 12:41:31 -04:00
afohrman
73338efbe0 Set CutoutDrawable bounds before the first draw.
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
2018-03-12 12:41:13 -04:00
cketcham
f9e2f23b3c Add BottomDrawer component which allows for easily showing content from the bottom of the screen.
PiperOrigin-RevId: 185863597
2018-03-12 12:40:54 -04:00
Material Design Team
c9e56c9959 Create a new default style for NavigationView and move the existing Design style to new package.
PiperOrigin-RevId: 185658659
2018-03-12 12:39:42 -04:00
afohrman
613eaea7be Add icon size attribute and demo to bottom nav.
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
2018-03-12 12:39:06 -04:00
afohrman
f3d9a07b1f Add default bottom nav component style attribute in BottomNavigationView constructor.
PiperOrigin-RevId: 185562589
2018-03-12 12:38:48 -04:00
afohrman
490f7f9595 Automated g4 rollback of changelist 185533755
PiperOrigin-RevId: 185543163
2018-03-12 12:38:33 -04:00
afohrman
85952c42a3 Use default style in TIL and bottom nav constructors.
PiperOrigin-RevId: 185533755
2018-03-12 12:38:16 -04:00
markwei
84fd72dc03 Rollback changes to BaseTransientBottomBar.
PiperOrigin-RevId: 184595279
2018-03-12 12:33:16 -04:00
dniz
a20a281ffe Revert expandable dependency in widget to be implementation again
PiperOrigin-RevId: 184529100
2018-03-12 12:32:56 -04:00
gauthams
d1c2b6249b Add tabStyle theme attribute for tab layout style
PiperOrigin-RevId: 184359499
2018-03-12 12:32:38 -04:00
dniz
c84e325c0d Make expandable dependency api instead of implementation in widget
PiperOrigin-RevId: 184289220
2018-03-12 12:27:56 -04:00
afohrman
ff91999cd8 Create public_attrs for textfield.
And move attributes from widget's public_attrs to it. Also add some attributes that weren't in public_attrs yet.

PiperOrigin-RevId: 184201597
2018-03-02 15:40:11 -05:00
afohrman
677f4abe84 Invalidate after applying box attributes instead of after assigning them.
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
2018-03-02 15:38:18 -05:00
markwei
2e2c348e6f Add new enforceMaterialTheme attribute that you can set in any style to denote that the style uses a new attribute that must exist in the app theme.
Update ThemeEnforcement to read this new attribute, and check for Material theme.
Change the ThemeEnforcement API to replace Context#obtainStyledAttributes().

See followup CL for how this attribute is used.

PiperOrigin-RevId: 184074635
2018-03-02 15:36:20 -05:00
gauthams
caab267a86 Add all new tabs attributes to public_attrs.xml
PiperOrigin-RevId: 184055361
2018-03-02 15:34:17 -05:00
gauthams
809bf757a5 Workaround for tab indicator tinting on API 21
PiperOrigin-RevId: 183910609
2018-03-02 15:32:45 -05:00
gauthams
3c05304f4e Create package for tabs resources.
This commit creates a tabs package for resources related to tabs. It does not move TabLayout to this package, since that would break current users.

PiperOrigin-RevId: 183893754
2018-03-02 15:04:21 -05:00
dniz
c31ef1f1d7 Update Gradle and Maven configurations
PiperOrigin-RevId: 183872033
2018-03-02 14:58:51 -05:00
afohrman
8ce02fd5ef Move bottom nav resources to bottomnavigation package.
And update bottomnavigation/build.gradle.

Also removes attribute dependencies on NavigationView, in order to avoid circular dependencies and/or creating a new package for NavigationView.

This is in preparation for adding a component style attr for bottom nav.

PiperOrigin-RevId: 183435857
2018-03-02 14:55:43 -05:00
Yuichi Araki
a9717cf6b8 Fix uses of deprecated API in BottomSheetBehavior
This fixes BottomSheetBehavior implementation and remove uses of
deprecated APIs. The APIs are mainly about nested scrolling related to
inertia scrolling by nested fling.

This CL does not change the behavior. The inertia scrolling by nested
fling is not enabled. For that, we will have to change the way we use
ViewDragHelper, and let nested fling handle the inertia scrolling.

Bug: 70912761
Test: Existing tests (BottomSheetBehaviorTest, BottomSheetDialogTest)
Change-Id: Iaea50056ed253131c7920f703136d30e73918756
PiperOrigin-RevId: 183276945
2018-01-25 18:25:54 -05:00
afohrman
ed039479e5 Create package for text field resources.
This commit creates a textfield package for resources related to text fields. It does not move TextInputLayout to this package, since that would break current users.

There's a small unrelated change included in this move: drawable-v21/design_bottom_navigation_item.xml was not moved along with its compat counterpart when it was moved recently, so I moved it while I was moving things around.

PiperOrigin-RevId: 183101110
2018-01-25 18:23:54 -05:00
travisc
04bf0a7c42 Move themes into theme package, invert dependency structures around components.
Previously [most of] the components were either in `widget` or depended on it,
and all theme-related resources (attributes, styles, etc.) were placed there.
This structure doesn't really work for our goals, and makes it harder to split
components by functional area. In this commit, I move all the theme definitions
to `theme` (as well as `dialog` and `bottomsheet` since they also have relevant
themes, and splitting them into separate packages is the only way to make the
dep tree non-circular). Component packages declare their own theme attributes
(e.g. `chip` declares all the theme attributes necessary for chips), as well as
styles, colors, dimens, drawables, etc.

This move isn't entirely complete in this commit, but it is enough to get
things building with this setup. I'll move the rest of the components' resources
in follow-up commits.

PiperOrigin-RevId: 182611275
2018-01-25 18:12:31 -05:00
gauthams
d0431c72df Add unbounded ripple attribute to TabLayout
PiperOrigin-RevId: 182458105
2018-01-25 18:12:07 -05:00
afohrman
ec18befe2d Delete shifting mode in favor of label visibility mode.
PiperOrigin-RevId: 182431135
2018-01-25 18:10:56 -05:00