Skip to content

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

Open
pull[bot] wants to merge 48 commits intoMaxMood96:androidx-mainfrom
androidx:androidx-main
Open

[pull] androidx-main from androidx:androidx-main#1000
pull[bot] wants to merge 48 commits intoMaxMood96:androidx-mainfrom
androidx:androidx-main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Apr 13, 2026

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 : )

yingmak and others added 16 commits April 8, 2026 13:43
Expose clock param to enable animated component to be stably test.
Test: Existing tests

Change-Id: I24d6872f1feceafb8320a735646d41e16a6a6964
…atialResults and VpsAvailabilityResults.

Test=build

Change-Id: Ibaf5cb2e528204072df50b926eff56365889e492
Deprecates the `SubspaceNodeEntity.create` method that takes a platform `Node` parameter in favor of using `NodeHolder` to avoid platform dependence.

Bug: 447454270
Bug: 467221584
Test: presubmit

Change-Id: I9174d7c88cbdd344b616829ba8ee6ddfd7883eb2
Update AGENTS.md to explicitly discourage hardcoding minSdk in
Robolectric tests, recommending the use of Config.TARGET_SDK or
Config.ALL_SDKS instead for better forward compatibility and
test coverage.

Test: N/A
Change-Id: I9e7f482cfbadc159f65fbe796387cd313a8a10f0
Test: n/a
Change-Id: I6d14c8adfb074aa31e2407d192476ecbf06c60c8
Bug: 497876844
Test: Ran existing tests and ./gradlew updateApi
Relnote: Promote `materialExpressTheme`, `expressiveLightColorScheme` and `largeIncreased`, `extraLargeIncreased` and `extraExtraLarge` in `Shapes`
Change-Id: I40eab704c0bb7c7a4fd015ed0e57650fa7f6acef
These tests they don't require a device, so there is no need for them to
be in the androidTest section.

This change was primarily driven from the discovery that most of them
directly call their constructor in test code but not in production code,
creating a "false positive" of sorts when R8 does it's "used code"
checks. Moving these tests out of androidTest also updates the
androidTest to use the arcore-openxr types in a way that is more
consistent with actual API usage, and allows our R8-processed automation
runs to (hopefully) be more reliable in the future.

It also shaves ~10s off the runtime of
`xr:arcore:arcore-openxr:connectedReleaseAndroidTest`.

Bug: 501088399
Test: local unit and device tests
Change-Id: I67ed21330be778382fe40b8ec16a27e974d634df
Adds device capability retrieval methods for determining eye tracking,
hand tracking, depth estimation, geospatial, and rendering support. Adds
a default implementation for the projected runtime, a fake
implementation, and a stub no-op implementation for the openxr runtime,
to be added in a follow-up CL.

Relnote: "Adding APIs for determining device support for hand tracking,
eye tracking, depth estimation, geospatial, and rendering."

See go/go/xr_device_capabilities_api_proposal

API Proposal Bug: b/488650958
Bug: 479259835
Test: Unit tests in XrDeviceTest.kt

Change-Id: I006964e70e8301fffa08cd470a6f4460995b5bec
Fixes: 501560093
Change-Id: I2ac6945b5de8ad2d2be1bc7f6ff5ecc32164a471
Update `BrowserInput` to attempt to recover the index from the browser's history state (e.g., after a page refresh). If a valid state is found, it now restores `browserIndex`, `logicalHistorySize`, and `pushedHistorySize`. If no state exists, it falls back to the previous behavior of seeding the current history entry with an initial index of 0.

Bug: N/A
Test: BrowserInput
Change-Id: I0f78101f11df90f8a2499c7526d43d6d3d83aa12
This change updates `BrowserInput` to set the document title and URL fragment based on the navigation state information (using `toString()`) when pushing or replacing history states.

- Adds a `title` property to `WindowCompat` to allow reading and writing the document title.
- Modifies `BrowserInput` to update `window.title` and include a url fragment when calling `pushState` and `replaceState`.
- Adds `onHistoryChanged_updatesTitleAndFragment` test to verify the updated behavior.

Bug: N/A
Test: BrowserInput
Change-Id: I6cb614007ab0e12bf8e6d388337f5d9e9c8564f4
Convert the `Component` interface into an abstract class to secure its
lifecycle methods and improve API robustness.

The `onAttach()` and `onDetach()` methods are now `protected abstract`,
preventing them from being called directly by developers. This ensures
that the component lifecycle is managed exclusively by the framework
through the `Entity.addComponent()` and `Entity.removeComponent()`
methods.

To facilitate this, new `internal` methods, handleAttachInternal() and
handleDetachInternal(), have been introduced as the sole entry points
for the `Entity` system. The base implementation of these methods calls
the corresponding protected lifecycle hooks.

All existing concrete component implementations have been updated to
extend the new `Component` abstract class.

Bug: 496093706
Bug: 476437428
Test: Presubmit
Relnote: "The Component API has been refactored for improved safety and
    extensibility. `Component` is now an abstract class. The
    `onAttach()` and `onDetach()` methods are now `protected` to prevent
    direct calls. Please use `Entity.addComponent()` and
    `Entity.removeComponent()` to manage component lifecycles."
Change-Id: Id04e8b9863eb027b18118616609ab1928350f81f
- Clarified unclear mention about fallback behavior.
- Fixed grammar issues.
- Added missing KDoc for `EmphasisStyle` class, `EmphasisSpan.DEFAULT_POSITION`
and `AnnotationPosition`/`EmphasisStyle` `value` properties.

Test: ./gradlew buildOnServer
Bug: 449184326
Relnote: "Modified KDoc"
Change-Id: I71c8ffd6d4b2987bb7abc1a090133501d25a766c
@pull pull bot locked and limited conversation to collaborators Apr 13, 2026
@pull pull bot added the ⤵️ pull label Apr 13, 2026
sravaniva and others added 12 commits April 13, 2026 09:24
Incremented versionCode from 101 to 102 and versionName from 1.101 to 1.102

Bug: 502093847
Fixes: 502093847

Test: Manual install and version check on device. APK loads and runs.
Change-Id: Ic591a19faa3dbaad0261a233d8201a035f080962
Test: owners only
Change-Id: I1cf0e84454dce0c5b2ce1226489ee47633fcad80
Change-Id: Id71923bf0ca54a4638083a4456c0f334bcc86be4
This change mainly prepares to reverse the relationship between AppFunctionPackageMetadata and AppFunctionMetadata:
- AppFunctionMetadata contains reference to AppFunctionPackageMetadata (added in this CL)
- AppFunctionPackageMetadata should no longer contain list of AppFunctionMetadata
- AppFunctionComponentMetadata should move from AppFunctionMetadata to AppFunctionPackageMetadata (contained in both after this CL for smooth migration)
- Restricted legacy constructor to library group
- Once all usages are migrated to the new constructor, the legacy constructor will be removed and new properties made required.

Relnote: Update AppFunctionMetadata classes to align with platform changes
Bug: 500667251
Test: Updated unit tests
Change-Id: Iecb8d2290b73001394563a49533a1064dfc53fbe
Bug: 500667251
Test: Updated tests
Change-Id: I94c25d5ef54a9cbeec7d6c8e9cfe004f308185c4
Bug: 502160266
Test: N/A
Relnote: N/A
Change-Id: Ic97d3d25d18c04dbcf07af379ce3049076ff3c43
Abhijith Nair and others added 20 commits April 13, 2026 15:09
Test: ./gradlew :javascriptengine:javascriptengine:connectedAndroidTest
--info

Change-Id: Ifdefd13119852da69c1ddd5f16dc6477f2205301
- Updated build.gradle to use Android 37 (Baklava).
- Added FEATURE_MATCHMAKING constant in HealthConnectFeatures.
- Implemented MatchmakingRequest with record types and data source filters.
- Implemented MatchmakingResponse.
- Added checkIfMatchmakingIsPossible and createMatchmakingIntent to HealthConnectClient.
- Implemented matchmaking APIs in HealthConnectClientUpsideDownImpl by delegating to platform APIs.
- Added instrumentation tests to verify new functionality.
- Updated ACTION_HEALTH_CONNECT_MATCHMAKING to be public and use platform constant for API 37+.

Demo: https://photos.app.goo.gl/bqrjpBSpAw3AZ9pk9

Relnote: "Added new Matchmaking APIs (checkIfMatchmakingIsPossible and createMatchmakingIntent) to Health Connect to help users discover and connect compatible apps and devices."
Test: ./gradlew :health:connect:connect-client:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=androidx.health.connect.client.impl.HealthConnectClientUpsideDownImplTest
Change-Id: I72f6713216013d709be91739231ee9e764d31b7d
Test: ./gradlew bOS --dry-run
Change-Id: Iebf1afb3c1e7da67a3ffd7609c3e8e3644bbaf6d
… and navigation-testing modules

Relnote: watchos and tvos targets added to navigation-common, navigation-runtime and navigation-testing modules
Test: N/A
Change-Id: I60e460eb4b5ff4d653f1b4d4cf3acad0643253e8
Bump the alpha release version number for the next schedulability cutoff.

Test: n/a
Bug: 446647079
Change-Id: I283099dd347990eb9a1162001cdf01cf55b00e4a
…runtime and navigation-testing modules" into androidx-main
…r GeospatialResults and VpsAvailabilityResults." into androidx-main
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.