242 Commits

Author SHA1 Message Date
Material Design Team
3c5f9f6cb0 Migrate CoordinatorLayout android support libraries to androidx
PiperOrigin-RevId: 248819271
2019-05-21 12:03:28 -04:00
leticiars
5f8f60457a Changing how password toggle end icon updates its checked state.
Now it will automatically change to checked or not checked depending if the EditText's transformation method is changed.

PiperOrigin-RevId: 248185643
2019-05-16 17:12:39 -04:00
Material Design Team
da51a6606b Migrate drawerlayout android support libraries to androidx.
PiperOrigin-RevId: 248016947
2019-05-16 12:46:41 -04:00
Material Design Team
54df381127 Migrate viewpager android support libraries to androidx.
PiperOrigin-RevId: 247499141
2019-05-16 12:39:13 -04:00
melaniegoetz
3560a3afb3 Allow Bottomsheet to settle to Half-expanded state on drag
PiperOrigin-RevId: 247061538
2019-05-07 17:28:56 -04:00
leticiars
8ba4383e2c Adding tests for the Exposed Dropdown Menu.
PiperOrigin-RevId: 246509842
2019-05-03 11:07:49 -04:00
connieshi
fc109fa13b Save badge states in BottomNavigationMenuView.
PiperOrigin-RevId: 245446090
2019-04-29 15:54:12 -07:00
ldjesper
8349219be3 Allow limiting of MaterialCalendar to a start and end month. Allow setting of an opening month.
PiperOrigin-RevId: 245269687
2019-04-29 15:41:49 -07:00
Material Design Team
2f3e1c4cf4 Add new MODE_AUTO setting for TabLayout. MODE_AUTO behaves like MODE_FIXED with GRAVITY_CENTER while the tabs fit in the content view. Once the tabs expand beyond the TabLayout width, the TabLayout behaves as MODE_SCROLLABLE.
PiperOrigin-RevId: 243852684
2019-04-19 21:21:27 -04:00
connieshi
7d8b2117a0 Automated g4 rollback of changelist 242675939
PiperOrigin-RevId: 242751222
2019-04-19 13:26:30 -04:00
connieshi
00ffe5eea8 Begin integrating BadgeDrawable into BottomNavigationView.
TODO:
- update javadocs to provide guidance on how to call Badging API.
- Save badge states.
- Support displaying badges when bottom navigation item doesn't show an icon.
PiperOrigin-RevId: 242675939
2019-04-19 13:21:35 -04:00
gauthams
b3793edd2c Add initial support for reading values in MotionSpec
PiperOrigin-RevId: 239298785
2019-03-22 17:00:03 -04:00
leticiars
2642ff2697 Adding support for TextInputLayout start icon. It can be set to be just a drawable or, if a OnClickListener is set to it, a button.
For that reason, users should opt to use the start icon API instead of setting a start/left compound drawable on the text field's edit text.

PiperOrigin-RevId: 238984066
2019-03-22 16:19:36 -04:00
Chris Banes
78054fe4ea AppBarLayout + WindowInset handling fixes
When AppBarLayout is used with a CollapsingToolbarLayout
child, it currently does not handle WindowInsets
very well. This commit fixes that by properly handling
insets.

The primary issue is when an AppBarLayout is used
with a single Toolbar (very common use case), where
the Toolbar will currently be displayed behind the status bar.

Another issue is with HeaderScrollingViewBehavior.
To workaround CoordinatorLayout using its 'compatible measuring'
for insets, the behavior manually sets the scrolling view to fit
system windows. This has other issues though because
that view will get padded in. Fixed by manually adding the insets
back into the measured dimensions.

Also updated the catalog layouts to make use of
android:fitsSystemWindows=true

Resolves https://github.com/material-components/material-components-android/pull/299

PiperOrigin-RevId: 238396626
2019-03-22 16:08:28 -04:00
Material Design Team
aae325e6b4 Migrate interpolator android support libraries to androidx.
PiperOrigin-RevId: 237401244
2019-03-08 10:11:23 -05:00
cketcham
271e6fe122 Fix flaky Snackbar tests
In some cases the snackbar would be dismissed by the timeout too quickly.

PiperOrigin-RevId: 237159440
2019-03-08 10:08:06 -05:00
leticiars
5236a03fc4 Refactoring text field unit tests to test icons separately. Also adding tests for the custom end icon.
PiperOrigin-RevId: 235002414
2019-02-24 14:28:36 -05:00
leticiars
4882a4f131 Adding clear text button end icon to TextInputLayout.
PiperOrigin-RevId: 234141273
2019-02-24 14:15:28 -05:00
leticiars
b860656e27 Fixing ErrorProne warnings "CharSequence does not have well-defined equals behavior" in TextInputLayoutTest.java
PiperOrigin-RevId: 233761090
2019-02-24 14:09:02 -05:00
leticiars
4c2e9c4004 Changing the TextInputLayout's password toggle implementation into a generic API implementation, which will allow for easier support of future end icons. Also deprecating current password toggle end icon methods and attributes.
This change doesn't include support of a custom end icon yet.

PiperOrigin-RevId: 233645798
2019-02-24 14:07:11 -05:00
dniz
11df79f95c Clean up Gradle build shorthands for appcompat/androidx libraries
PiperOrigin-RevId: 229369959
2019-01-18 14:13:26 -05: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
cketcham
dc72aaeed4 Migrate Gradle build and sources to androidx
PiperOrigin-RevId: 225551505
2018-12-21 11:07:45 -05:00
marianomartin
e192fbe3e0 Use round rect when possible in MSD
PiperOrigin-RevId: 218559377
2018-10-28 19:12:46 -04:00
connieshi
3c712cbe37 Add build target for MaterialComponentsViewInflater without depending on unused MDC components.
PiperOrigin-RevId: 216542656
2018-10-11 18:20:07 -04:00
cketcham
0527fe7d09 Fix MaterialShapeDrawable path so it is correctly convex on API 21 and 22
PiperOrigin-RevId: 214461440
2018-09-28 16:28:01 -04:00
connieshi
be53d4cc71 Remove unused annotations.
PiperOrigin-RevId: 213628667
2018-09-28 14:56:06 -04:00
cketcham
8005572bec Fix flakiness in BottomSheet test.
PiperOrigin-RevId: 212723389
2018-09-14 11:01:28 -04:00
Material Design Team
850795da31 Delegates CollapsingTextHelper text attributes processing to TextAppearance.
This removes duplication between the 2 implementations and automatically fixes font loading bug in CollapsingToolbarLayout & TextInputLayout. It has a side effect of changing font loading from sync to async but it shouldn't affect anyone since font loading wasn't really working in the first place. It may affect the UIs that were affected by the original bug though.

To alleviate possible "font flickering" due to async loading, CollapsingTextHelper defers the TextPaint changes until the font is actually loaded.

Another scenario the async loading would have an impact on is when the font is manually overwritten with CollapsingTextHelper.setTypeface() while async op is still ongoing. The result of async load would then overwrite the font back to the originally requested. This happens in TextInputLayout which overwrites its own font setting to this of its child whenever its added. This may happen before async op completes. To guard against that, any direct font setting automatically cancels the async load (cancels == ignores the result when it comes).

PiperOrigin-RevId: 212328671
2018-09-14 10:53:39 -04:00
Material Design Team
0801d0e05b Refactor test imports
PiperOrigin-RevId: 202796842
2018-07-02 11:28:27 -04:00
connieshi
d584f91ccc Resolve fonts asynchronously to avoid ANR.
Added flag to specify that fonts should be resolved synchronously for instrumentation tests.

PiperOrigin-RevId: 202033678
2018-07-02 09:37:14 -04:00
cketcham
8f7dc21a27 Add android:fontFamily to all text styles
This lets us support clients who can't or don't need to use AppCompatTextView. Using `android:fontFamily` will work for clients with min sdk >= 16.

PiperOrigin-RevId: 202032242
2018-07-02 09:26:47 -04:00
afohrman
1cad4007dc Roll forward box background fix.
PiperOrigin-RevId: 197041463
2018-05-17 19:45:46 -04:00
afohrman
4700966a38 Roll back box background changes.
PiperOrigin-RevId: 196762626
2018-05-16 11:49:37 -04:00
afohrman
e566a535ac Ensure box background is drawn behind other text field elements.
This commit:
- Moves the draw calls in TextInputLayout#draw to happen in a better order: now, the background is drawn first, then TextInputLayout and its children, then the hint. This prevents the box from drawing on top of other text field elements.
- Updates box background setters and getters to modify boxBackgroundColor instead of defaultBoxBackgroundColor.
- Adds a demo for filled box background color changes to the text field demo.

PiperOrigin-RevId: 196748102
2018-05-16 11:48:54 -04:00
dniz
e4c8535352 Remove backlayer and materialswitch
PiperOrigin-RevId: 195148145
2018-05-02 17:07:28 -04:00
afohrman
886853babb Use start/end for TextInputLayout attributes.
Change attributes, setters, getters, resources, and tests for corner radii and box padding to use start/end instead of left/right. The goal is to make TextInputLayout more RTL friendly; beforehand, RTL use cases would have to directly call padding and corner radii methods with RTL values. After this change, TextInputLayout will determine whether it is in RTL mode and apply the relevant attributes appropriately.

PiperOrigin-RevId: 193565849
2018-04-30 11:35:26 -04:00
dniz
9ca33544ac Update package name to com.google.android.material
PiperOrigin-RevId: 193236235
2018-04-30 11:24:23 -04:00
cketcham
a9180a5256 Remove reflection for CoordinatorLayout#getLastWindowInsets() as it is now public
PiperOrigin-RevId: 191601519
2018-04-17 15:51:14 -04:00
dniz
3ea78dd02b Fix CoordinatorLayout getLastWindowInsets() reflection
PiperOrigin-RevId: 191304626
2018-04-03 12:09:09 -04:00
dniz
3f6ba81d6e Remove library references to widget package
PiperOrigin-RevId: 191302154
2018-04-03 12:07:57 -04:00
dniz
910961412d Move Snackbar classes and resources from widget/internal to snackbar package
PiperOrigin-RevId: 191070265
2018-04-03 12:04:39 -04:00
dniz
0bc8f38d8a Automated g4 rollback of changelist 190996602
PiperOrigin-RevId: 191011241
2018-04-03 12:03:30 -04:00
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
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
dniz
c31ef1f1d7 Update Gradle and Maven configurations
PiperOrigin-RevId: 183872033
2018-03-02 14:58:51 -05:00
afohrman
ec18befe2d Delete shifting mode in favor of label visibility mode.
PiperOrigin-RevId: 182431135
2018-01-25 18:10:56 -05:00
travisc
0f29cbf042 Make widget its own package, change lib into a pure export package.
This also moves expandable and transformation into their own packages, as was originally intended (but they had resources, which was problematic at that time). CoordinatorLayout has been moved out of the typical source root to ease its later deletion (when it has made it into core-ui).

PiperOrigin-RevId: 180728823
2018-01-11 11:08:30 -05:00