2022-03-08
Compose Animation: v1.2.0-alpha05
March 9, 2022
androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05, and androidx.compose.animation:animation-graphics:1.2.0-alpha05 are released. Version 1.2.0-alpha05 contains these commits.
API Changes
- Hooray! Compose animation now supports 'Animator duration scale' setting from Developer Options. (I5a4fc, b/161675988)
Compose Compiler: v1.2.0-alpha05
March 9, 2022
androidx.compose.compiler:compiler:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.
Compose Foundation: v1.2.0-alpha05
March 9, 2022
androidx.compose.foundation:foundation:1.2.0-alpha05 and androidx.compose.foundation:foundation-layout:1.2.0-alpha05 are released. Version 1.2.0-alpha05 contains these commits.
API Changes
LazyVerticalGridandLazyHorizontalGridare now stable. (I307c0)LazyGridItemInfo.Unknownwas replaced with separateLazyGridItemInfo.UnknownRowandLazyGridItemInfo.UnknownColumn(I56d51)LazyVerticalGrid/LazyHorizontalGridand all related apis were moved into.gridsubpackage. Please update your imports fromandroidx.compose.foundation.lazytoandroidx.compose.foundation.lazy.grid. (I2d446, b/219942574)- Text:
includeFontPaddingis now turned off by default. The clipping issues as a result ofincludeFontPadding=falseis handled and no clipping should occur for tall scripts. (I31c84, b/171394808) - Measured interface now exposes parentData property (I3313f)
- Introduced experimental
Modifier.onFocusedBoundsChangedto allow observing the bounds of child focusables. (I14283, b/220030968, b/190539358, b/192043120, b/216842427) - LazyHorizontalGrid was added. (I61ae7, b/191238807)
- Added a new
LazyVerticalGridAPI to define cross axis sizes (I17723) - Added FocusGroup modifier (I64bc0, b/213508274, b/184670295)
Bug Fixes
WindowInsets.toString()will now show the correct values. (I1585d)
External Contribution
- Updated to use Kotlinx coroutines 1.6.0 (I3366d)
Compose Material: v1.2.0-alpha05
March 9, 2022
androidx.compose.material:material-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.
API Changes
LazyVerticalGridandLazyHorizontalGridare now stable. (I307c0)LazyVerticalGrid/LazyHorizontalGridand all related apis were moved into .grid subpackage. Please update your imports from androidx.compose.foundation.lazy to androidx.compose.foundation.lazy.grid. (I2d446, b/219942574)- Reverted previous change of relying solely on a View for
WindowInsetsControllerCompat, and again require a Window which is required for managing some window flags. DeprecatedViewCompat.getWindowInsetsControllerin favor ofWindowCompat.getInsetsControllerto ensure that the correct Window is used (such as if the View is in a dialog). (I660ae, b/219572936) - Text:
includeFontPaddingis now turned off by default. The clipping issues as a result ofincludeFontPadding=falseis handled and no clipping should occur for tall scripts. (I31c84, b/171394808) - Added a new
LazyVerticalGridAPI to define cross axis sizes (I17723)
Compose Material 3: v1.0.0-alpha07
March 9, 2022
androidx.compose.material3:material3:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.
API Changes
- Updates to Material 3 Surface API that brings back the overloaded functions for clickable Surfaces, as well as adding a function to support selectable and toggleable Surfaces. (I4bf18)
LazyVerticalGridandLazyHorizontalGridare now stable. (I307c0)LazyVerticalGrid/LazyHorizontalGridand all related apis were moved into .grid subpackage. Please update your imports from androidx.compose.foundation.lazy to androidx.compose.foundation.lazy.grid. (I2d446)- Reverted previous change of relying solely on a View for
WindowInsetsControllerCompat, and again require a Window which is required for managing some window flags. DeprecatedViewCompat.getWindowInsetsControllerin favor ofWindowCompat.getInsetsControllerto ensure that the correct Window is used (such as if the View is in a dialog). (I660ae, b/219572936) - Added a new
LazyVerticalGridAPI to define cross axis sizes (I17723)
Bug Fixes
- Updates to the Card API to follow changes at the Surface API (I3c8b9)
Compose Runtime: v1.2.0-alpha05
March 9, 2022
androidx.compose.runtime:runtime-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.
External Contribution
- Updated to use Kotlinx coroutines 1.6.0 (I3366d)
Compose UI: v1.2.0-alpha05
March 9, 2022
androidx.compose.ui:ui-*:1.2.0-alpha05 is released. Version 1.2.0-alpha05 contains these commits.
API Changes
TextToolbarnow takes lambda arguments instead ofActionCallback. (Ib2eb9, b/197950089)- Updated nullability in core and appcompat to match Tiramisu DP2 (I0cbb7)
- Measured interface now exposes parentData property (I3313f)
Modifier.onPlacedand theOnPlacedModifierinterface are now stable. (Ib5482)- Hooray! Compose animation now supports 'Animator duration scale' setting from Developer Options. (I5a4fc, b/161675988)
- Added a
BeyondBoundsLayoutmodifier local (If8b51, b/184670295) - Text: includeFontPadding is now turned off by default. The clipping issues as a result of
includeFontPadding=falseis handled and no clipping should occur for tall scripts. (I31c84, b/171394808)
Bug Fixes
ComposeContentTestRule.setContentwill now throw anIllegalStateExceptionif you try to set content when there already is content. (I888a5, b/199631334)- Fix crash caused by clipboard content while reading from clipboard on Android. (I06020, b/197769306)
- Improve RSB scrolling samples. (I6a596)
External Contribution
- Updated to use Kotlinx coroutines 1.6.0 (I3366d)
Games-Memory-Advice version 1.0.0: v1.0.0-beta01
March 9, 2022
androidx.games:games-memory-advice:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
- No changes since 1.0.0-alpha01.
Lifecycle: v2.5.0-alpha04
March 9, 2022
androidx.lifecycle:lifecycle-*:2.5.0-alpha04 is released. Version 2.5.0-alpha04 contains these commits.
API Changes
SavedStateHandlenow offers agetStateFlow()API that returns a KotlinStateFlowfor monitoring value changes as an alternative to usingLiveData. (Iad3ab, b/178037961)
Mediarouter: v1.3.0-beta01
March 9, 2022
androidx.mediarouter:mediarouter:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
- No changes since the last alpha release.
Paging: v3.1.1
March 9, 2022
androidx.paging:paging-*:3.1.1 is released. Version 3.1.1 contains these commits.
Bug Fixes
- Removed intermediate
LoadState.NotLoadingevents between generations that were incorrectly inserted by.cachedIn(). This change makes it much easier to react onLoadStatechanges by removing redundantLoadState.NotLoadingevents that were produced between retrying failed loads, when refreshing or during invalidation.
Wear Ongoing & Interactions: v1.1.0-alpha03
March 9, 2022
androidx.wear:wear-phone-interactions:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
Bug Fixes
redirectUrlfromOAuthRequestnow returns an empty String if there the redirect URL is not set in the given request URL. (I44242)
Wear Compose: v1.0.0-alpha18
March 9, 2022
androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18, and androidx.wear.compose:compose-navigation:1.0.0-alpha18 are released. Version 1.0.0-alpha18 contains these commits.
API Changes
- Several improvements to PositionIndicator: ShowResult renamed PositionIndicatorVisibility. Some performance improvements to avoid recomputations when not needed (Iaed9d)
- The recommended coloring for the
SplitToggleChiphas been updated. SplitToggleChip's now have a solid colored background when checked or unchecked with the coloring of the ToggleControl being the primary indication of whether the component is checked or not. We have added a newToggleDefaults.splitToggleChipColors()to support the new color scheme. We have also simplified thetoggleChipColors()methods removing the splitBackgroundOverlayColor (I7e66e) - We have added unadjustedSize to the
ScalingLazyListItemInfoas it is not safe to calculate the original item size using the scaled size and scaling factor due to float maths precision. (I54657, b/221079441) - Add
HorizontalPageIndicator. It represents a total number of pages and a selected page. Might be linear or curved, depending on the shape of the device. It also supports custom indicator shape, which defines how each indicator is visually represented. (Iac898) - We have updated
PickerStateso that the numberOfOptions can be updated. This supports use-cases such as aDatePicker, when the number of days in the month changes depending on the month selected. The constructor parameter for PickerState has changed to initialNumberOfOptions accordingly. (Iad066) - Hide the
PositionIndicatorwhen is a scrollbar and can't scroll. (Id0a7f) - For consistency with Scaffold, our full-screen Dialog component now displays a
PositionIndicatorand aVignette. We are also now usingScalingLazyColumninstead ofColumn, which means that the Dialog contents are now inScalingLazyListScope(and typically need to be enclosed by item { /* content */ }). Dialog supports the verticalArrangement parameter accordingly. (Idea13) - We have changed the name of
ToggleChipandSplitToggleChiptoggleIcon property to toggleControl to better align with Material Design in order to help designers and developers navigate the API. (If5921, b/220129803) - We have added a new entry caption3 to the Wear Material Theme Typology.Caption3 is a small font used for the extra long-form writing like legal texts. (I74b13, b/220128356)
Bug Fixes
- Stop the snapping animation when we are there. (Idb69d)
- Animate changes in PositionIndicator. (I94cb9)
- Based on UI/UX feedback we have changed the
ScalingLazyColumnautoCentering so that it will provide only enough space to make sure the items with indexScalingLazyListState.initialCenterItemIndexor higher will be able to be fully scrolled to the center of the viewport. This allows developers to place one or two items about the item initially in the center which are not scrollable into the middle. This will mean that an autoCenter'ingScalingLazyColumnwill not be able to scroll above theinitialCenterItemIndex/initialCenterItemScrollOffset(I22ee2) - We have added a demo for a Date Picker and fixed a bug in
PickerStatewhere the initiallySelectedOption was not applied until the Picker had been displayed. (Id0d7e) - In order to reduce the clipping of wider
ScalingLazyColumnitems on circular screens we have increased the default horizontal content padding from 8 to 10 dp. (I0d609) - Ensure the
PositionIndicatoris shown when scrolling. (Ied9a2)
Wear Watchface: v1.1.0-alpha04
March 9, 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
API Changes
- Up to date
ComplicationDatamay not always be available (e.g. expired cached ComplicationData) so we've extendedNoDataComplicationwith an optional placeholder ComplicationData and addedComplicationText.PLACEHOLDER,MonochromaticImage.PLACEHOLDER,SmallImage.PLACEHOLDER,PhotoImage.PLACEHOLDERwhich are only allowed to be used inside the context of aNoDataComplicationDataplaceholder. If selected these placeholders are suggested to be rendered with gray boxes/arcs. (I6285d) - We've added
ComplicationData.getNextChangeInstantwhich tells you the next Instant after the reference Instant at which any field of the complication may change. This is used internally to schedule frames for complication updates. E.g. if a watch face normally updates once per minute, setting the stop watch complication will cause it to update once per second. (I7ceb2) EditorSession.watchFaceIdcan now be used on all API levels. In addition its value will now always be consistent withWatchState.watchFaceInstanceId. (I323b9)- The
getPendingIntentForTouchEventAPI is no longer necessary since the underlying issue has been fixed in the framework, so all the related APIs have been removed. Watchfaces do not need to do anything special forPendingIntentsto fire, even if the home button has recently been pressed. (I1f2e8) - We've added
RendererParameters.isForScreenShotwhich will be true if the render is for a screen shot. Some watch faces with animations need to know this in order to make adjustments to ensure the best results. (I96d99) - We've added
WatchFaceExceptionReasontoWatchFaceExceptionto give some context to what went wrong. (I01d15) ComplicationDataSourceService.onImmediateComplicationRequesthas been removed, insteadComplicationRequest.immediateResponseRequiredhas been added to signal that the provider needs to respond quickly (ideally responding in < 100ms). Note this functionality is guarded behind the privilegedcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATEpermission. (Ie6b23)- Updated nullability in core and appcompat to match Tiramisu DP2 (I0cbb7)
Bug Fixes
- Now watchface app crashes with an exception if the schema validation fails (Ia400f)