Skip to content

2022-08-01

Choose a tag to compare

@github-actions github-actions released this 01 Aug 13:22
· 194 commits to main since this release

Activity: v1.5.1

July 27, 2022

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

Bug Fixes

  • The ActivityResultRegistry will no longer return a result to the ActivityResultCallback when the launch() call throws any Exception and the callback was registered without a LifecycleOwner. (Ia7ff7, b/238350794)

  • ComponentActivity will now properly dispatch menu calls to onPrepareOptionMenu(), onCreateOptionsMenu() and onOptionsItemSelected() overrides without the need to call the super function. (Ie33c5, b/238057118)

Dependency update

Annotation: v1.5.0-alpha01

July 27, 2022

androidx.annotation:annotation:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.

New Features

  • Annotation library has been fully migrated to Kotlin sources, resulting in support for Kotlin-specific target use sites and other Kotlin-compatible annotation features.

Annotation-Experimental: v1.3.0-alpha01

July 27, 2022

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

API Changes

  • Add support for package-level use of @androidx.annotation.OptIn (I24d58)

Appcompat: v1.5.0-rc01

July 27, 2022

androidx.appcompat:appcompat:1.5.0-rc01 and androidx.appcompat:appcompat-resources:1.5.0-rc01 are released. Version 1.5.0-rc01 contains these commits.

Bug Fixes

  • Fixes an issue where AppCompat’s context wrapper reused the application context's backing resource implementation, resulting in uiMode being overwritten on the application context. (Idf9d5)

Benchmark: v1.2.0-alpha01

July 27, 2022

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

New Features

  • New tracing-perfetto-common component allowing tooling to enable Perfetto SDK tracing in an app that exposes it (I2cc7f)
  • Added androidx.benchmark.enabledRules instrumentation argument to enable filtering macrobenchmark runs to just benchmarks, or just baseline profile generation. Pass in 'Macrobenchmark', or 'BaselineProfile' to just run one type of test, e.g. when just generating BaselineProfiles on an emulator. Comma-separated list also Supported. (I756b7, b/230371561)

    E.g. in Your macrobenchmark's build.gradle:

    android {
        defaultConfig {
            testInstrumentationRunnerArgument 'androidx.benchmark.enabledRules', 'BaselineProfile'
        }
    }
    

    Or from the Gradle command line:

    ./gradlew macrobenchmark:cC -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
    

API Changes

  • Added new PowerMetric for measuring energy and power tasks in benchmarks. (I9f39b, b/220183779)
  • Added a new compilation mode CompilationMode.Ignore to skip profile reset and compilation. (Ibbcf8, b/230453509)
  • Added a new parameter to BaselineProfileRule#collectBaselineProfile to filter output file by package names (If7338, b/220146561)
  • Enables developer to discharge device to measure power drain. (I6a6cb)
  • Added the ability to clear shader cache in MacrobenchmarkScope. (I32122)
  • Enables developer to configure display of metric type and detail desired subsystem categories. (I810c9)
  • Previously an UnsupportedOperationException was thrown in the benchmark if run on an unsupported device. Now UOE only occurs if the metric is used on the unsupported device (ie: PowerMetric.configure). (I5cf20, b/227229375)
  • Added TotalPowerMetric and TotalEnergyMetric for measuring total power and energy in each system category in macrobenchmarks. (I3b26b, b/224557371)

Bug Fixes

  • Fixed an issue where compiled methods were not correctly being reset between each macrobenchmark on unrooted builds. This unfortunately requires reinstalling the apk each iteration, which will clear application data for each macrobenchmark. (I31c74, b/230665435)
  • Fix trace recording crash on API 21/22 (If7fd6, b/227509388, b/227510293, b/227512788)
  • Overhaul activity launch completion detection to fix 'Unable to read any metrics' exception in startup macrobenchmarks. (Ia517c)

CameraX: v1.2.0-alpha04

July 27, 2022

androidx.camera:camera-*:1.2.0-alpha04 is released. Version 1.2.0-alpha04 contains these commits.

API Changes

  • Rename ImageAnalysis.Analyzer#getTargetResolutionOverride() to ImageAnalysis.Analyzer#getDefaultTargetResolution(). The behavior is also changed so that the value returned by this method can be overridden by the value of ImageAnalysis#setTargetResolution(). (If1d36)
  • Exposed API for setting location metadata to the saved video. An android.location.Location object can be set via new API androidx.camera.video.OutputOptions.Builder.setLocation(Location). (I313a0, b/204197544)

Bug Fixes

  • Fix the issue to take picture with unbind preview (Ie70b6, b/235119898)
  • Fixed crash in Recorder when attempting to record while audio source is unavailable. (I9f652)

Car App: v1.3.0-alpha01

July 27, 2022

androidx.car.app:app:1.3.0-alpha01, androidx.car.app:app-projected:1.3.0-alpha01, androidx.car.app:app-automotive:1.3.0-alpha01, and androidx.car.app:app-testing:1.3.0-alpha01 are released. Version 1.3.0-alpha01 contains these commits.

Features annotated with API level 5 are compatible with Android Auto 7.9 and above.

New Features

  • API Level 5: new MapTemplate that can be used by navigation apps to display pane or list content alongside a map (If5826, If44b8)
  • API Level 5: new CarAudioRecord API to allow recording audio input via the host vehicle's microphone (I5e71a)
  • API Level 5: new SuggestionManager API to allow apps to provide suggestions to the host (I5c103)
  • API Level 5: new Alert API to display in context notifications on the NavigationTemplate (I163a7, I5ad70)
  • API Level 5: new Header and MapController components to facilitate re-use across templates (If5826)
  • Added androidx.car.app.category.POI as a category for enabling POI apps (and deprecated androidx.car.app.category.PARKING and androidx.car.app.category.CHARGING) (I59da1)

API Changes

  • API Level 5: new onClick method in the SurfaceCallback interface to allow for tap on map interactivity (Ia9777)
  • API Level 5: new flags Action.FLAG_IS_PERSISTENT and Action.FLAG_DEFAULT to describe Actions (I96318, I5ad70)
  • API Level 5: new enabled/disabled state for the Action, Row, and Toggle components (host support coming around the 1.3.0-beta01 release of the library) (Id8a09)
  • API Level 5: Favor the new Header component via setHeader on the PlaceListNavigationTemplate.Builder and RoutePreviewNavigationTemplate.Builder, deprecating the existing setTitle and setHeaderAction methods (I30e6a)
  • API Level 5: new setOnContentRefreshListner method on the PlaceListMapTemplate.Builder and PlaceListNavigationTemplate.Builder for use with implementations of the new OnContentRefreshListner interface.
  • API Level 5: New setTripText and setTripIcon on the TravelEstimate.Builder to customise the travel estimate card (Idcc6d, Ic620d)
  • Add support for CarIconSpans in the PaneTemplate's title (Ia1ee0)
  • Add support for CarIconSpans in a Row's title and text (Ic1e3c)
  • Map ActionStrips can now have up to four actions (If3522)
  • Update Car App API level to 5 (I26b8e)
  • Headers/titles are now optional for the PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate, and SignInTemplate (I2078d, Icadde)

Bug Fixes

  • Updated PaneTemplate image sizing rules to be a square bounding box (Idd72e)
  • Fixed an exception that happens if the screen stack is modified after State.DESTROYED. (I3c8eb)
  • Added a null check for retriving the app icon (I3f710)
  • Update Car Hardware API to use STATUS_UNKNOWN instead of STATUS_UNAVAILABLE by default (Ic9444)
  • Check if display exists before creating surface (Ice027a)
  • Fix CarValue.equals() bug involving STATUS_UNIMPLEMENTED (I24451)

Collection: v1.3.0-alpha02

July 27, 2022

androidx.collection:collection:1.3.0-alpha02 and androidx.collection:collection-ktx:1.3.0-alpha02 are released. Version 1.3.0-alpha02 contains these commits.

API Changes

  • SparseArrayCompat is now available to non-jvm platforms from the common artifact (Ic9bd0, b/219589118, b/228347315)
  • CircularIntArray is now available to non-jvm platforms from the common artifact (I3d8ef, b/228344943)
  • LongSparseArray is now available to non-jvm platforms from the common artifact (I73149, b/228347315)

Compose Animation: v1.2.0

July 27, 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0, and androidx.compose.animation:animation-graphics:1.2.0 are released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Compose animation now supports 'Animator duration scale' setting from Developer Options.
  • A large selection of new experimental easing curves.
  • AnimatedImageVector now supports repeatCount and repeatMode

Compose Animation: v1.3.0-alpha02

July 27, 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02, and androidx.compose.animation:animation-graphics:1.3.0-alpha02 are released. Version 1.3.0-alpha02 contains these commits.

Compose Compiler: v1.3.0-rc01

July 27, 2022

androidx.compose.compiler:compiler:1.3.0-rc01 is released. Version 1.3.0-rc01 contains these commits.

Compose Foundation: v1.2.0

July 27, 2022

androidx.compose.foundation:foundation:1.2.0 and androidx.compose.foundation:foundation-layout:1.2.0 are released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • LazyVerticalGrid and LazyHorizontalGrid are stable now.
  • You can now specify a content type for items in Lazy lists and grids. This will allow the components to reuse elements more efficiently.
  • Lazy lists and grids now have userScrollEnabled param which allows to disable scrolling via the user gestures.
  • A new experimental API called LazyLayout was added. It It is the API we use internally to power Lazy lists and grids.
  • OverscrollEffect API has been introduced as experimental. You can define custom overscroll effects as well as adding a standard platform one to custom scrollable containers.
  • Nested scrolling interoperability APIs have been introduced to allow for interoperability between views and compose scrolling actors.
  • Mouse and trackpad scrolling has been added to all scrolling containers.

Compose Foundation: v1.3.0-alpha02

July 27, 2022

androidx.compose.foundation:foundation:1.3.0-alpha02 and androidx.compose.foundation:foundation-layout:1.3.0-alpha02 are released. Version 1.3.0-alpha02 contains these commits.

API Changes

  • Added drawText extension function on DrawScope to provide a way to draw multi-styled text on composables and modifiers that operate on a DrawScope like Canvas and drawBehind. (I16a62, b/190787898)

Bug Fixes

  • Soft keyboard will now be hidden when a text field is disabled while focused. (I6e3e4, b/237308379)
  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves (Icea9d, b/216582726, b/223440806, b/227709803)
  • When a scrollable has a focused child, it will now correctly scroll to keep the focused child in view when its size is decreased, even when the size is animated. (I80867, b/230756508, b/220119990)
  • Fixed a crash where TextField is cleared and refilled while selection is active. (I1235b, b/208655565, b/214253689)

Compose Material: v1.2.0

July 27, 2022

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

Compose Material: v1.3.0-alpha02

July 27, 2022

androidx.compose.material:material-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

External Contribution

  • Fix AnimatedVisibility issue with FloatingActionButton in Scaffold (I3a0ae, b/224005027)

Compose Material 3: v1.0.0-alpha15

July 27, 2022

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

New Features

API Changes

  • Updates to the FilterChip and ElevatedFilterChip APIs to remove the selectedIcon slot and promote reusing the leadingIcon for displaying a selected state. (Ie5dc2)
  • Add scrim and outline variant color roles. (Id6d54)
  • Fix naming conventions for composable defaults. (I62b27)
  • Mark ListItemDefaults and ListItemColors as experimental. (I1f3ec)
  • Changes to the top app bar API to better reflect the meaning of its state properties. Also, mark the top app bar API as experimental. (Ic0ad8)
  • Text selection colors have now been added to TextFieldColors for better discoverability. (Iba1b8)
  • Adding ButtonDefault.ButtonWithIconContentPadding to be used with buttons that contain an icon. (I2bf9c)
  • Text fields have been marked as experimental to allow for more flexibility in future API changes. (I127b5)
  • Removed the @ExperimentalMaterial3Api annotation from the Checkbox function. (I5eefc)
  • Removed the @ExperimentalMaterial3Api annotation from the RadioButton function. (I17e2a)
  • Removed the @ExperimentalMaterial3Api annotation from the non-interactive Cards. (I9bd49)
  • Updates various component defaults objects to include colors, shapes etc. (I96e11)

Bug Fixes

  • Removed non-functioning trailing icons from input chip samples to avoid user confusion in the catalog app. (I9846a)

Compose Runtime: v1.2.0

July 27, 2022

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

Important changes since 1.1.0

  • Compose Runtime had a handful of features introduced in 1.2.0, along with many stabilizing bug fixes. The most significant new feature was the introduction of the movableContentOfAPI, which can be used to enable complex UX such as shared element transitions. The movableContentOf API converts a composable lambda into a lambda that moves it state, and corresponding nodes, to any new location it is called. When the previous call leaves the composition the state is temporarily preserved and if a new call to the lambda enters the composition then the state, and associated Nodes, are moved to the location of the new call. If no new call is added the state is removed permanently and remember observers are notified.

  • If a movableContentOf lambda is called multiple times in the same composition, new state and nodes are created for each call and, as calls leave the composition and new calls enter, the state is moved from the first leaving calls to the entering calls in the order they are called. All state not claimed by new calls is removed permanently.

  • In addition to this and a few other new features, much time was spent stabilizing the runtime and Snapshot state system. Various memory leaks were removed and code paths optimized.

  • A summarized list of the changes can be found below:

New Features in 1.2

Performance in 1.2

Bug Fixes in 1.2

Compose Runtime: v1.3.0-alpha02

July 27, 2022

androidx.compose.runtime:runtime-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

API Changes

  • Re-added ComposerKt.traceEventStart(Int, String) for backwards compatibility (I6e6de)

Compose UI: v1.2.0

July 27, 2022

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

Important changes since 1.1.0

  • Improvements in focus traversal:

    • Focus-driven-scrolling of Lazy lists now works, using the new BeyondBoundsLayout core API
    • New behavior customization APIs in FocusOrder and FocusProperties
    • Improved behavior with physical keyboard or TV remote
  • New APIs for:

    • Window insets
    • Core primitives for gesture-driven, infinite and layout animations
    • GraphicsLayer capabilities, including RenderEffect
  • Many bugfixes and performance improvements

Compose UI: v1.3.0-alpha02

July 27, 2022

androidx.compose.ui:ui-*:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.

API Changes

  • Added a new property PointerInputChange#pressure to retrieve the pressure. (I45a5e, b/205164819)
  • Added rememberTextMeasurer to easily create and remember TextMeasurer instances in composition. (I8d66e)
  • Rect, RoundRect, and MutableRect now support the Kotlin in syntax for calling the contains function. (Ie42b0, b/238642990)
  • Remove unnecessary functions from KeyInjectionScope, as they can be easily implemented with simpler parts of the API. The functions that have been removed include pressKeys, keysDown and keysUp. (I81d77)
  • Refactored constant and parameter names in KeyInjectionScope to include the suffix 'Millis' where the units of said constants and parameters are milliseconds. (Iabef5)
  • Added toStringForLog() method to EditCommand to help troubleshoot text editing issues. (I53354, b/228862731)
  • Added drawText extension function on DrawScope to provide a way to draw multi-styled text on composables and modifiers that operate on a DrawScope like Canvas and drawBehind. (I16a62, b/190787898)
  • Introduce a new experimental API called TextMeasurer that enables arbitrary text layout computation that creates identical results to BasicText, independent from Compose runtime. (I17101)
  • Add mapTree to SlotTree.kt. This allows tools to inspect the SlotTree without making an in memory copy first like asTree does. For the Layout Inspector this gives a performance improvement of about a factor 10. (I5e113)
  • Changed Compose Preview to be stored in binary output files, in order to allow developers to write and reuse MultiPreview annotations from libraries. (I85699, b/233511976)

Bug Fixes

  • When adding InputEventChange events to Velocity Tracker we will consider now deltas instead of positions, this will guarantee the velocity is correctly calculated for all cases even if the target element moves (Icea9d, b/216582726, b/223440806, b/227709803)
  • Fix NPE caused by AnnotatedString.toUpperCase when annotations are present. (I0aca2, b/210899140)

Core Splashscreen: v1.0.0

July 27, 2022

The core SplashScreen library brings the new Android 12 splash screen to all devices from API 23. Using the splash screen library, your application doesn't need any custom SplashScreen Activity and leverages the right APIs for a fast launch of your application. To use it, simply follow the steps outlined in our guide. For more information about the Android 12 splash screen, visit the official documentation.

androidx.core:core-splashscreen:1.0.0 is released. Version 1.0.0 contains these commits.

Customview Poolingcontainer: v1.0.0

July 27, 2022

androidx.customview:customview-poolingcontainer:1.0.0 is released. Version 1.0.0 contains these commits.

Major features of 1.0.0

  • Upgrading RecyclerView to 1.3.0-alpha02 or newer and Compose UI to 1.2.0-beta02 or newer will enable more performant reuse of RecyclerView children containing Compose views. See this blog post for more information.

  • For most users, there is no need to use this library directly, unless you are developing a RecyclerView-like ViewGroup or a View that requires additional resources to be explicitly disposed when it is removed (like Compose).

Emoji2: v1.2.0-rc01

July 27, 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

  • No changes since the last beta version.

Fragment: v1.5.1

July 27, 2022

androidx.fragment:fragment:1.5.1, androidx.fragment:fragment-ktx:1.5.1, and androidx.fragment:fragment-testing:1.5.1 are released. Version 1.5.1 contains these commits.

Bug Fixes

  • Fix a regression in the DialogFragmentCallbacksDetector where using the lint version bundled with AGP 7.4 would cause lint to crash. (b/237567009)

Dependency update

Fragment: v1.6.0-alpha01

July 27, 2022

androidx.fragment:fragment:1.6.0-alpha01, androidx.fragment:fragment-ktx:1.6.0-alpha01, and androidx.fragment:fragment-testing:1.6.0-alpha01 are released. Version 1.6.0-alpha01 contains these commits.

Behavior Changes

  • The saved state of Fragments has been split entirely between private library state (custom Parcelable classes) and state provided by the developer, which is now always stored in a Bundle that allows determining exactly where a fragment’s state is originating. (b/207158202)

Bug Fixes

  • From Fragment 1.5.1: Fix a regression in the DialogFragmentCallbacksDetector where using the lint version bundled with AGP 7.4 would cause lint to crash. (b/237567009)

Dependency update

Health Connect Client: v1.0.0-alpha03

July 27, 2022

androidx.health:health-connect-client:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

New Features

  • Summary of new API changes: a set of units have been added to the read, write, aggregate APIs. Apps can now retrieve or write records with their unit of choice, such as grams or milligrams for NutritionRecord nutrients.

API Changes

  • Fix List<DataOrigin> to be Set<DataOrigin> across various request response objects. (I42342)
  • Fix unit of basal total calories from Power->Energy. (I0b429)
  • Moved series sample classes inside series records (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Deprecate HealthDataRequestPermission class, in favor of PermissionController.createRequestPermissionActivityContract; This promotes better discoverability and unified parameterization. (I81e7f)
  • Added US fluid ounces to Volume. (I5f03d)
  • Added Speed unit type (I1d574)
  • Added Percentage unit type (I08f23)
  • Added Pressure unit type (Ifb01f)
  • Added Mass unit type (Ifd81a)
  • Added Volume unit type (I59ad1)
  • Added Power unit type. Moved Power series sample class inside PowerRecord class. (I5b1e5)
  • Added Energy unit type (I983ae)
  • Added Temperature unit type (I4cdb5)
  • Rename references of Activity to be specific to Exercise, including (I3f936):
    • Renamed ActivityLap -> ExerciseLapRecord
    • Renamed ActivityEvent -> ExerciseEventRecord
    • Renamed Repetitions -> ExerciseRepetitionsRecord
    • Renamed ActivitySession -> ExerciseSessionRecord
  • Moved package metadata nested under records. (Ie0835)
  • Used Length unit in all remaining records (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Added Length unit type (Idae39)
  • Update CervicalMucus description terminology (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Added 'Record' suffix to all record class names (I1ffc2)

Bug Fixes

  • Fix proguard issues when lib built with release flavor and minifyEnabled true. (I78933)
  • Hides documentation not intended for public usage. (I7a08f)
  • Fixes the issue in clients who may have their own protobuf dependencies.(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

Lifecycle: v2.5.1

July 27, 2022

androidx.lifecycle:lifecycle-*:2.5.1 is released. Version 2.5.1 contains these commits.

Bug Fixes

  • Custom implementations of AndroidViewModelFactory now correctly call the create(modelClass) function when using the stateful AndroidViewModelFactory constructor with Lifecycle 2.4+. (I5b315, b/238011621)

Mediarouter: v1.3.1

July 27, 2022

androidx.mediarouter:mediarouter:1.3.1 is released. Version 1.3.1 contains these commits.

Bug Fixes

  • Work around a device-specific issue where MediaRouter.removeUserRoute() would throw an unexpected IllegalArgumentException (b/202931542).

Metrics: v1.0.0-alpha03

July 27, 2022

androidx.metrics:metrics-performance:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

  • This release contains minor API refinements as the library gets closer to beta. One of the API changes removes the Executor from the createAndTrack() factory method for creating a JankStats object. This has implications for the OnFrameListener callback, as that listener is now called on the thread which delivers the per-frame data to JankStats (the Main/UI thread on versions earlier than API 24, and the FrameMetrics thread on API 24+). Moreover, the FrameData object passed to the listener is now reused every frame, so data from that object must be copied and cached elsewhere during the callback, as that object should be considered obsolete as soon as the listener returns.

  • There were also various bug fixes, including some concurrency issues.

  • Finally, the fix to reuse FrameData (mentioned above) means that there are now zero allocations per frame due to frame metrics delivery. There weren’t many allocations before, but the new approach means that you can use JankStats without incurring any per-frame GC overhead in your app.

API Changes

  • Updated method and parameter names in PerformanceMetricsState to make the results of those calls clearer. (I56da5, b/233421985)
  • Added benchmark tests to track allocations, eliminated some internal allocations related to state management and reporting. Note that FrameData passed to listeners is now considered volatile; that structure will be reused for the next frame and the data is only reliable until the listener returns.
  • Removed Executor from constructor for JankStats; listeners are now called on whatever thread the internal data was received upon. (I12743)

Bug Fixes

  • Fixed crash due to double-removal of OnFrameMetricsAvailableListener (I44094, b/239457413)
  • Return to original logic of posting OnPreDrawListener messages at front of queue, for more consistent and predictable frame timing. (I05a43, b/233358407)
  • Fixed ConcurrentModificationException bug where the list of listener delegates was being modified while it was also being iterated through to send per-frame data. (Ib7693, b/236612357)

Navigation: v2.5.1

July 27, 2022

androidx.navigation:navigation-*:2.5.1 is released. Version 2.5.1 contains these commits.

Bug Fixes

  • Navigation Safe Args will no longer cause deprecation warnings in generated classes when using custom argument types that are saved in a Bundle. (Id86ed, b/237725966)

Dependency Updates

ProfileInstaller: v1.2.0

July 27, 2022

androidx.profileinstaller:profileinstaller:1.2.0 is released. Version 1.2.0 contains these commits.

Important changes since 1.1.0

  • Added support for the ART profile format used on Android 12 and going forward.
  • Add new APIs in ProfileInstallReceiver to get more consistent results with Macrobenchmarks when using baseline profiles.

Room: v2.4.3

July 27, 2022

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

Bug Fixes

  • Fixed an issue that would cause Room to not recognize suspend functions in Kotlin 1.7 (b/236612358)

ShareTarget: v1.2.0-rc02

July 27, 2022

androidx.sharetarget:sharetarget:1.2.0-rc02 is released with no changes since version 1.2.0-alpha01 . Version 1.2.0-rc02 contains these commits.

Tracing Perfetto: v1.0.0-alpha01

July 27, 2022

androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01, and androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

  • Note: All androidx.tracing:tracing-perfetto* libraries are initially only intended for internal use inside AndroidX libraries. You should have no need to depend on them directly.

New Features

  • All androidx.tracing:tracing-perfetto* libraries are initially only intended for internal use inside AndroidX libraries. and you should have no need to depend on them directly. We are documenting these implementation details for transparency.

  • androidx.tracing:tracing-perfetto is a library which helps write trace events using low-overhead Perfetto SDK. This can be used inside Benchmark, Android Studio or Perfetto UI.

  • androidx.tracing:tracing-perfetto-binary is a set of binary dependencies required for androidx.tracing:tracing-perfetto.

  • androidx.tracing:tracing-perfetto-common is an internal dependency of androidx.tracing:tracing-perfetto and can be used by tooling to integrate with androidx.tracing:tracing-perfetto.

Wear Compose: v1.1.0-alpha02

July 27, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02, and androidx.wear.compose:compose-navigation:1.1.0-alpha02 are released. Version 1.1.0-alpha02 contains these commits.

New Features

  • We have switched Compose for Wear OS dependencies on core Compose libraries from 1.2.0 to 1.3.0-alpha0X

API Changes

  • Added overloads for modifying chip shapes (I02e87)

Bug Fixes

  • We have animated the visibility of the vignette when showing/hiding Dialog, to be consistent with the existing scaling animation. (Ida33e)
  • We have fixed a bug where a divide-by-zero could occur with some fling behavior when scrolling. (I86cb6)
  • Fixed a bug in the ChipDefaults.childChipColor() to ensure that the disabled background color is fully transparent. (I2b3c3, b/238057342)

Wear Compose: v1.0.0

July 27, 2022

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0, and androidx.wear.compose:compose-navigation:1.0.0 are released. Version 1.0.0 contains these commits.

Major features of 1.0.0

  • This is the first stable release of Compose for Wear OS (read more).
  • Compose for Wear OS builds upon the core Compose libraries providing additional wearable-specific components and, where appropriate, alternate implementations of core Compose components tailored to wearable devices.
  • For a list of the key components in Wear Compose see the release notes for (Compose for Wear OS Beta01).

Bug Fixes

  • We have animated the visibility of the vignette when showing/hiding Dialog, to be consistent with the existing scaling animation. (Ida33e)
  • We have fixed a bug where a divide-by-zero could occur with some fling behavior when scrolling. (I86cb6)
  • Fixed a bug in the ChipDefaults.childChipColor() to ensure that the disabled background color is fully transparent. (I2b3c3, b/238057342)

Wear Tiles: v1.1.0-beta01

July 27, 2022

androidx.wear.tiles:tiles-*:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits.

The 1.0.0-beta01 release of Tiles Material library contains components and layouts that are in-line with Material guidelines and easy to build.

The included components are:

  • Button - clickable, circular-shaped object, with either icon, text or image with 3 predefined sizes.
  • Chip - clickable, stadium-shaped object that can contain an icon, primary and secondary labels, and has fixed height and customizable width.
  • CompactChip & TitleChip - two variations of the standard Chip that have smaller and larger heights, respectively, and can contain one line of text.
  • CircularProgressIndicator - colored arc around the edge of the screen with the given start and end angles, which can describe a full or partial circle with the full progress arc behind it.
  • Text - styled text which uses the recommended Wear Material typography styles

All these components have their own colors object that can be built with the main Colors class to easily apply the same theme over all components. In addition to colors, there is a Typography class to easily get FontStyle objects using the typography name.

In addition to components, there are recommended tiles layouts:

  • PrimaryLayout - A layout which can be customized by adding primary or secondary labels, content in the middle, and a primary chip at the bottom. The main content within this layout could be added as a MultiSlotLayout or MultiButtonLayout object.
  • EdgeContentLayout - A layout for hosting CircularProgressIndicator around the edge with main content inside and primary or secondary label around it.
  • MultiButtonLayout - A layout that can contain 1 - 7 buttons, arranged in line with the Material guidelines depending on their number.
  • MultiSlotLayout - A row-like style layout with horizontally aligned and spaced slots (for icons or other small content).

All layouts have recommended padding and styles applied that are within Material guidelines.

API Changes

  • Major refactor to the Chip components that includes separating setters in Builder so that each part of the content is passed in separately with renaming to match guidelines (primary label, secondary label, image resource id). Additionally, content description will be auto generated if not set. (I57622)
  • ProgressIndicatorLayout has been renamed to EdgeContentLayout. (Ic1aa6)
  • Button size contents have been renamed to names without _BUTTON suffix in it with additional Javadocs clarification across Button. (I1dfe2)

Bug Fixes

  • Margins, padding and overall arrangement in Material Layouts has been updated to accommodate all types of recommended layouts and screen sizes and shapes.
  • Improvements to Material Layouts. In MultiSlotLayout slots are now flexible in width where they’ll wrap content instead of being fixed size.(I52919),(If18b4)
  • Area that can be tapped on CompactChip has been increased to follow accessibility guidelines. (Ie8264)

WindowManager: v1.1.0-alpha03

July 27, 2022

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

New Features

  • Update the default values for embedding rules.

API Changes

  • Update default values for embedding rule properties. (Ic4d35)