Skip to content

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

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

pull[bot] merged 35 commits into
MaxMood96:androidx-mainfrom
androidx:androidx-main

Conversation

@pull

@pull pull Bot commented Sep 21, 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 : )

Lucas Muller Oliveira and others added 30 commits September 18, 2026 11:22
…tManager

WearWidgetCache is populated per service in GlanceWearWidgetService.onCreate(), so an app with multiple widgets (or a newly added widget after an app update) may have a non-empty cache that is still missing the target widget's mapping. Update State.getServiceToWidgetMapping(targetWidgetName) to check whether the target widget is present in the cache rather than only checking if the cache is non-empty, falling back to PackageManager recovery when missing.

Test: ./gradlew :glance:wear:wear:test
Change-Id: I09eed04c9a637951cbf27f3248ce7565d710e883
Added examples for Progress Bar track color, and stroke cap

Demo recording: https://screencast.googleplex.com/cast/NTUwNDI0MTkyOTAyNzU4NHw0MTdlMjQ3Yy00NQ

Test: Manual tests
Bug: 558225831
Change-Id: I1f997ffc0edeea9405f2356817379a468aef5cb0
Adds an overload to RemoteButtonDefaults.buttonWithContainerPainterColors
allowing caller customization of content, secondary content, and icon colors
for enabled and disabled states.

Bug: 556172440
Test: ./gradlew :wear:compose:remote:remote-material3:compileReleaseAndroidTestKotlin
Relnote: "Add `RemoteButtonDefaults`.`buttonWithContainerPainterColors` overload supporting color customization."
Change-Id: If62d48451da68d44793ddcc2c6048f93baf6ec8b
When a ComputedState dependency changes without changing its computed
value, rereadIndirectState runs to refresh the state's dependencies.
Previously, it called recordRead with the inner dependencies directly
on all scopes observing the ComputedState.

This caused observing scopes to subscribe directly to those inner
dependencies in valueToScopes. On subsequent mutations, the scope would
be invalidated directly, bypassing the ComputedState's equality check
and causing unnecessary invalidations.

This CL updates rereadIndirectState for ComputedState to re-record its
dependencies into dependencyToIndirectStates and update its recorded
value, without registering inner reads into the outer scopes.

Relnote: """
    Fixed an issue in `computedStateOf` that could lead to unexpected
    invalidations when read with `SnapshotStateObserver`.
    """
Fixes: b/561372470
Test: SnapshotStateObserverTestsCommon
Change-Id: Ie3f8bec7045e6bc9d8cb72bc577218c0052beeac
Test: ./gradlew checkApi
Change-Id: I1b78fcea044a66a6d17187eef447a6eea0ad3ef3
- `triggerUpdateAll` was not sending the update broadcast on debuggable builds, preventing widgets in the Widget Tray Emulator from updating.
- Move the instance-level broadcast from `triggerUpdateInternal` to `triggerUpdate` so `triggerUpdateAll` only sends a single provider-level broadcast.

Test: ./gradlew :glance:wear:wear:test
Relnote: "Fixed widget updates in the Widget Tray Emulator when calling `triggerUpdateAll` on debuggable builds."
Change-Id: I22d3f0648dec97e25ee2443bc14c96455a08c8c1
Test: None
Change-Id: I2356b59b88027c34c201191d5cd8e4d65b9217ee
Test: None
Change-Id: If4df12ab30d7bcc17cdc3b5b73974b0994e8795a
Ensures the `required` array is serialized in alphabetical order for deterministic JSON schema output.

Test: ./gradlew :a2ui:a2ui-model:test
Relnote: N/A
Change-Id: I130af93d15728fd0d013e8a6d429961ddda4e16e
This reverts commit 42009b7.

Reason for revert: Blocking G3 drop b/564109322

Change-Id: I20f1b633714287e694a7cddfefa59b02b446ec5d
The source for this lib has been deleted in
I2203f5f2c8cbdc1d3ff7d9211616e58238a95702, but it's likely still in use,
so it seems reasonable to continue hosting the docs derived from the
latest prebuilts for now.

Bug: 563186377
Change-Id: If37eb11719b8418799c2b1a5126288e6581181ef
Promotes state constructors and factory functions to public APIs
annotated with @RememberInComposition. Exposes createNamedRemoteDp
and createNamedRemoteImageBitmap.

Test: ./gradlew :compose:remote:remote-creation-compose:test
Relnote: "Exposed state creation constructors and factory functions annotated with @`RememberInComposition`."
Bug: 484137042
Change-Id: I6db3d25a5b707159e4d624e2b1662f641dbff7c7
TAG=agy
CONV=deef833f-bcbd-4202-9c4e-eca461ab9c6d
This is already the default value, setting it explicitly has no effect.

See buildSrc/public/src/main/kotlin/androidx/build/AndroidXConfiguration.kt

Test: None
Change-Id: Idd52a9faadcf3da229808c6aa5661abece7f02c8
Makes RcPlayerState a concrete @stable class (eliminating RcPlayerStateImpl
downcasts and dead fallback paths in RcPlayer.kt) and adds
RcPlayerState.updateTime(frameMillis, updateContinuous) so time updates
advance both GraphContext.timeState and currentTimeMillisState consistently.

Also logs a warning in preprocessDocument when an operation defines an ID that
collides with a reserved system variable ID without failing or remapping.

TAG=agy
CONV=2048df11-2941-4d99-a31b-6b0d6ebe2a21
Test: ./gradlew :compose:remote:remote-player-compose:testReleaseUnitTest
Relnote: N/A

Change-Id: I2c45e004f0791642073bf61b0b422a2468bf2e58
Dispatches MultiClickModifier operations (single click, double click, and
long press) via Modifier.combinedClickable when converting ComponentModifiers,
and collapses Component.Visibility.GONE components to layout(0, 0) rather than
preserving measured bounds.

TAG=agy
CONV=2048df11-2941-4d99-a31b-6b0d6ebe2a21
Test: ./gradlew :compose:remote:remote-player-compose:testReleaseUnitTest
Relnote: N/A

Change-Id: If6483e39b764074f1dfd04f08b6f38c6d6a18f2e
Test: ./gradlew bOS --dry-run
Change-Id: I80ba11cc1da278b99581f99b625c0f7b8fa6cffe
Rename the useSafeFallbackRendererVersion parameter to
useBaselineHostVersion across all WearWidgetPreview overloads. Also
update the corresponding KDocs to use "baseline host version"
terminology to avoid implying that newer versions are "unsafe".

Relnote: "Renamed the `useSafeFallbackRendererVersion` parameter in `WearWidgetPreview` to `useBaselineHostVersion`."
Bug: 563489596
Test: ./gradlew :glance:wear:wear-tooling-preview:lint
Change-Id: I07bca2454493419942790f3ddecef72d4ea1f453
Check target dimensions and pre-check encoded image bounds using
BitmapFactory.Options.inJustDecodeBounds when restrictImageSize is
enabled on SDK < 31, matching the validation performed on SDK >= 31.

Test: DefaultInlineImageResourceResolverTest, ConstrainedImageDecoderTest

Change-Id: I7b1eea7b4ea102c7869d35ad6a043033dc7e45bb
android-test-infra-autosubmit@system.gserviceaccount.com and others added 5 commits September 21, 2026 04:41
* changes:
  Fix debug update broadcast in GlanceWearWidget.triggerUpdateAll
  Recover missing widget mapping from PackageManager in GlanceWearWidgetManager
@pull pull Bot locked and limited conversation to collaborators Sep 21, 2026
@pull pull Bot added the ⤵️ pull label Sep 21, 2026
@pull
pull Bot merged commit b0e5f9f into MaxMood96:androidx-main Sep 21, 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.

7 participants