Skip to content

Comments

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

Merged
pull[bot] merged 65 commits intoMaxMood96:androidx-mainfrom
androidx:androidx-main
Feb 24, 2026
Merged

[pull] androidx-main from androidx:androidx-main#865
pull[bot] merged 65 commits intoMaxMood96:androidx-mainfrom
androidx:androidx-main

Conversation

@pull
Copy link

@pull pull bot commented Feb 24, 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 : )

eymar and others added 30 commits February 20, 2026 07:48
Motivation is explained in https://youtrack.jetbrains.com/issue/KT-84413

Test: existing tests
Change-Id: Iba4bbb202850133646a8b62dbb1afe8101538c29
The method calls in `RecordConverters` return a builder which don't need to be used. The
method calls in the `init` blocks are just used to validate that the
record is valid but it not otherwise used.

Bug: 467280299
Test: unit tests
Change-Id: Ie60ce326f5166760bf9aa83f9ab83ddc6036b90f
…Android U+."

This reverts commit 82db318.

Reason for revert: Implement the original change with SDK extension checks

Changes:
   1. Added SDK Extension Guards in Record Constructors: Updated the init blocks of PlannedExerciseSessionRecord, SkinTemperatureRecord, MindfulnessSessionRecord, and ActivityIntensityRecord to check for their respective required SDK extension versions before calling
      toPlatformRecord(). If the required extension is missing, they now fall back to local Jetpack validation.
   2. Guarded Extension Fields in Record Conversion: Updated RecordConverters.kt to guard fields added in SDK extensions. Specifically, plannedExerciseSessionId in ExerciseSessionRecord (Extension 13) is now only converted if the device
      supports them.
   3. Added Comprehensive Tests: Created health/connect/connect-client/src/test/java/androidx/health/connect/client/records/RecordSdkExtensionTest.kt to verify that all these records can be instantiated on Android U without crashing, even when SDK extensions are not present.

Bug: 476861789
Change-Id: I81cc097511864059f4cbc0ae5dd34fde38a86a10
Test: ./gradlew :health:connect:connect-client:testReleaseUnitTest
Relnote: "Defer record validation checks to platform on Android U+"
Replace the internal LinkedHashMap with MutableScatterMap to
reduce memory footprint and improve performance. This change
minimizes object allocations during storage and lookup, providing
more efficient resource management within the Lifecycle library.

Bug: N/A
Test: existing passes
Change-Id: I659bd842f06618dff2b7875a24d205b8fbe5a541
This change introduces Media Queries in Compose, providing a declarative and performant way for developers to adapt their UI based on the device environment and capabilities.

The new API surface is marked with  @ExperimentalMediaQueryApi opt-in requirement.

The integration is currently disabled by default, controlled by the 'isMediaQueryIntegrationEnabled' flag in ComposeUiFlags.

Test: Added MediaQueryTest

Bug: 479800750

Relnote: "Introduced experimental `mediaQuery`,`derivedMediaQuery` and `UiMediaScope` APIs (marked as `@ExperimentalMediaQueryApi`) to enable declarative adaptive UI development based on window dimensions, window posture, and other device and environment capabilities."

Change-Id: I2d21e6c3b11c8eebd5abc740facff6b3dc115c6a
Test: presubmit
Bug: 485135520
Change-Id: Ia72e9ceefd0ef77090d9ef69d9527bedea1e1f2d
Change-Id: I176616b8efd05cdeeb71e69e6ee7663c10c39b4f
Previous suppression of 'deprecated' was ineffective.

Bug: N/A
Test: N/A
Change-Id: I66be74fcb357a0b494bcb2a7d7788b1d9e32c7b1
…chor moving to a new position and the subspace following it.

Fixes: 467006365

Test: Tested on Moohan emulator.
Change-Id: I300b4af9f435bd9e85e38fd071b8c893d27d9176
Relnote: Marked `SnapshotFlowManager` as experimental
Test: SnapshotFlowTests and SnapshotFlowTestsJvm
Bug: 486077876
Change-Id: I5c1a54d02edec71c4ce4c7cca7227961bb40f37f
Per the documentation and the discussion in the bug, we can
exempt ComposeToolingFlags from the feature flag lint rule,
as these are not normal temporary feature flags.

Bug: 485958933

Change-Id: Ida69b34e8812933197aaf0191958063b7806a64c
In CaptureSessionState, pendingOutputMap and pendingSurfaceMap are used
to track the remaining outputs and surfaces that need to be finalized on
the output configurations. However, at present, if
finalizeOutputsIfAvailable() is invoked in parallel, 2 or more
invocations may be accessing the pending maps, and they would all get
the non-null values because the first (succeeded) invocation would not
clear the pending maps.

Make sure to clear the pending maps when the capture session is
configured and we have all the pending maps.

Bug: 481011036
Bug: 474267680
Test: PCS test app mode switching
Change-Id: I23500954c4a5c1c5eaa76a7148e879974912cf68
camera_implementation parsing and switching have been removed. Clean up
the usage in ReleaseApkTest.

Bug: 448578492
Test: Build camera-extensions
Change-Id: Ib628ed84d45dcd5de86ab44f490bcfde89782efd
BasicTooltipBox's layout hierarchy currently causes a few problems.
For one, it puts its child into an inner Box without propagating its
incoming constraints. That means there is no way for a user to size the
content of a BasicTooltipBox without applying a
modifier to the child. This presents a problem for component libraries,
where BasicTooltipBox
might be the entry point of a component like an icon/button, and
modifiers like size()/fillMaxSize() don't function.
Besides that, since the incoming modifier is not used by the layout it
emits, parent layout modifiers (such as align()) simply do not work.

This addresses these issues by changing the layout hierarchy such that
WrappedAnchor's box uses the incoming modifier and (optionally)
propagates its layout constraints to its children.

Bug: 467532639, 301605744
Test: Added test that asserts child's size
Relnote: "Added a new overload to BasicTooltipBox that allows configuring propagateMinConstraints, similar to Box's parameter with the same name. This allows passing the minimum constraints directly to the children of the BasicTooltipBox, without them being relaxed by BasicTooltipBox."
Change-Id: Ib145f4c9698cc6aec344235e3e03df494ff02409
…ature

This change enforces minimum sdk extension version 19 for ImageSelection feature. The `isImageSelectionEnabled` property setter in `PdfView` is now annotated with `@RequiresExtension(extension = Build.VERSION_CODES.S, version = 19)`.

This change is necessary because ImageSelection depends on APIs for fetching the top page object at a given position (e.g., `getTopPageObjectAtPosition`), which are required to identify image objects. These underlying APIs were introduced in Android SDK Extension S (API Level 31) version 19.

By adding this requirement, we prevent the feature from being enabled on devices that do not support the necessary APIs, thus avoiding potential runtime exceptions like `NoSuchMethodError`. ImageSelection remains disabled by default in both `PdfView` and `PdfViewerFragment`.

Bug: 486587524
Test: ./gradlew :pdf:pdf-viewer:connectedAndroidTest
Change-Id: I93af7f81b7174ae62f6bfee2730c70a74f3c754a
This can be removed after the next release (aosp/3933132 has been cherry-picked to the release branch).

Test: presubmit
Change-Id: I897ef2d27ea5297f937e13b2309e8c5570de8cd2
… error

The failure message on the affected builds is currently just "Exception during resolving KtCallExpression" which doesn't provide much information and the failure is not easy to reproduce. Including the exception attachments in the message should provide some more detail if the error does come up again.

Bug: 483489537
Test: checked that intentionally throwing an exception caused the failure message to include the attachments
Change-Id: I05ccb6f3ddd3f77e85239b05a997156f0718f36d
Test: screenshot tests added.

Change-Id: Id00b1dc188de2faec7553917aba0eaf9f5b624aa
Test: Manually tested by running the activity
Bug: 460044550
Change-Id: Iddd4150a5e698a19c4514ca1fbfe0a26a2bfba21
- All @param and @Property tags are included in Kdocs
- Tags use sentence fragments
- Bracket markdown used to link to @param types
- Performed using a Gemini prompt

Bug: 466407995
Change-Id: I92eda12e09a3df567afbd560827b0d28890af978
- All @param and @Property tags are included in Kdocs
- Tags use sentence fragments
- Bracket markdown used to link to @param types
- Performed using a Gemini prompt

Bug: 466407995
Change-Id: Ie54076f1e71b1f5e460b560364e8ffb4d0140828
- All @param and @Property tags are included in Kdocs
- Tags use sentence fragments
- Bracket markdown used to link to @param types
- Performed using a Gemini prompt

Bug: 466407995
Change-Id: Ifdaa35be6bf6d6519c8d9c9bf56c903b698a2db4
Bhupinder Dhoofer and others added 27 commits February 24, 2026 07:14
Flagged by lint. No known test failures from these typos.

Test: N/A
Relnote: N/A
Change-Id: Id55e212cc379d734d7bb02d1f359d694ab7acc73
Relnote: N/A
Test: N/A
Change-Id: I7034dd3ea7f98459f054300516ad2c742ce7b791
The LinkTable's implementation of RememberObserverHolder needs to use
Anchors instead of raw group addresses to support being used in
MovableContent. Previously, a RememberObserverHolder could be copied
into a new address space without having the `after` metadata updated
for the new address space.

Test: moveToDialog_elidedRememberObserver
Relnote: """
    Fixed an issue in the new SlotTable where RememberObservers used
    in MovableContent could cause an OutOfMemoryError/infinite loop
    when removed.
    """
Change-Id: I884e7b1e0e83818ccb11fc1fa2dc75761c989ec3
Adds an extension function to convert Dp to a RemoteTextUnit in Sp.
This calculates the value by dividing by the remote density's font scale.

Test: RemoteTextUnitTest
BUG: 477921363
Change-Id: I87426cae7e4e4245b489bd45688aceb6cb58b3c3
… nodes

In aosp/3940215 we started reported fully offscreen children of the merging nodes that are themselves are partially visible in the scrolling container.
That change used unclipped bounds. But that introduced an issue where nodes that are themselves are fully visible in such parents, they should be using (as before) touchBoundsInRoot. That way we continue to clip them to the parent and the minimum touch target.

Also added an extensive amount of tests to cover addUnclippedDescendants functionality.

Test: verified that g3 failing tests now pass
Test: new tests in SemanticsTests
Fixes: 486095132
Change-Id: I0cf890dc42d69d8d9b0f76255cf5fe61b99099a8
…e top-of-tree-m2repository"

This reverts commit b363f17.

Reason for revert:  Breaking internal drops (see b/487255900)

BUG: 445933973
Change-Id: I027cc85864b46b1dc3fa63a1dfcf93d9dedd3651
SnappableGltf - Adding support functions
for Gltf in SpatialMath

Test: Unit tests

Bug: 445223229

Change-Id: Ia321c8cc35df277b362185c8274af0f8a7f6c3d1
Snappable Gltf - Adding support for drawing shadow
 for gltf footprint entity

Test: Emulator

Bug: 445223229
Change-Id: Ia4a746443d4a2253678ea3aea689d76cd5a0f382
Scenecore movable components have been updated
to support Gltf for moving and anchoring

Bug: 482733313
Test: Device, Emulator
dev screen rec:
https://screencast.googleplex.com/cast/NTUyNTY5MTU3NDUxNzc2MHxiYmVkODJmNS0yNw

Change-Id: I85d2671a35ac2c63851af44fd1fbb0655ca90c01
Uses provided vararg array for all calculations.

Test: Existing tests
Change-Id: Ide45f20411b005a423ca1554613f9c5117f7aacd
* changes:
  Fixup Kdocs in androidx.xr.arcore.guava
  Fixup Kdocs in androidx.xr.arcore.projected
  Fixup Kdocs in androidx.xr.arcore.testing
  Fixup Kdocs in androidx.xr.arcore.samples
  Fixup Kdocs in androidx.xr.arcore.openxr
  Fixup Kdocs in androidx.xr.arcore.runtime
  Fixup Kdocs in androidx.xr.arcore.playservices
  Fixup Kdocs in androidx.xr.arcore
* changes:
  Enable anchoring and update app to anchor Gltf
  Draw shadow for Gltf Entity
  Add pose math functions for gLTF
* changes:
  Use Anchors for LinkTable RememberObserverHolders
  Make forget ordering check run in production
  Fix SlotTable assignment/comparison operator typos
… include top-of-tree-m2repository"" into androidx-main
@pull pull bot locked and limited conversation to collaborators Feb 24, 2026
@pull pull bot added the ⤵️ pull label Feb 24, 2026
@pull pull bot merged commit cc48124 into MaxMood96:androidx-main Feb 24, 2026
1 of 2 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.