Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jan 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 : )

AquilesCanta and others added 30 commits January 2, 2026 13:10
So as to avoid matching the platform's tag.

Bug: b/205124386
Test: N/A. Log change.
Flag: EXEMPT DEBUG
Change-Id: I9df8be69fe1714bb3c5929b4816a1f06abd3a601
Adds `FastSafeIterableMapTest` to the common source set to verify the
correctness of the internal map implementation.

This ensures that basic operations function as expected and validates
safe iteration behavior. The tests cover edge cases such as removing
the current element, adding elements, and modifying the map during
nested iterations to prevent regression in the lifecycle runtime.

Bug: N/A
Test: FastSafeIterableMapTest
Change-Id: Ie6a96556298d6992bee6e97c565d8edec521d00f
Adds the `androidx.collection` library as an implementation
dependency.

This enables the usage of optimized data structures, such as
`ScatterMap`.

Bug: N/A
Test: existing passes
Change-Id: I8652d78ebd39879e5e7d5e29ccdd262e009122fd
Replaces the standard `LinkedHashMap` delegate with a custom intrusive
doubly-linked list backed by `MutableScatterMap`.

Previously, safe iteration required snapshotting keys into a list to
avoid `ConcurrentModificationException`. This change introduces "Ghost
Nodes"—removed entries that retain their pointers—allowing active
iterators to bridge back to the live list without copying data.

This results in zero-allocation iteration while maintaining safety when
observers modify the lifecycle during event dispatch.

Bug: N/A
Test: existing passes
Change-Id: I284858aadef483f197694ebf1980ed0b31b3cef4
Replaces platform-specific `expect`/`actual` implementations with a
single pure Kotlin implementation in the common source set.

This unifies behavior across all targets (Android, JVM, Native) and
removes the dependency on `androidx.arch.core` for the Android
source set, simplifying maintenance and ensuring consistent
iteration safety logic.

Bug: N/A
Test: existing passes
Change-Id: I662c67c5c286178892a4acf910103e96f85ed736
Test: Tested manually

Change-Id: I9b5ec04f468ebc15bfff13e833f48d309dd9e364
Add support for java jvm project type

Bug: 468088488
Test: manual and ProjectCreatorTaskTest.kt
Change-Id: I615637f9a83a06bc58e60382ed5d0ac86956f4eb
-removed billboard API
-removed billboard unit tests
-added billboard, custom up vector, and nested within the parent
 container to the test app and samples

Relnote: remove billboard API
Bug: 468410272
Bug: 468411122

Test: Tested locally with running unit tests and Moohan emulator
Change-Id: Ib76cd43fe8338322d20b062ef937538a8c7fd04d
…etupRule

Test: None
Change-Id: I0fb381c7c5f5ef78d53a2a30682d460f39cf5469
- BasicPictureInPicture for navigation and video call use cases, which
  does not require sourceRectHint and not able to resize seamlessly
- VideoPlaybackPictureInPicture for video playback use case, app can
  provide the player view and the library keeps track the bounds of it
- README doc is updated accordingly

Bug: 475328144
Relnote: "Add BasicPictureInPicture and VideoPlaybackPictureInPicture
classes for typical PiP usages"
Test: updated and new test suites pass

Change-Id: I7f9895dd5a0c6a5853dda519faf0ac62a4f9d5c1
Previously, `BackHandler` and `PredictiveBackHandler` resolved both
Navigation and OnBackPressed owners unconditionally. This created
unnecessary composition dependencies and overhead.

This change optimizes the lookup by short-circuiting the resolution;
the legacy owner is now only observed if the primary Navigation owner
is missing.

Additionally, this fixes a correctness bug where the internal
dispatcher wrapper used `remember` without keys. The handler will now
correctly update if the parent dispatcher owner changes after the
initial composition.

Bug: 468589644
Test: existing passes
Change-Id: I396710f43c2318749bb558eb10e999fb2453862a
Test: Added new test
Change-Id: I75a45a3a1d8d58e1ff3a49e38f5bfa607e59dc82
…one of their subclasses are abstract

Bug: 432044765
Test: Added new tests
Change-Id: I8c032eac04223f7eb936bca95bd0451fdede58f9
Change-Id: If43866df0d46cf1455f0523cb7c011fc9e2fa9c8
RemoteStateScope indicates safe places to generate ids,
and replaces FallbackState.

Test: Existing
Bug: 465453482
Change-Id: Ibd51038c5a4b96e0cb13f70b7eab26a8acf88a71
Bug: 436920446
Test: Test app fix only.
Change-Id: I0efe230691a3ea533705d4ff89e3bc3cec0e278f
Relnote: N/A
Test: MonitorTests
Change-Id: I154601eac564c5e571b0e43c3106bf840942158f
Relnote: "Ensured that `Snapshot.sendApplyNotifications` calls cannot
  return until the necessary apply notifications have been sent."

Test: SnapshotTestsJvm.sendApplyNotificationsDoesNotReturnTooEarly
Fixes: 418800424
Change-Id: I95f209dbc6c08e1a847b0fc4acde586618a7c1b3
* changes:
  Use single FastSafeIterableMap implementation
  Optimize FastSafeIterableMap for zero-allocation iteration
  Add dependency on androidx.collection
  Add tests for FastSafeIterableMap
* changes:
  Prevent `Snapshot.sendApplyNotifications` calls from returning too early
  Introduce internal `Monitor` class
Aligns the rotary snap over-scroll animation with the standard fling behavior to remove sluggishness.
Previously, `snapToTargetItem` used a low-stiffness spring and executed a secondary settling animation even at the boundary, delaying the bounce-back.

This change:
1. Uses the default (stiffer) spring spec during the first animation step when at the edge.
2. Skips the second animation step if still at the edge.

This ensures `fling(0f)` is triggered immediately, allowing the `OverscrollEffect` to produce a responsive bounce-back.

Bug: 474016470
Test: Manual test
Relnote: "Fix rotary over-scroll animation lag in snap behavior"
Change-Id: I7db89ce826fe42b2211db761d3c9f80a6eced994
…ng as none of their subclasses are abstract" into androidx-main
@pull pull bot locked and limited conversation to collaborators Jan 13, 2026
@pull pull bot added the ⤵️ pull label Jan 13, 2026
@pull pull bot merged commit 318491d into MaxMood96:androidx-main Jan 13, 2026
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