Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix iOS touch drag behavior #125169

Merged
merged 5 commits into from
Apr 24, 2023
Merged

Conversation

Renzo-Olivares
Copy link
Contributor

@Renzo-Olivares Renzo-Olivares commented Apr 19, 2023

Before this change on a quick touch drag the cursor, where the touch is not on the previous collapsed selection, the cursor would move to the tapped position.

After this change on a quick touch drag the cursor does not move unless the touch is on the previously collapsed selection. This is inline with native behavior.

Before After Native
fixed.mov
Screen.Recording.2023-04-19.at.4.59.31.PM.mov
native.mov

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@flutter-dashboard flutter-dashboard bot added a: text input Entering text in a text field or keyboard related problems framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Apr 19, 2023
@Renzo-Olivares Renzo-Olivares marked this pull request as ready for review April 19, 2023 23:29
@Renzo-Olivares Renzo-Olivares requested a review from justinmc April 19, 2023 23:29
@flutter-dashboard flutter-dashboard bot added the f: cupertino flutter/packages/flutter/cupertino repository label Apr 20, 2023
@Renzo-Olivares Renzo-Olivares force-pushed the fix-ios-drag-start branch 4 times, most recently from 5c5f317 to 80692d8 Compare April 20, 2023 20:21
Copy link
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

from: details.globalPosition,
cause: SelectionChangedCause.drag,
);
_showMagnifierIfSupportedByPlatform(details.globalPosition);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why didn't the magnifier show up in the video in your description?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the videos before the magnifier was merged in, it works though.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok cool 👍

@@ -2572,6 +2572,7 @@ class TextSelectionGestureDetectorBuilder {
_dragStartSelection = renderEditable.selection;
_dragStartScrollOffset = _scrollPosition;
_dragStartViewportOffset = renderEditable.offset.pixels;
_dragBeganOnPreviousSelection ??= _positionOnSelection(details.globalPosition, _dragStartSelection);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you still need the ?? even though this is now in the Start handler?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point i'll remove it.

@Renzo-Olivares Renzo-Olivares added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 20, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 21, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Apr 21, 2023

auto label is removed for flutter/flutter, pr: 125169, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@Renzo-Olivares
Copy link
Contributor Author

Renzo-Olivares commented Apr 21, 2023

This PR is failing test because _showMagnifierIfSupportedByPlatform and its hide variant have not been merged into g3 yet. I'll re-run tests and merge once that happens.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 26, 2023
stuartmorgan pushed a commit to flutter/packages that referenced this pull request Apr 28, 2023
Roll Flutter from c9004ff to 66fa4c5 (68 revisions)

flutter/flutter@c9004ff...66fa4c5

2023-04-26 zanderso@users.noreply.github.com Remove web compile
benchmarks that specify an attached device (flutter/flutter#125559)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
f75908135e10 to f125a54f5a57 (1 revision) (flutter/flutter#125560)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
c9db1587f207 to f75908135e10 (1 revision) (flutter/flutter#125558)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
58a5a1e3f2c1 to c9db1587f207 (1 revision) (flutter/flutter#125555)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
321f8015b9c2 to 58a5a1e3f2c1 (1 revision) (flutter/flutter#125552)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
87f5f4e939cf to 321f8015b9c2 (1 revision) (flutter/flutter#125549)
2023-04-26 goderbauer@google.com Update prefer_final_parameters comment
(flutter/flutter#125465)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
706c023df44b to 87f5f4e939cf (1 revision) (flutter/flutter#125539)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
7b385abd18a2 to 706c023df44b (1 revision) (flutter/flutter#125536)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
610c57781b47 to 7b385abd18a2 (1 revision) (flutter/flutter#125533)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
b3cbf0678487 to 610c57781b47 (1 revision) (flutter/flutter#125531)
2023-04-26 zanderso@users.noreply.github.com Add hostonly web compile
size benchmarks (flutter/flutter#125518)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
34ece7a4abac to b3cbf0678487 (6 revisions) (flutter/flutter#125529)
2023-04-25 thkim1011@users.noreply.github.com Handle dollar signs
properly when generating localizations (flutter/flutter#125514)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
6d798393a15a to 34ece7a4abac (1 revision) (flutter/flutter#125516)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
469e5b409686 to 6d798393a15a (2 revisions) (flutter/flutter#125513)
2023-04-25 47866232+chunhtai@users.noreply.github.com Adds selected
semantics flag to radio button for Apple devices
(flutter/flutter#125499)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
0e236982086b to 469e5b409686 (1 revision) (flutter/flutter#125510)
2023-04-25 58529443+srujzs@users.noreply.github.com Relabel JSFunction
as JSExportedDartFunction (flutter/flutter#125453)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
60c4e61416cd to 0e236982086b (2 revisions) (flutter/flutter#125504)
2023-04-25 jmccandless@google.com iOS TextField spell check style
(flutter/flutter#125432)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
308bce499087 to 60c4e61416cd (1 revision) (flutter/flutter#125490)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
54ddef68b124 to 308bce499087 (1 revision) (flutter/flutter#125485)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
307416f43b5a to 54ddef68b124 (1 revision) (flutter/flutter#125481)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
232810b36671 to 307416f43b5a (1 revision) (flutter/flutter#125475)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
1c4b6c0cb862 to 232810b36671 (2 revisions) (flutter/flutter#125472)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
a26a479e86b3 to 1c4b6c0cb862 (1 revision) (flutter/flutter#125463)
2023-04-25 tessertaha@gmail.com Fix `SliverAppBar.medium` &
`SliverAppBar.large` text scale (flutter/flutter#125038)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
3f4116c225e8 to a26a479e86b3 (1 revision) (flutter/flutter#125459)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
64882f4b7371 to 3f4116c225e8 (2 revisions) (flutter/flutter#125458)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
8fe8e94c02fc to 64882f4b7371 (1 revision) (flutter/flutter#125454)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
5fbde6c0fc57 to 8fe8e94c02fc (10 revisions) (flutter/flutter#125452)
2023-04-24 tessertaha@gmail.com Add Sliders to `macrobenchmarks`
(flutter/flutter#125296)
2023-04-24 pateltirth454@gmail.com [date_picker] [date_range_picker] add
properties to change switch-to icons (flutter/flutter#124881)
2023-04-24 thkim1011@users.noreply.github.com Sliver Constrained Cross
Axis (flutter/flutter#125239)
2023-04-24 kevmoo@users.noreply.github.com tool: Move cdKey to
CustomDimensionsEnum (flutter/flutter#125335)
2023-04-24 bernaferrari2@gmail.com Add `borderRadius` to
LinearProgressIndicator (flutter/flutter#123517)
2023-04-24 58529443+srujzs@users.noreply.github.com Fix JS types in
_test_http_request.dart (flutter/flutter#125220)
2023-04-24 tessertaha@gmail.com Fix `OutlinedButton`, `TextButton`, and
`IconButton` throw exception when passing only one cursor to `styleFrom`
(flutter/flutter#125204)
2023-04-24 magder@google.com Swap some iOS TESTOWNERS
(flutter/flutter#125340)
2023-04-24 rmolivares@renzo-olivares.dev Fix iOS touch drag behavior
(flutter/flutter#125169)
2023-04-24 54558023+keyonghan@users.noreply.github.com Mark
module_test_ios flaky (flutter/flutter#125426)
2023-04-24 47866232+chunhtai@users.noreply.github.com Implement url
support for RouteInformation and didPushRouteInformation
(flutter/flutter#119968)
2023-04-24 kevmoo@users.noreply.github.com [tool,web] Include more info
URI on Wasm init failure (flutter/flutter#125312)
2023-04-24 magder@google.com Do not run
`windows_home_scroll_perf__timeline_summary` benchmark in presubmit
(flutter/flutter#125343)
2023-04-24 5236035+fzyzcjy@users.noreply.github.com Tiny fix doc
pointing to incorrect widget confusing the readers
(flutter/flutter#125394)
...
nploi pushed a commit to nploi/packages that referenced this pull request Jul 16, 2023
Roll Flutter from c9004ff to 66fa4c5 (68 revisions)

flutter/flutter@c9004ff...66fa4c5

2023-04-26 zanderso@users.noreply.github.com Remove web compile
benchmarks that specify an attached device (flutter/flutter#125559)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
f75908135e10 to f125a54f5a57 (1 revision) (flutter/flutter#125560)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
c9db1587f207 to f75908135e10 (1 revision) (flutter/flutter#125558)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
58a5a1e3f2c1 to c9db1587f207 (1 revision) (flutter/flutter#125555)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
321f8015b9c2 to 58a5a1e3f2c1 (1 revision) (flutter/flutter#125552)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
87f5f4e939cf to 321f8015b9c2 (1 revision) (flutter/flutter#125549)
2023-04-26 goderbauer@google.com Update prefer_final_parameters comment
(flutter/flutter#125465)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
706c023df44b to 87f5f4e939cf (1 revision) (flutter/flutter#125539)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
7b385abd18a2 to 706c023df44b (1 revision) (flutter/flutter#125536)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
610c57781b47 to 7b385abd18a2 (1 revision) (flutter/flutter#125533)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
b3cbf0678487 to 610c57781b47 (1 revision) (flutter/flutter#125531)
2023-04-26 zanderso@users.noreply.github.com Add hostonly web compile
size benchmarks (flutter/flutter#125518)
2023-04-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from
34ece7a4abac to b3cbf0678487 (6 revisions) (flutter/flutter#125529)
2023-04-25 thkim1011@users.noreply.github.com Handle dollar signs
properly when generating localizations (flutter/flutter#125514)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
6d798393a15a to 34ece7a4abac (1 revision) (flutter/flutter#125516)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
469e5b409686 to 6d798393a15a (2 revisions) (flutter/flutter#125513)
2023-04-25 47866232+chunhtai@users.noreply.github.com Adds selected
semantics flag to radio button for Apple devices
(flutter/flutter#125499)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
0e236982086b to 469e5b409686 (1 revision) (flutter/flutter#125510)
2023-04-25 58529443+srujzs@users.noreply.github.com Relabel JSFunction
as JSExportedDartFunction (flutter/flutter#125453)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
60c4e61416cd to 0e236982086b (2 revisions) (flutter/flutter#125504)
2023-04-25 jmccandless@google.com iOS TextField spell check style
(flutter/flutter#125432)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
308bce499087 to 60c4e61416cd (1 revision) (flutter/flutter#125490)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
54ddef68b124 to 308bce499087 (1 revision) (flutter/flutter#125485)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
307416f43b5a to 54ddef68b124 (1 revision) (flutter/flutter#125481)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
232810b36671 to 307416f43b5a (1 revision) (flutter/flutter#125475)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
1c4b6c0cb862 to 232810b36671 (2 revisions) (flutter/flutter#125472)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
a26a479e86b3 to 1c4b6c0cb862 (1 revision) (flutter/flutter#125463)
2023-04-25 tessertaha@gmail.com Fix `SliverAppBar.medium` &
`SliverAppBar.large` text scale (flutter/flutter#125038)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
3f4116c225e8 to a26a479e86b3 (1 revision) (flutter/flutter#125459)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
64882f4b7371 to 3f4116c225e8 (2 revisions) (flutter/flutter#125458)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
8fe8e94c02fc to 64882f4b7371 (1 revision) (flutter/flutter#125454)
2023-04-25 engine-flutter-autoroll@skia.org Roll Flutter Engine from
5fbde6c0fc57 to 8fe8e94c02fc (10 revisions) (flutter/flutter#125452)
2023-04-24 tessertaha@gmail.com Add Sliders to `macrobenchmarks`
(flutter/flutter#125296)
2023-04-24 pateltirth454@gmail.com [date_picker] [date_range_picker] add
properties to change switch-to icons (flutter/flutter#124881)
2023-04-24 thkim1011@users.noreply.github.com Sliver Constrained Cross
Axis (flutter/flutter#125239)
2023-04-24 kevmoo@users.noreply.github.com tool: Move cdKey to
CustomDimensionsEnum (flutter/flutter#125335)
2023-04-24 bernaferrari2@gmail.com Add `borderRadius` to
LinearProgressIndicator (flutter/flutter#123517)
2023-04-24 58529443+srujzs@users.noreply.github.com Fix JS types in
_test_http_request.dart (flutter/flutter#125220)
2023-04-24 tessertaha@gmail.com Fix `OutlinedButton`, `TextButton`, and
`IconButton` throw exception when passing only one cursor to `styleFrom`
(flutter/flutter#125204)
2023-04-24 magder@google.com Swap some iOS TESTOWNERS
(flutter/flutter#125340)
2023-04-24 rmolivares@renzo-olivares.dev Fix iOS touch drag behavior
(flutter/flutter#125169)
2023-04-24 54558023+keyonghan@users.noreply.github.com Mark
module_test_ios flaky (flutter/flutter#125426)
2023-04-24 47866232+chunhtai@users.noreply.github.com Implement url
support for RouteInformation and didPushRouteInformation
(flutter/flutter#119968)
2023-04-24 kevmoo@users.noreply.github.com [tool,web] Include more info
URI on Wasm init failure (flutter/flutter#125312)
2023-04-24 magder@google.com Do not run
`windows_home_scroll_perf__timeline_summary` benchmark in presubmit
(flutter/flutter#125343)
2023-04-24 5236035+fzyzcjy@users.noreply.github.com Tiny fix doc
pointing to incorrect widget confusing the readers
(flutter/flutter#125394)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: text input Entering text in a text field or keyboard related problems autosubmit Merge PR when tree becomes green via auto submit App f: cupertino flutter/packages/flutter/cupertino repository f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants