[pull] androidx-main from androidx:androidx-main#865
Merged
pull[bot] merged 65 commits intoMaxMood96:androidx-mainfrom Feb 24, 2026
Merged
[pull] androidx-main from androidx:androidx-main#865pull[bot] merged 65 commits intoMaxMood96:androidx-mainfrom
pull[bot] merged 65 commits intoMaxMood96:androidx-mainfrom
Conversation
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
…tion Feature" into androidx-main
…se targets" into androidx-main
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
…ents" into androidx-main
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
…failure error" into androidx-main
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
…visible nodes" into androidx-main
* 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
…into androidx-main
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )