Repository navigation
Conversation
|
Additional reproduction and verification details for The regression injects a down at (20, 30), a move to (100, 50), then changes the pointer to (180, 90) immediately before release, without sending another MOVE. The assertions require the end value to include the final 80-by-40-pixel delta, converted to points, while preserving the start location. Repeating the gesture also checks that accumulated state is reset. From the generated Gradle root, the focused Android suite is: gradle :SkipUI:connectedDebugAndroidTest \
'-Pandroid.testInstrumentationRunnerArguments.class=skip.ui.DragReleaseTests'The saved API 34 ARM64 comparison has five release-position failures with the original implementation and all nine tests passing after restoration. The four cancellation/unaccepted cases pass in both runs. The current PR CI run passed, including iOS and Android emulator jobs. The CLA check also passes. The broader local font-metric failures are documented in the description and reproduce without this change. |
When an
ACTION_UPevent carries movement after the lastMOVE,DragGesture.onEndedreports a stale location and translation. Forward the final pointer change from both regular and simultaneous detectors, then include its delta before completing the gesture.Accepted cancellations retain their last known value; gestures that never pass touch slop do not produce an end callback. The existing SkipFuseUI callbacks remain compatible.
Validation
54e4b10, including Swift/Robolectric, iOS, and Android emulator tests.The broader local run combined the independent drag and path changes on upstream base
5504558. Hostswift test --skip XCSkipTestscompleted 135 tests with 63 platform skips and no failures. The full Android run completed 228 tests: 211 passed, 14 skipped, and 3 failed. The three font-metric failures (testTextSizeHeadline,testTextSizeCaption, andtestTextSizeBody) also reproduce on unchanged upstream source with its original dependencies: actual/expected values 18/19, 12/13, and 18/19 respectively. The focused regressions pass on Android and Robolectric.Checklist
swift testand separate Android/Gradle runs.