On S, it seems like the framework has a different behavior of applying themes/styles on the decor view theme. Catalog's theme overlay applying logic didn't take care of the implication of the decor view theme, somehow this causes the Material themes are not applied to decor views at all, when a theme overlay is applied.
We've solved the similar issue with the dynamic color implementation. Applies the same fix on catalog to fix this issue.
Resolves https://github.com/material-components/material-components-android/issues/2682
PiperOrigin-RevId: 511254476
Calculating end scroll offset was using the distance between the last child and the last focal keyline. When the last child came before the last keyline, an unexpected scroll offset was returned. This also adds a dropdown to the catalog demo to allow setting the number of items in the carousel.
PiperOrigin-RevId: 508739119
By default bottom sheets will add paddings at the bottom of its content to account for the navigation bar insets in edge-to-edge mode. However in the case of bottom sheet with a scrollable content, this actually creates inconsistent or at its best confusing behavior - with a plain bottom sheet, the content will be shown behind the navigation bar if you can still scroll down, but with scrollable content, whenever the bottom sheet is fully expanded, the bottom padding shows and cut the scrollable content.
It's debatable which behavior is better. But in our catalog demo I feel we can demonstrate how to do that if clients prefer a less confusing behavior, i.e., only when there's no more content to scroll, the bottom padding shows.
Resolves https://github.com/material-components/material-components-android/issues/3173
PiperOrigin-RevId: 508468196
Note: android:windowSoftInputMode="adjustResize" is required in order for inset animation API to propagate the correct values, otherwise this is a no-op. This change also updates the M3 modal Bottom Sheet themes / theme overlays to use adjustResize by default (can still be overridden by the client).
PiperOrigin-RevId: 508351766
This removes CenteredCarouselConfigration and its superclass MultibrowseCarouselConfiguration and renames StartCarouselConfiguration to MultiBrowseCarouselConfiguration.
PiperOrigin-RevId: 506424085
Added logic for an innerMargin to SideSheetBehavior and delegates and incorporated innerMargin into the sheet offset calculations to account for the extra spacing and avoid a jump when dragging the sheet to STATE_EXPANDED.
Also added a colored background to the catalog demo in order to see the corners of the sheet.
PiperOrigin-RevId: 495701453
The coplanar sheet catalog demo was missing an explicit style definition, which was causing some attributes like the background to display improperly.
PiperOrigin-RevId: 494217653
This speeds up our development process and enhances the user experience of our catalog.
Also added a bottom line to the last row of boxes in the table of contents grid in order to avoid this visual breakage when the grid does not fill up the screen: screenm/9V8HPkufqM9BkVc.png. Previously, GridDividerDecoration avoided drawing the bottom line of the grid in the last row of the grid, but now that there can be less boxes than the screen size it's important to handle that case.
PiperOrigin-RevId: 465643774