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

SelectionArea on iOS should toggle the context menu when tapping on the previous selection #132851

Merged
merged 4 commits into from Aug 18, 2023

Conversation

Renzo-Olivares
Copy link
Contributor

@Renzo-Olivares Renzo-Olivares commented Aug 18, 2023

Screen.Recording.2023-08-18.at.2.34.33.AM.mov

Related: #129583

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.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Aug 18, 2023
Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

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

LGTM, just have a question

@@ -341,7 +341,20 @@ class SelectableRegionState extends State<SelectableRegion> with TextSelectionDe
_gestureRecognizers[TapGestureRecognizer] = GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>(
() => TapGestureRecognizer(debugOwner: this),
(TapGestureRecognizer instance) {
instance.onTap = _clearSelection;
instance.onTapUp = (TapUpDetails details) {
Copy link
Contributor

Choose a reason for hiding this comment

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

How would this interact with the tap to collapse selection in the previous pr?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It would look something like this, replacing the else branch with the _clearSelection.

        instance.onTapUp = (TapUpDetails details) {
          if (defaultTargetPlatform == TargetPlatform.iOS && _positionIsOnActiveSelection(globalPosition: details.globalPosition)) {
            // On iOS when the tap occurs on the previous selection instead of
            // moving the selection, the context menu will be toggled.
            final bool toolbarIsVisible = _selectionOverlay?.toolbarIsVisible ?? false;
            if (toolbarIsVisible) {
              hideToolbar(false);
            } else {
              _showToolbar(location: details.globalPosition);
            }
          } else {
            hideToolbar();
            _selectPositionAt(offset: details.globalPosition);
          }
        };

This toggle behavior still holds true even with the collapsing selection at single tap pr.

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 👍

instance.onTap = _clearSelection;
instance.onTapUp = (TapUpDetails details) {
if (defaultTargetPlatform == TargetPlatform.iOS && _positionIsOnActiveSelection(globalPosition: details.globalPosition)) {
// On iOS when the tap occurs on the previous selection instead of
Copy link
Contributor

Choose a reason for hiding this comment

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

Super readability nit:

Suggested change
// On iOS when the tap occurs on the previous selection instead of
// On iOS when the tap occurs on the previous selection, instead of

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

auto-submit bot commented Aug 18, 2023

auto label is removed for flutter/flutter/132851, due to - The status or check suite Linux web_canvaskit_tests_0 has failed. Please fix the issues identified (or deflake) before re-applying this label.

@Renzo-Olivares Renzo-Olivares added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 18, 2023
@auto-submit auto-submit bot merged commit 2ecb886 into flutter:master Aug 18, 2023
73 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 19, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 19, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 19, 2023
flutter/flutter@5a556f8...6f227c0

2023-08-19 jacksongardner@google.com Space character should be optional when tree shaking fonts (flutter/flutter#132880)
2023-08-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 654d3a2c8494 to f4bffdcf8536 (5 revisions) (flutter/flutter#132876)
2023-08-18 rmolivares@renzo-olivares.dev SelectionArea on iOS should toggle the context menu when tapping on the previous selection (flutter/flutter#132851)
2023-08-18 zanderso@users.noreply.github.com Forward port API docs creation realm handling from prior script (flutter/flutter#132867)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 72c4e61fdbfa to 654d3a2c8494 (3 revisions) (flutter/flutter#132868)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 83fdadaf12f0 to 72c4e61fdbfa (2 revisions) (flutter/flutter#132861)
2023-08-18 47866232+chunhtai@users.noreply.github.com Updates app link gradle tasks and remove vm services (flutter/flutter#131805)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 58f7d8ee3e2c to 83fdadaf12f0 (7 revisions) (flutter/flutter#132857)
2023-08-18 mustafauzun0@gmail.com doc: add flag params (flutter/flutter#132485)
2023-08-18 139406084+gmilou@users.noreply.github.com Add a new MatrixTransition and refactor ScaleTransition and RotationT� (flutter/flutter#131084)
2023-08-18 32621121+AndreySuworow@users.noreply.github.com fixes l10n for CupertinoDatePicker in monthYear mode (flutter/flutter#130934)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC bmparr@google.com,rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants