Skip to content

[pull] androidx-main from androidx:androidx-main - #1451

Merged
pull[bot] merged 27 commits into
MaxMood96:androidx-mainfrom
androidx:androidx-main
Sep 10, 2026
Merged

[pull] androidx-main from androidx:androidx-main#1451
pull[bot] merged 27 commits into
MaxMood96:androidx-mainfrom
androidx:androidx-main

Conversation

@pull

@pull pull Bot commented Sep 10, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

i-akimenko and others added 27 commits September 1, 2026 17:25
…in test app

Relnote: Improve kdocs related to `AudioOutputProvider` to highlight that it should not be re-used with multiple `ExoPlayer` instances
Bug: 505135689
Test: Ran test app

Change-Id: I6b18e9f742d74a26cfbd6ce6acae3b9669113364
Focus search is modified to skip focus targets that are geometrically
occluded by an active InteractionBarrierNode drawn on top of them.

Test: FocusChangedTest
Bug: 347038246
Change-Id: Ibbca6b32f4c28b29d15d433ce7af650a88b5427d
Handles onStarted and onReadoutStarted callbacks for readout streams in
CameraPipe when the camera HAL sends onReadoutStarted after onStarted.

- Guard readout logic in FrameDistributor with usesReadoutTimestamp
- Track frames awaiting readout in startedFrameStates
- Distribute readout images when onReadoutStarted arrives

Test: ./gradlew 📷camera-camera2-pipe:testReleaseUnitTest --tests "androidx.camera.camera2.pipe.internal.FrameDistributorTest"
Test: ./gradlew 📷camera-camera2-pipe:buildOnServer
Change-Id: If3a0c026a3a25c350b7ad90723f559b230f26cf6
This follows the default Row vertical alignment (`Alignment.Top`)

Bug: N/A
Test: ./gradlew :compose:material3:material3-a2ui:connectedAndroidTest
Change-Id: If0bca47da9917016a075c2537e4f82c44ddbde4e
similar issue and solution to aosp/4092851

Test: n/a
BUG: 559254208
Change-Id: I5534e7e7b9a308a740e2903b098574a60773bf81
Introduces `CarIcon.createTintedIcon(IconCompat, CarColor)` to allow creating a tinted icon with an explicit custom `CarColor`.

Updates Javadoc on both `createTintedIcon` overloads and related `CarIcon.Builder` methods to follow AndroidX documentation guidelines.

Test: ./gradlew 🚗app:app:testReleaseUnitTest --tests "androidx.car.app.model.CarIconTest"
Relnote: "Added `CarIcon.createTintedIcon(IconCompat, CarColor)` to create a tinted icon with a custom tint color."
Bug: 508379704
Change-Id: Icb80453dc595c2acebd6c11f72e07b0c3152d2c8
Instead of maintaining a derivedStateOf calculation for localeList that
is evaluated on snapshot reads, update localeList directly in
updateConfiguration when the locales have changed. This eliminates the
DerivedSnapshotState allocation and tracking overhead.

Benchmark results for ComposeBenchmark#benchmark_f_compose_Rect_1 on Pixel 7 Pro:
- Median time: 9,512.4 ns -> 9,463.7 ns (-48.7 ns / -0.51%)
- Min time: 9,078.5 ns -> 8,946.4 ns (-132.1 ns / -1.45%)
- Allocation count: 8.26 -> 8.17 (-1.09%)
- Groups / Slots: 31.0 / 68.0 (unchanged)

Test: ./gradlew :compose:ui:ui:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=androidx.compose.ui.platform.ConfigChangeActivityLocaleTest
Test: ./gradlew :compose:runtime:runtime:benchmark:connectedReleaseAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=androidx.compose.runtime.benchmark.ComposeBenchmark#benchmark_f_compose_Rect_1
Bug: 558186662
Relnote: N/A
Change-Id: I5a70843e1caea72a1e6085fd591496b434656056
In ComposeViewContext, LocalHostDefaultProvider was provided using
`providesComputed { owner.hostDefaultProvider }` when
isMinimalistLocalsEnabled is true. Because owner.hostDefaultProvider is
an existing ViewTreeHostDefaultProvider instance (cached lazily on
AndroidComposeView), providing it via providesComputed created an
unnecessary capturing lambda closure on every invocation and consumed
additional slot table entries.

Providing it directly via `provides owner.hostDefaultProvider` (matching
the non-minimalist branch) eliminates the lambda allocation, reduces slot
table entries by 2, and saves ~1.1 µs of composition overhead.

ComposeBenchmark.benchmark_f_compose_Rect_1 on Pixel 7 Pro:
timeNs median: 10,190.1 ns -> 9,091.5 ns (-10.8%)
allocationCount: 8.28 -> 7.14 (-1.14 allocs, parity with non-minimalist)
Slots: 68 -> 66 (-2 slots)

Test: ./gradlew :compose:ui:ui:testAndroidHostTest
Test: ./gradlew :compose:runtime:runtime:benchmark:connectedReleaseAndroidTest -Pandroid.testInstrumentationRunnerArguments.tests_regex=.*benchmark_f_compose_Rect_.*
Relnote: N/A
Change-Id: Iba8feedd8c107d948e87a0fe66e84481fdb78323
Updates current and previously released signature files to add
@SuppressCompatibility to packages containing only experimental items.

In addition, previously released signature files must also be updated.
The release compatibility check (checkApiRelease) compares the current
API surface against previously released signature files. Because the
released files lacked @SuppressCompatibility on those packages,
Metalava flags them as an incompatible change:
  Removed package <pkg> from compatibility checked API surface
  [BecameUnchecked]
Adding @SuppressCompatibility to the previously released files
corrects the historical omission and resolves the checkApiRelease
errors.

Also re-enables androidx_with_metalava.

This change updates the signature files as part of a topic to update
Metalava.

Relnote: N/A
Bug: 512093496
Test: ./gradlew
Change-Id: I4a8ee0cc34e9423a721d0267b21f888d6c0ca07c
…nBinder

When a tile provider process dies between the initial tile-data request
and a follow-up resources request, getBinder() observes that the cached
binder is not alive and reconnects to the service.

Previously, connectToService() assigned the new ServiceConnection
directly to the connection field, dropping the reference to the old
still-registered BIND_AUTO_CREATE connection without unbinding it.
This leaked the connection in the host process and kept the provider
process bound indefinitely.

This change unbinds any stale connection before creating a new
connection on the dead-binder reconnect path.

Test: ./gradlew :wear:tiles:tiles-renderer:testReleaseUnitTest --tests "androidx.wear.tiles.connection.TilesConnectionBinderTest"
Relnote: N/A
Fixes: 540652310
Change-Id: Ice0acbc9627439d023b4188af8b1a736d9db1514
…ions

This updates the following library versions in libraryversions.toml:
- DATASTORE to 1.3.0-alpha12
- LIFECYCLE to 2.12.0-alpha04
- NAVIGATION3 to 1.3.0-alpha01
- SAVEDSTATE to 1.6.0-alpha04

Change-Id: Ifc1780897f5403858c8de01c162acd55f33b1a1a
Test: checkApi
Change-Id: I85d6a5e27d1d6f0adda7a2768a03ba7b2e8262f8
Changes:
AGP version changed from 9.3.2 to 9.4.0 on 09-01-2026
KGP version changed from 2.4.10 to 2.4.20 on 09-07-2026

This CL was automatically created by a cron job.

PiperOrigin-RevId: 979282511
Change-Id: Ib0bd10fa309389c1350d4869a626647a9ae5c818
Bug: n/a
Test: n/a
Change-Id: Ica1c08b43dbc8c1fb434a42fe40fb6a86d3a347e
@pull pull Bot locked and limited conversation to collaborators Sep 10, 2026
@pull pull Bot added the ⤵️ pull label Sep 10, 2026
@pull
pull Bot merged commit 36dfbf5 into MaxMood96:androidx-main Sep 10, 2026
2 of 4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants