Skip to content

Comments

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

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

[pull] androidx-main from androidx:androidx-main#866
pull[bot] merged 29 commits intoMaxMood96:androidx-mainfrom
androidx:androidx-main

Conversation

@pull
Copy link

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

leticiarossi and others added 29 commits February 20, 2026 08:36
…cted icon displayed.

Test: existing
Relnote: Fixed icon-label padding being applied when the item has a selectedLeadingIcon that is not currently displayed
Change-Id: Iba820e6a78b1e0a4e322cfe1ee89574ca065d4e9
Test: ./gradlew camera:camera
Change-Id: Ie82f67aa5bdb353f140614ccf0bfd4882a987096
Relnote: """
    Fixed an issue in the LinkTable that would prevent diagnostic
    traces from being populated correctly
    """
Test: UiErrorTraceTests
Change-Id: I5986897dad1e146f93a391ac94815e8120c10561
…and resumes.

* Previously we held a reference to the `ThreadTrack` that was used when a coroutine started.
* However if the coroutine resumed on a different `Thread`, when we introduce a race condition where the `PooledTracePacketArray` which both threads operate on will race.
* We expect `PooledTracePacketArray` to effectively behave like a `ThreadLocal`, and therefore rather than use the reference to the `ThreadTrack` from a different thread, we instead switch to a `ThreadTrack` that is safe to use.

Test: Existing unit tests pass. Ran end to end tests. No change in coroutine tracing benchmarks.

```
Before:

TracingBenchmark.beginEndCoroutine_writeOnly
timeNs            min 572,487.2,   median 573,807.8,   max 652,955.5
instructions      min 592,150.9,   median 592,664.1,   max 630,026.5
l1DMisses         min   7,177.1,   median   7,211.7,   max   8,210.5
branchMisses      min   9,120.1,   median   9,163.4,   max  13,471.6
allocationCount   min     936.0,   median     936.0,   max     936.0

After:

timeNs            min 569,071.0,   median 571,729.1,   max 651,268.3
instructions      min 592,260.7,   median 592,781.7,   max 628,709.9
l1DMisses         min   6,179.4,   median   6,260.3,   max   7,254.3
branchMisses      min   9,752.4,   median   9,773.5,   max  13,924.0
allocationCount   min     936.0,   median     936.0,   max     936.0
```

Relnote: Fix race condition when emitting trace events for coroutine suspends and resumes.
Change-Id: Ie145e2ae7de1960fa4036e0c05a5a69a1f0ee407
Adding these allows denoting the start and end of pan gestures and scale gestures for trackpad events.
These is useful for gesture handlers that want to know the full lifecycle of a specific gesture.

Relnote: "Splits the new PointerEventType.Pan and into PointerEventType.PanStart,
    PointerEventType.PanMove and PointerEventType.PanEnd.
    Similarly, PointerEventType.Scale is split into PointerEventType.ScaleStart,
    PointerEventType.ScaleChange and PointerEventType.ScaleEnd.

    This split allows passing through additional information about the start and
    end of platform-interpreted pan and scale gestures, which then allows
    pointer input handlers in Compose to use this information to detect events
    appropriately, and especially know when a pan or scale is done."

Bug: 479285849
Bug: 481333653
Test: Updated
Change-Id: I4daf682c6cb3624bdbe935115a60fdb9edca19eb
… adjust APIs

This allows simulating a pan with specific velocities, similar
to touchscreen swipes, as well as scales.

This also adjusts the naming of the methods in response to API feedback.

Relnote: "Adds more functionality for trackpad testing APIs, to
    simulate different curves and inputs for a trackpad gesture."

Fixes: 473603145
Fixes: 479213358
Test: New tests
Change-Id: I290fb4dea339278201099d0192a7f617b0aaeed0
This splits the gesture handling for trackpads out of MouseWheelScrollingLogic
into a similar TrackpadScrollingLogic. This uses the new PointerEventTypes
indicating the starting and finishing of pan gestures, which allows calculating
velocity and more cleanly starting flings when the pan gesture finishes.

Relnote: "Adds fling support to trackpad scrolling gestures"

Fixes: 479285849
Test: New test in ScrollableTest

Change-Id: I55f8a17d6c2578003c20f263ae459acfc155406a
Renames the new properties in PointerInputChange and HistoricalChange
to be scaleFactor and panOffset.

This is in response to API feedback, and also avoids confusion over
which gesture they refer to.

Relnote: "Renames PointerInputChange and HistoricalChange properties
    for retrieving scale and pan values."

Fixes: 481333653
Test: Updated

Change-Id: I989a80bdac8c64ce1faacc04bc9ff560fcd963e3
Test: N/A
Bug: 435257668
Change-Id: I79f39589ac1fa282eb94dc8cbd92713e29427591
To pull in the fix for b/487195353.

Test: presubmit
Change-Id: I30f3fb0c86069756e9833c6f656dfa39e9f70915
This change adds utility functions for working with "discrete" rotation
values of 0, 90, 180, 270. These utilities greatly simplify and reduce
the likelihood of introducing errors when computing rotations or
transforms when working with primitive camera types.

For Kotlin, this change also introduces a DiscreteRotation value class
with dedicated add, subtract, and rounding functions.

Change-Id: Ib1ad876b540152a14674bac9bb97b99cf7009fee
…no selected icon displayed." into androidx-main
* changes:
  Rename to scaleFactor and panOffset
  Trackpad fling with velocity
  Add trackpad testing APIs for injecting multimove pans and scales and adjust APIs
  Add PointerEventType for pan and scale gestures starting and finishing
AGP now enforces that minorApiLevel and sdkExtension are set correctly
when your dependency requires that value. This check was added in ag/38072823
and caused androidx-studio-integration branch to fail. This fixes these
failing projects.

Test: ./gradlew assembleAndroidTest
Change-Id: I3b84253d9e7ae51e5a3a3d613c3f95a52df5e6cb
Merged-In: I3b84253d9e7ae51e5a3a3d613c3f95a52df5e6cb
Fix: 487384986
Test: N/A
Change-Id: I308d9f3356b224996c6177e5ee4142831c9b04f5
…READ_PROPERTY.

Map VehiclePropertyIds.EV_CURRENT_BATTERY_CAPACITY to Car.PERMISSION_ENERGY, so that the host properly requests permission for this property before attempting to access.

Bug: 487385630
Fix: 487385630
Change-Id: I2593f10b128c987a2c1e2e1f7273ee676a67b869
Changes associated with aosp/3963946: these compiler-generated constructors were previously not tracked due to a bug in metalava, but are important for compatibility because they are how the source constructors with optional parameters are referenced when the default parameter values are used.

Bug: 487195353
Relnote: N/A
Test: ./gradlew checkApi
Change-Id: Icd2e01ba792c1fac85d699f28f2516c9394f6c39
RelNote: Changed Config.augmentedObjectCategories from a List to a Set,
reflecting the expectation that a given category should only be provided
once.

Bug: 487376359
Change-Id: I25a64eb05fa641c80185dbff62b7d140a2d4cac0
@pull pull bot locked and limited conversation to collaborators Feb 25, 2026
@pull pull bot added the ⤵️ pull label Feb 25, 2026
@pull pull bot merged commit ccc0c2d into MaxMood96:androidx-main Feb 25, 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.

9 participants