Skip to content

2023-06-23

Choose a tag to compare

@github-actions github-actions released this 24 Jun 03:44
· 139 commits to main since this release

Activity: v1.8.0-alpha06

June 21, 2023

androidx.activity:activity:1.8.0-alpha06, androidx.activity:activity-compose:1.8.0-alpha06, and androidx.activity:activity-ktx:1.8.0-alpha06 are released. Version 1.8.0-alpha06 contains these commits.

New Features

  • The OnBackPressedDispatcher now correctly cancels any callbacks that are removed during a Predictive Back Gesture. (I3f90f)

Annotation-Experimental: v1.3.1

June 21, 2023

androidx.annotation:annotation-experimental:1.3.1 is released. Version 1.3.1 contains these commits.

Bug Fixes

  • Place annotation at the beginning of the modifier list when applying lint auto-fix. (b/251172715)
  • Use lint check to discourage use of androidx.annotation.RequiresOptIn in Kotlin sources (b/241097743)

Benchmark: v1.2.0-alpha16

June 21, 2023

androidx.benchmark:benchmark-*:1.2.0-alpha16 is released. Version 1.2.0-alpha16 contains these commits.

API Changes

  • BaselineProfileRule.collectBaselineProfile() API has been renamed to BaselineProfileRule.collect(). (I4b665)

Bug Fixes

  • Macrobenchmark support for androidx.benchmark.profiling.mode = MethodTracing. (I7ad37, b/285912360)
  • Microbenchmark profiling moved to a separate phase, so it occurs in sequence after measurement, instead of replacing it. MethodTracing trace sections are also now included in the captured Perfetto trace, if present. (I9f657, b/285014599)
  • Add count measurement to TraceSectionMetric with Mode.Sum. (Ic121a, b/264398606)

Browser: v1.6.0-beta01

June 21, 2023

androidx.browser:browser:1.6.0-beta01 is released with no changes since 1.6.0-alpha02. Version 1.6.0-beta01 contains these commits.

CameraX: v1.3.0-beta01

June 21, 2023

androidx.camera:camera-*:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.

API Changes

  • Renamed the ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) function name to setAllowedResolutionMode and renamed the ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON constants to PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8)
  • Removed deprecated API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) and VideoCapture.setTargetRotationDegrees(int). (Id8e77)
  • The DynamicRange class respresent the dynamic range of images. This can be used to select High Dynamic Range formats as the output of VideoCapture through VideoCapture.Builder#setDynamicRange(). (Ib0377)
  • Added an isImageAnalysisSupported API to the ExtensionsManager which apps can determine if an ImageAnalysis use case can be bound along with Preview and ImageCapture when Extensions are enabled. (I1bc63)
  • The new VideoCapabilities class obtained from the Recorder can be used to query supported dynamic ranges and qualities for video recording on the device. QualitySelector's getSupportedQualities() and isQualitySupported() methods are being deprecated. Please use VideoCapabilities's getSupportedQualities() and isQualitySupported() methods instead. (I04014)
  • CameraController#setVideoCaptureTargetQuality() is renamed to setVideoCaptureQualitySelector and takes argument QualitySelector, which provides more flexibility for video quality setup. CameraController#getVideoCaptureTargetQuality() is changed to getVideoCaptureQualitySelector accordingly. (I520ed)
  • Removed the experimental annotation for video features. The video features are now stable. (I1a113)

Bug Fixes

  • Use torch as flash on Samsung SM-A320 models to improve the speed and the captured image quality in low light. (I6a022, b/286190938)
  • Add ImageFormat.JPEG format support for ImageProxy.toBitmap(). If the JPEG byte array cannot be decoded, an UnsupportedOperationException will be thrown. (I81958, b/282057603)

Compose Animation: v1.6.0-alpha01

June 21, 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

New Features

  • Enable Modifier.animateContentSize and AnimatedVisibility to be fully integrated into the lookahead system by reporting the target size in the lookahead pass.

API Changes

  • New property in IntrinsincMeasureScope and its implementations (e.g. MeasureScope) to indicate whether the current measure pass is a lookahead pass. (I7a812)

Bug Fixes

  • Removed allocations from spring animations. (Ie9431)
  • value parameter name for Enum.valueOf changed (Ia9b89)
  • more thrown exceptions from enum valueOf (I818fe)

Compose Foundation: v1.6.0-alpha01

June 21, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

New Features

  • Introduced a new AnchoredDraggable API in Foundation. It can be used to build components that can be dragged between discrete states, like modal bottom sheets. This API replaces Material's Swipeable API. (I4a2ed)

API Changes

  • Support InputConnection#requestCursorUpdates (I0c69b)
  • Introduced scrollAnimationSpec to allow custom animation specs. Updated BringIntoViewCalculator to BringIntoViewScroller. (Idb741)
  • Add ResourceResolutionException type to wrap throwables thrown when attempting to load bitmap assets with a description of the asset path that failed to load. (I19f44, b/230166331, b/278424788)
  • Added semantics properties and actions to support text translation. (I4a6bc)
  • Introduced a BringIntoViewCalculator API that can be used to customize how components like Scrollable respond to bringIntoView requests. Changed the overload of scrollable to optionally accept an instance of BringIntoViewCalculator. (Iaf5af)

Bug Fixes

  • Added a lint check to warn if you are creating a MutableInteractionSource in composition without remembering it, similar to the lint checks for creating mutable state / Animatable. (I5daae)
  • Added support for selection by mouse. Touch based selection will expand by word, and shrink by character. (Ic0c6c, b/180639271)
  • Added FocusTargetModifierNode interface that can be used to create a custom FocusTarget. (I9790e)

Compose Material: v1.6.0-alpha01

June 21, 2023

androidx.compose.material:material-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

Behavior Changes

  • includeFontPadding is now false by default in Material 2 typography. The default line height style has also been changed to Trim.None and Alignment.Center. Please consult the API docs if you wish to customize these values, and see the blog post for an in-depth explainer of these changes. (Icabc3, I3f801, I04c03)

API Changes

  • Material's Swipeable APIs have been deprecated. Please refer to Foundation's AnchoredDraggable APIs which are optimized for both simple and complex use cases. (I732e0)

Bug Fixes

  • BottomSheetState, ModalBottomSheetState and BottomDrawerState now expose a progress property indicating the progress between the current (settled) anchor and the closest anchor in the swipe direction. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Compose Material 3: v1.1.1

June 21, 2023

androidx.compose.material3:material3:1.1.1 and androidx.compose.material3:material3-window-size-class:1.1.1 are released. Version 1.1.1 contains these commits.

Bug Fixes

  • Adds call for ModalBottomSheet without windowInset param for binary compatibility. (Ib7959)
  • Add window insets parameter to ModalBottomSheet.
    • Scrim for ModalBottomSheet may now be drawn behind status bar with windowInsets set to zero
    • Updated default ModalBottomSheet functionality to stay outside of system bars including navigation
    • Status bar inset handling is provided by drag handle in edge-to-edge mode.
    • BottomSheetDefaults includes window insets for BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

Compose Material 3: v1.2.0-alpha03

June 21, 2023

androidx.compose.material3:material3-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

Behavior Changes

  • includeFontPadding is now false by default in Material 3 typography. The default line height style has also been changed to Trim.None and Alignment.Center. Please consult the API docs if you wish to customize these values, and see the blog post for an in-depth explainer of these changes. (I6266f, Icabc3)

New Features

  • Added an overload for RangeSlider that is a stateful version of the component. Created RangeSliderState that holds all of the information for the current active track, the measurements of the components of the RangeSlider, and the drag and gesture logic. (I8c270)
  • Search bar now supports shadows via the newly added shadowElevation parameter. (Ia5369, b/271040353)
  • ColorScheme now supports new SurfaceContainer roles.
  • Surface tonal elevation overlay can now be disabled with the LocalTonalElevationEnabled composition local. (Ic203c, b/277774590)

API Changes

  • Open the component colors constructors. (I8c4a6)
  • Adding focusable parameter to both tooltip APIs, so that developers can have the tooltip consume touch events or not. Be cautious that this might break accessibility focus automatic traversal. (Ie32d8)
  • Optimized accessibility for performance and memory allocations. (Iede48)
  • Expose DefaultSizeClasses and create StandardSizeClasses for WindowSizeClasses (I91838)
  • change WindowWidth/HeightSizeClass to float value classes (Ie686e)

Bug Fixes

  • Scaffold's contentWindowInsets parameter now respects consumed window insets. Note that the behavior of content padding based on topBar and bottomBar remains unchanged when these parameters are provided. (I08b73, b/264601542)
  • Fix the alignment of the center top app bar to ensure that a long title doesn't render over the action icons or the navigation icon. (I4369f, b/236994621)
  • Tab positions now enforce a minimum content width of 24.dp. This provides an accessible touch target for tab indicators. (Id8861)
  • Dynamic color palettes from dynamicLightColorScheme and dynamicDarkColorScheme now support new surface roles. (I1252e)
  • Updating the badge notification alignment to not clip when colliding with great grandparent. (Idf75a)

Compose Runtime: v1.6.0-alpha01

June 21, 2023

androidx.compose.runtime:runtime-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

Bug Fixes

  • Skip recomposition of subcompositions that will be removed. (Ieeb99, b/254645321)
  • Reduced allocations when applying snapshots. (I65c09)
  • Avoid calculating readableHash in DerivedState if snapshot wasn't modified (68c565)

Compose UI: v1.6.0-alpha01

June 21, 2023

androidx.compose.ui:ui-*:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.

New Features

  • Support lookahead in LazyList. This allows LazyList in the lookahead pass to bypass any animation (e.g. item placement animation, AnimatedVisibility, etc) and to calculate the lookahead size and position for all children. After the lookahead pass, children of LazyList could animate independently to the reality as seen in the lookahead pass.

Behavior Change: includeFontPadding is now false by default in Compose

includeFontPadding is now false by default (21d806) in Compose.

includeFontPadding is a legacy attribute that controls whether or not to include extra padding on top of the first line and last line of the text to accommodate any characters that may extend above or below the text baselines.

Updating this Compose version will modify how all texts render in your UI by removing the extra padding on top of the first line and last line of every text you display.

Depending on your UI requirements and the font metrics you’re using, the changes should be minimal. However you might encounter blockers such as: - Broken screenshot tests. Fix the UI if required, and regenerate the golden images. - Text is slightly misaligned. Remove any custom negative paddings or add padding if required.

You can opt-in to includeFontPadding by using PlatformTextStyle for each text:

Text(
 text = myText,
 style = TextStyle(
   lineHeight = 2.5.em,
   platformStyle = PlatformTextStyle(
     includeFontPadding = true/false
   )
   /* … */
  )
)

You can opt-in to includeFontPadding for all your texts by configuring your Material styles. Note that parameter names will vary between M2 and M3.

val Typography = Typography(
   body1 = TextStyle(
       fontFamily =    /* … */,
       fontSize =    /* … */,
       platformStyle = PlatformTextStyle(
           includeFontPadding = false
       )
   /* … */
   )
)

MaterialTheme(
typography = Typography,
/* … */
)

You can find more about Compose includeFontPadding in developer documentation and this blog post.

If you experience issues/bugs connected with this change, file a bug using the issue tracker.

API Changes

  • Support InputConnection#requestCursorUpdates (I0c69b)
  • Added FocusRequester.saveFocusedChild and FocusRequester.restoreFocusedChild (Ic557e, b/272302679, b/275157318)
  • Add ResourceResolutionException type to wrap throwables thrown when attempting to load bitmap assets with a description of the asset path that failed to load. (I19f44, b/230166331, b/278424788)
  • Optimized accessibility for performance and memory allocations. (Iede48)
  • Added semantics properties and actions to support text translation. (I4a6bc)
  • New property in IntrinsincMeasureScope and its implementations (e.g. MeasureScope) to indicate whether the current measure pass is a lookahead pass. (I7a812)
  • Updated DrawScope api to introduce the ability to retarget rendering into a different canvas with alternative density/layoutdirection and size.
  • Updated DrawContext to support configuration of density and layout direction as well as making the canvas configurable. (Ie1f9b, b/225408150)
  • Added Paragraph#fillBoundingBoxes to calculate character bounding boxes. (If30ee)
  • Added a set of common MultiPreviews (Ia5a27)

Bug Fixes

  • Added FocusTargetModifierNode interface that can be used to create a custom FocusTarget. (I9790e)
  • Renamed the fallback* parameters on the TextMeasurer constructor to default*. (I940a5)
  • Renamed SemanticsPropertyReceiver.performImeAction to onImeAction and SemanticsActions.PerformImeAction to OnImeAction. (I8e841)
  • Adds Wheel to differentiate a mouse scroll from a drag in nested scrolling (specifically, in NestedScrollConnection). (Ie57e4)
  • Added asComposePaint API to replace toComposePaint as the returned object wraps the original android.graphics.Paint (I22b4c)
  • Deprecate SemanticsProperties.imeAction and replace with a new parameter to SemanticsActions.performImeAction. (I4a587)
  • Added support for selection by mouse. Touch based selection will expand by word, and shrink by character. (Ic0c6c, b/180639271)
  • Paragraph methods that used to throw AssertionError for out of bounds offsets now throw IllegalArgumentException as MultiParagraph does. (I549d3, b/243338896)

Health Connect: v1.1.0-alpha02

June 21, 2023

androidx.health.connect:connect-client:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.

Bug Fixes

  • Fixed HealthDataSdkService leak (Ia3ba5)
  • Always redirect to the right HealthConnect Client when requesting permissions on Android U.(I6415a)

Mediarouter: v1.6.0-alpha05

June 21, 2023

androidx.mediarouter:mediarouter:1.6.0-alpha05 and androidx.mediarouter:mediarouter-testing:1.6.0-alpha05 are released. Version 1.6.0-alpha05 contains these commits.

New Features

  • Improve the MediaRouteChooserDialog UI to handle the lack of discovered devices by providing written guidance to the user (I0cad9, I3d445).

Paging: v3.2.0-rc01

June 21, 2023

androidx.paging:paging-*:3.2.0-rc01 is released. Version 3.2.0-rc01 contains these commits.

External Contribution

privacysandbox sdkruntime: v1.0.0-alpha06

June 21, 2023

androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha06 and androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha06 are released. Version 1.0.0-alpha06 contains these commits.

New Features

  • Per-SDK Storage and Databases support for SDKs loaded locally (in Application process).
  • SandboxedSdkProviderCompat#context customized to provide Per-SDK Storage and Database support for SDKs in backcompat mode.

privacysandbox ui: v1.0.0-alpha04

June 21, 2023

androidx.privacysandbox.ui:ui-client:1.0.0-alpha04, androidx.privacysandbox.ui:ui-core:1.0.0-alpha04, and androidx.privacysandbox.ui:ui-provider:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.

New Features

  • Introduce the SdkActivityLauncher. An interface for allowing runtime enabled SDKs to launch activities. (I5b3dc)

Bug Fixes

  • Fix notifyZOrderChanged race condition. Ensures that the UI provider is notified for all Z-order changes. The UI provider will not be explicitly notified if the Z-order of the SandboxedSdkView is changed before openSession is invoked.

Room: v2.6.0-alpha02

June 21, 2023

androidx.room:room-*:2.6.0-alpha02 is released. Version 2.6.0-alpha02 contains these commits.

Room Gradle Plugin

This new release contains a new artifact for the Room Gradle Plugin with id androidx.room, which solves various existing issues in Room regarding having inputs and outputs of schemas via Gradle annotation processor options. The Room Gradle Plugin configures the project such that generated schemas that are consumed for auto-migrations and are output of the compile tasks are correctly configured to have reproducible and cacheable builds. The plugin offers a DSL to configure the base schema location:

room {
    schemaDirectory("$projectDir/schemas/")
}

The plugin will then configure the Room compiler and the various compile tasks and its backends (javac, KAPT, KSP) to output schema files into flavored folders, i.e. schemas/flavorOneDebug/com.package.MyDatabase/1.json. As usual these files are checks-in into the repository to be used for validation and auto-migrations. Upon migrating to using the plugin instead of the annotation processor options the existing schema files must be copied to the generated flavor directories created by the plugin, this is a one-time migration operation that must be done manually. The schema documentation in developers.android.com will be updated in the future once feedback is addressed and the plugin reaches stable, so please give it a try.

API Changes

  • RoomDatabase.QueryCallback has been defined as a functional interface to allow SAM conversion usages. (Iab8ea, b/281008549)

Bug Fixes

  • Resolving issue arising when instantiating the database in Robolectric after the migration of Room sources from Java to Kotlin. (Ic053c, b/274924903)

Room: v2.5.2

June 21, 2023

androidx.room:room-*:2.5.2 is released. Version 2.5.2 contains these commits.

Bug Fixes

  • Fix an incompatibility issue with the kotlinx-metadata-jvm. (386d5c)
  • Fix an issue that causes Room to throw an error when being used in a Robolectric test. (f79bea, b/274924903)

Sqlite: v2.4.0-alpha02

June 21, 2023

androidx.sqlite:sqlite:2.4.0-alpha02, androidx.sqlite:sqlite-framework:2.4.0-alpha02, and androidx.sqlite:sqlite-ktx:2.4.0-alpha02 are released with no changes. Version 2.4.0-alpha02 contains these commits.

Tracing: v1.3.0-alpha02

June 21, 2023

androidx.tracing:tracing:1.3.0-alpha02 and androidx.tracing:tracing-ktx:1.3.0-alpha02 are released with no changes from previous alpha. Version 1.3.0-alpha02 contains these commits.

Tracing Perfetto: v1.0.0-alpha17

June 21, 2023

androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17, and androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 are released with no changes from previous alpha. Version 1.0.0-alpha17 contains these commits.

Wear Ongoing & Interactions: v1.1.0-alpha01

June 21, 2023

androidx.wear:wear-remote-interactions:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

Bug Fixes

  • Improved how completion and error handling is done in RemoteActivityHelper. (I60d60)

External Contribution

  • Remove Guava dependency from wear-remote-interactions and use smaller alternatives.

Wear: v1.3.0-rc01

June 21, 2023

androidx.wear:wear:1.3.0-rc01 is released with no changes since 1.3.0-beta01. Version 1.3.0-rc01 contains these commits.

Wear Compose: v1.3.0-alpha01

June 21, 2023

androidx.wear.compose:compose-*:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

Bug Fixes

  • As announced in 1.2.0-alpha07 and 1.2.0-alpha10, we are now changing the DefaultTextStyle to turn off font padding to be consistent across the Android Platform. This will address some cases of text clipping with large font sizes and may also impact screen layouts, so that screenshot tests need to be updated. For example, we see text clipping here (Ic6a86)

Text clipped with large font size

Figure 1: Text clipped.
  • It is no longer present when font padding is turned off:

Text not clipped with large font size

Figure 2: Text not clipped.
  • We have updated wear.compose.foundation to be an API dependency of wear.compose.material (I72004, b/285404743)
  • We have fixed a bug in SwipeToDismissBox. Background and content keys are now passed to the remember block so that new modifiers are created when the content or background changes. (Ib876c, b/280392104)
  • We have updated TimeText to use the locale when choosing the format for 12 or 24 hour time. (If4a3d)
  • We have fixed an inconsistency in SwipeToDismissBox contentScrimColor default parameters. (I2d70f)
  • We have improved the motion handling in SwipeToReveal. (I28fb7)

Known Issues

  • Supporting user-configured font sizes is an accessibility requirement. We know that multiline Chips can lead to text-clipping when displayed with large font sizes, so we will be updating Chip in an early 1.3 alpha version to make height adjustments in those cases.

Wear Compose Material3: v1.0.0-alpha07

June 21, 2023

androidx.wear.compose:compose-material3:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

New Features

  • We have added the Stepper component to our Compose for Wear OS Material 3 library. This is similar to the previous Material version, but omits range semantics by default, following developer feedback. We provide Modifier.rangeSemantics the cases where range semantics are required. (Ic39fd)
  • We have added curvedText to our Compose for Wear OS Material 3 library. (Ia8ae3)

Bug Fixes

  • We have update wear.compose.foundation to be an API dependency of wear.compose.material3 (I72004, b/285404743)

wear protolayout: v1.0.0-beta01

June 21, 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

New Features

  • Allow setting clock for time binding tests. (I05622)

API Changes

  • PlatformDataReceiver.onData() and StateBuilders.Builder.addKeyToValueMapping now accept type-safe mapping of DynamicDataKey to DynamicDataValue rather than unsafe generics. That means that DynamicDataValue is now typed with its DynamicType. HEART_RATE_ACCURACY_X constants moved to the root of PlatformHealthSources, to match other Android constants positioning. HEART_RATE_ACCURACY_X int constants are now used directly in DynamicHeartRateAccuracy.constant() and DynamicHeartRateAccuracy.dynamicDataValueOf() instead of value constant. (I82ff5)
  • The PlatformHealthSources.Constants class was instantiable by mistake. This has been fixed now. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver now receives Runnable instead of Supplier function and Executor to notify on. (I9d938)
  • We have changed the parameter type in the PlatformTimeUpdateNotifier#setReceiver from Callable to Supplier. (I664bf)
  • CompactChip and TitleChip now support adding an icon to it. (I5a01e)

Bug Fixes

  • Update Prop messages with dynamic fields to use oneof instead (I81739)
  • Reuse setters implementation for overloads that have setters (Ied70c)
  • Properly record fingerprints in setters that have overloads (I86ed2)

Wear Tiles: v1.2.0-beta01

June 21, 2023

androidx.wear.tiles:tiles-*:1.2.0-beta01 is released with no changes. Version 1.2.0-beta01 contains these commits.

Wear Watchface: v1.2.0-alpha09

June 21, 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha09 is released. Version 1.2.0-alpha09 contains these commits.

New Features

  • RangedValueComplicationData.Builder now accepts DynamicFloat, and a new DynamicComplicationText is available as a subclass of ComplicationText, both of which can utilize dynamic expressions as well as platform bindings that are updated at 1hz on supported Wear 4 devices.

API Changes

  • Added dynamic types for daily distance, daily calories and daily floors. Keys for platform health sources are now under PlatformHealthSources.Keys (Ib7637)
  • Implement PlatformDataProvider to provide heart rate and daily steps. SensorGateway interface is removed from public API. (I55b84)
  • Rename StateEntryValue to DynamicDataValue, and update the state APIs to use the DynamicDataKey. (If1c01)
  • Add AppDataKey for accessing app pushed state; Add PlatformDataKey for accessing platform data; Add namespace support in StateStore. (I7985e)
  • enable/disablePlatformSource methods have been removed from DynamicTypeEvaluator. The caller should be responsible for updates. (I78c6d)
  • Allow capping the size of bound data types. (Ie2966)

WindowManager: v1.2.0-alpha03

June 21, 2023

androidx.window:window-*:1.2.0-alpha03 is released. Version 1.2.0-alpha03 contains these commits.

New Features

  • Removing deprecated APIs from the API surface.
  • Add APIs to support concurrent displays.
  • Add a property to opt out of forced resize override.
  • Add property to opt out of min aspect ratio override.
  • Stabilize ActivityEmbeddingRule to support unit testing around Activity Embedding.

API Changes

  • Remove deprecated APIs (I18d39)
  • Add support for concurrent displays. (Ifcbb0)

Bug Fixes

  • Adding opt-out compat property for force resize override (Ie7ab1)
  • Removes SESSION_STATE_CONTENT_INVISIBLE from extensions interface. (I6ed19)
  • Stabilize ActivityEmbeddingRule to support unit testing around Activity embedding. (I8d6b6)
  • Adding opt-out compat property for min aspect ratio override. (I66390)
  • Removes deprecated WindowArea API's (Ieb67c)
  • Rename orientation request loop property to PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED. (Ie2fbd)
  • Updates window area session constant names (I83675)
  • Adding opt-out compat property that ignores orientation request loop when detected (I0a7a2)
  • Add WindowAreaComponent#STATUS_ACTIVE to signify that the feature is already active. (I62bc3)
  • Add RearDisplayPresentationMode APIs (I0401c)
  • Remove background color API for stable. (I34c3e)
  • Hide Window Area APIs. (I39de0)
  • Add methods to override the SplitInfo in SplitController. Add test methods to create double for SplitInfo and ActivityStack. (Icd69f)
  • Make tag optional for ActivityRule.Builder. (Ib0b44)
  • Remove RatioSplitType, ExpandContainersSplit and HingeSplitType. They are SplitType now.
    • Replace #splitEqually(), #expandContainers() and #splitByHinge to constant SplitType SPLIT_TYPE_EQUAL, SPLIT_TYPE_EXPAND and SPLIT_TYPE_HINGE
    • Remove the functionality to set fallback type of hinge split type. If the hinge split type cannot be applied due to the current device or window state, it fallbacks to split the parent task container equally. Use SplitController#setSplitAttributesCalculator to customize the fallback split type. (Ifcc59)
  • Deprecate add/removeSplitCallback
    • Move add/removeSplitCallback to SplitControllerCallbackAdapter
    • Add Flow support to get SplitInfo list (I7f1b6)
  • Add a test rule for ActivityEmbeddingController (I42e9b)
  • Renaming ActivityOptionsCompat to ActivityEmbeddingOptions (I89301)
  • Add splitSupportStatus to indicate if Activity embedding is available. (I10024)
  • Introduce SplitAttributes.BackgroundColor to better represent the DEFAULT value. Clarify that non-opaque animation background color is not supported, so any non-opaque colors will be treated as the default, which means to use the current theme window background color. (Ic6b95)
  • Replace alwaysAllow() and alwaysDisallow() with ALWAYS_ALLOW and ALWAYS_DISALLOW. (I3057b)
  • Add APIs for SplitRule, SplitAttributes, SplitAttributesCalculator. (I92d23)
  • Add TestActivityStack to create ActivityStack for testing
    • Add TestSplitInfo to create SplitInfo for testing. (I8e779)
  • Add a way to create fake SplitAttributesCalculatorParams so that developers can verify their customized SplitAttributesCalculator (Id4a6e)
  • Add WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context) and WindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context) (I66c7f)