72 Commits

Author SHA1 Message Date
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
dniz
a0e14d8d7c Fix MaterialButton Gradle build
PiperOrigin-RevId: 185464986
2018-03-12 12:37:57 -04:00
markwei
44236706b5 Use app:fontFamily instead of android:fontFamily to support pre-16 devices.
PiperOrigin-RevId: 184906896
2018-03-12 12:37:33 -04:00
gauthams
df0abdb151 Automated g4 rollback of changelist 184658131
PiperOrigin-RevId: 184894533
2018-03-12 12:37:05 -04:00
markwei
62d6866220 Change tonal palette representation in theme from color array, to separate color attributes.
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
2018-03-12 12:36:43 -04:00
Material Design Team
0534bfb96a Automated g4 rollback of changelist 184611618
PiperOrigin-RevId: 184658131
2018-03-12 12:35:05 -04:00
gauthams
f602bc975f Update button to support tinting and backwards compatibility with AppCompatButton
PiperOrigin-RevId: 184611618
2018-03-12 12:34:13 -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
3124f7dc3e Create public_attrs for bottomnavigation.
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
2018-03-12 12:27:13 -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
dniz
d001961fdf Fix ThemeEnforcement Gradle build
PiperOrigin-RevId: 184185845
2018-03-02 15:39:20 -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
fa7451003b Remove tabsUnboundedRipple attribute from public_attrs
PiperOrigin-RevId: 184059431
2018-03-02 15:34:47 -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
2ee17ed2e5 Parent Theme.Design* with Theme.AppCompat instead of Theme.MaterialComponents.
Previously, Theme.Design inherited from Theme.MaterialComponents, which would have resulted in an automatic update to Theme.MaterialComponents. Now, users will have to opt in to Theme.MaterialComponents to get the new theme.

Also add in DesignTheme attributes that were deleted and attributes that were set in Theme.Design*.

PiperOrigin-RevId: 183716471
2018-03-02 14:58:01 -05:00
afohrman
e889e00bbe Add component style attr for bottom nav.
And set it to the default bottom nav style in the theme.

PiperOrigin-RevId: 183440985
2018-03-02 14:57:15 -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
travisc
74a2daf258 Add custom view inflater class for Material Components.
As of this commit, this is empty, but will be filled out with the various
widget classes in future commits.

PiperOrigin-RevId: 183425311
2018-03-02 14:54:45 -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
357e2dca90 Make the default TextInputLayout style a base style.
That way, users will have to depend on one of the box styles directly. Before, anyone that used Widget.MaterialComponents.TextInputLayout would have gotten an outline text field, which is not implied by the style name.

This commit also includes a slight reformat to make sure that style items that don't fit on one line are properly formatted.

PiperOrigin-RevId: 183130385
2018-01-25 18:24:50 -05:00
afohrman
cbc5d7fb0e Create component style attribute for text input.
And assign it to the right defaults in the theme.

Since text fields is in the widget package, . I put the attr declaration in widget/../attrs.xml right on top of the theme. If text fields is ever pulled into its own package, this attribute will be moved along with the rest of TextInputLayout's attributes.

PiperOrigin-RevId: 183125979
2018-01-25 18:24:26 -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
gauthams
f93f5abe17 Update chip background and stroke drawing to no longer draw background outside stroke
PiperOrigin-RevId: 183033077
2018-01-25 18:23:20 -05:00
dcarlsson
d2736442f2 Update how MaterialCardView sets the card background.
Provide a materialCardView theme attribute to fix conflicts with the existing cardView
theme attribute.

PiperOrigin-RevId: 183031703
2018-01-25 18:22:32 -05:00
markwei
35261ca224 Rename base Chip style Base.Widget.MaterialComponents.Chip.
PiperOrigin-RevId: 183026249
2018-01-25 18:21:57 -05:00
Material Design Team
6404d1badf Fix RTL outBounds on material chip
PiperOrigin-RevId: 182831674
2018-01-25 18:17:04 -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
gauthams
abc9555ba5 Update button style names
PiperOrigin-RevId: 182446238
2018-01-25 18:11:50 -05:00
gauthams
51dc22478a Initialize BottomNavigationMenuView correctly in BottomNavigationPresenter
PiperOrigin-RevId: 182432827
2018-01-25 18:11:27 -05:00
afohrman
ec18befe2d Delete shifting mode in favor of label visibility mode.
PiperOrigin-RevId: 182431135
2018-01-25 18:10:56 -05:00
afohrman
f909ab4d9e Rename text input resource prefixes from design -> mtrl.
These dimensions were added before we changed the naming scheme for new resources.

PiperOrigin-RevId: 182426105
2018-01-25 18:09:39 -05:00
gauthams
7de8926953 Update default inset value for button component
PiperOrigin-RevId: 182314895
2018-01-25 18:09:22 -05:00
gauthams
1d45586a1c Update button tinting to support ViewCompat.setBackgroundTintList()
PiperOrigin-RevId: 182294606
2018-01-25 18:09:04 -05:00
Material Design Team
8f04338501 Automated g4 rollback of changelist 182118849
PiperOrigin-RevId: 182245219
2018-01-25 18:08:00 -05:00
gauthams
7042ac6663 Update button tinting to support ViewCompat.setBackgroundTintList()
PiperOrigin-RevId: 182118849
2018-01-16 18:27:17 -05:00
afohrman
1967141098 Add active text appearances to bottom nav.
To support different font weights and other text attributes for active and inactive TextViews, the bottom nav now takes two separate text appearances, one for the active TextView, and one for the inactive TextView. This creates more complexity for how the ColorStateList for textColor is handled, and there were a couple of alternatives considered, but this seems to be the most elegant solution to a unique set of requirements.

The text size attributes introduced in the last commit are deleted. They were only necessary as an interim solution for text sizes, to keep the active and inactive labels from jumping to the wrong sizes.

PiperOrigin-RevId: 182054036
2018-01-16 16:15:01 -05:00
markwei
e26a690572 Add letter spacing to typographic styles.
PiperOrigin-RevId: 181810134
2018-01-16 16:13:58 -05:00
dniz
7825a4f80f Fix Chip and MaterialSwitch lint issues
PiperOrigin-RevId: 181742611
2018-01-12 11:37:02 -05:00
Material Design Team
5643af73b3 Automated g4 rollback of changelist 181541883
PiperOrigin-RevId: 181544129
2018-01-11 11:26:20 -05:00
dcarlsson
4c1f422765 Update how MaterialCardView handles background color.
PiperOrigin-RevId: 181541883
2018-01-11 11:26:00 -05:00
markwei
977f529a4d Add typography style TextAppearances and demo.
PiperOrigin-RevId: 181534940
2018-01-11 11:25:33 -05:00