Skip to content

Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer #161549

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

Merged
merged 13 commits into from
May 21, 2025

Conversation

KyleFin
Copy link
Contributor

@KyleFin KyleFin commented Jan 13, 2025

Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer.handleEvent() unless a non-default value (including null) is specified.

This behavior will be reflected in subclasses (TapGestureRecognizer and LongPressGestureRecognizer) and enable GestureDetector tap and long-press touch slop to be configured out of the box with MediaQuery instead of providing custom gesture recognizers:

// After this PR you can do this:
child: MediaQuery(
      data: MediaQuery.of(context).copyWith(
        gestureSettings: const DeviceGestureSettings(touchSlop: 64),
      ),
      child: GestureDetector(
        onTap: widget.onTap,
        child: Container(),
      ),


// instead of this:
child: RawGestureDetector(
   gestures: <Type, GestureRecognizerFactory>{
     TapGestureRecognizer: GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>(
       // Without https://github.com/flutter/flutter/pull/161541, we'll actually need to make
       // our own custom TapGestureRecognizer class to expose slop parameters too.
       () => TapGestureRecognizer(preAcceptSlopTolerance: 64, postAcceptSlopTolerance: 64, onTap: onTap),
       (TapGestureRecognizer instance) {},
     ),
   },
   child: Container(),
 ),

List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.

#154215

If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: gestures flutter/packages/flutter/gestures repository. labels Jan 13, 2025
@@ -593,6 +593,8 @@ enum GestureRecognizerState {
defunct,
}

const double _unsetTouchSlop = -1.0;
Copy link
Contributor Author

@KyleFin KyleFin Jan 13, 2025

Choose a reason for hiding this comment

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

I originally had _unsetTouchSlop = kTouchSlop, but adding a -1 magic value may be a slightly less breaking change.

With -1 behavior, default values will change from kTouchSlop to gestureSettings.touchSlop (identical unless overridden). This could lead to surprising behavior, but may actually make existing app code behave more as intended since anyone who has explicitly overridden MediaQuery.gestureSettings.touchSlop likely intends to use that touch slop and may not have realized that tap and long-press don't honor it. If that's not the behavior they want, they can set gestureSettings.touchSlop = kTouchSlop or preAcceptSlopTolerance = kTouchSlop.

With _unsetTouchSlop = kTouchSlop, this PR could inappropriately change places where preAcceptSlopTolerance was explicitly set to 18 to use gestureSettings.touchSlop (which may have been overriden in MediaQuery to a value besides 18).

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

What would be a good way to provide an "unset" default value so users can pass a specific value or null?

Copy link
Contributor

Choose a reason for hiding this comment

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

Usually we would use null. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But I don't want the default value to be null. I only want to use null if explicitly requested by the user.

Copy link
Contributor

Choose a reason for hiding this comment

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

With tools like dart fix, it is a lot easier to make minor changes that can be easily auto-migrated for folks, which are usually a lot more tolerable to land.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Needing to pass double? preAcceptSlopTolerance and differentiate between:

  • no value specified
  • numeric value specified
  • null specified

reminds me of copyWith methods that need to allow specifying null (since generally only non-null values are set in the new object and others retain their current value)

Two common approaches I'm familiar with in that situation are:

  • passing a nullable callback that returns the new value (so a null callback is different than a callback that returns null)
  • Using nullable records

Records may work well here.

So it could be something like this?

PrimaryPointerGestureRecognizer({
    this.deadline,
    this.preAcceptSlopTolerance,
    this.postAcceptSlopTolerance,
})

/// The maximum distance ...
/// Specified in a record to allow leaving `null` (use default value) OR
/// explicitly setting `(null)` to indicate that the gesture can drift for any distance.
final (double?,)? preAcceptSlopTolerance;
final (double?,)? postAcceptSlopTolerance;

Then invocations could look like this:

// Use default (from gestureSettings or kTouchSlop)
PrimaryPointerGestureRecognizer();

// Use specific value
PrimaryPointerGestureRecognizer(preAcceptSlopTolerance: (42));

// Explicitly null
PrimaryPointerGestureRecognizer(preAcceptSlopTolerance: (null));

(though I still think a sentinel value would be more intuitive for end users)

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not a big fan of the sentinel pattern either, but I'm struggling to think of an alternative.

One thing that I think could be improved about this approach is that I don't like how the -1 sticks around after the constructor. Both values are public, so if someone was looking at primaryPointerGestureRecognizerInstance.preAcceptSlopTolerance for some reason, they'd get back a -1 which is a little confusing and magical behavior. I think the private getters should be public. What might be a little better is something like:

PrimaryPointerGestureRecognizer({
  this.deadline,
  double? preAcceptSlopTolerance = _unsetTouchSlop,
  double? postAcceptSlopTolerance = _unsetTouchSlop,
  super.debugOwner,
  super.supportedDevices,
  super.allowedButtonsFilter,
}) : _preAcceptSlopToleranceSet = preAcceptSlopTolerance != _unsetTouchSlop;
     _postAcceptSlopToleranceSet = postAcceptSlopTolerance != _unsetTouchSlop;
     preAcceptSlopTolerance = preAcceptSlopToleranceSet ? preAcceptSlopTolerance : null;
     postAcceptSlopTolerance = postAcceptSlopToleranceSet ? postAcceptSlopTolerance : null;
     assert(
        preAcceptSlopTolerance == _unsetTouchSlop || preAcceptSlopTolerance == null || preAcceptSlopTolerance >= 0,
        'The preAcceptSlopTolerance must be unspecified, positive, or null',
      ),
      assert(
        postAcceptSlopTolerance == _unsetTouchSlop || postAcceptSlopTolerance == null || postAcceptSlopTolerance >= 0,
        'The postAcceptSlopTolerance must be unspecified, positive, or null',
      );

  bool _preAcceptSlopToleranceSet;
  bool _postAcceptSlopToleranceSet;

  double? get preAcceptSlopTolerance =>
      preAcceptSlopToleranceSet
          ? preAcceptSlopTolerance
          : _defaultTouchSlop;
   
  ...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That seems nice to make the getters public 👍

We'd also need a new private internal field since get preAcceptSlopTolerance can't return itself, right?

(For instance, we need to add an underscore at the beginning of this line:
_preAcceptSlopTolerance = preAcceptSlopToleranceSet ? preAcceptSlopTolerance : null;)

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 made the public getters change in 229e880

That was a great improvement. Thanks!

@Piinks
Copy link
Contributor

Piinks commented Mar 19, 2025

Hey @KyleFin thanks for contributing! Welcome!
It looks like this is still a draft, and is currently failing many tests. Would you like to continue working on this? We'd be happy to review once it is no longer a draft and marked ready for review.

@KyleFin
Copy link
Contributor Author

KyleFin commented Mar 19, 2025

Thanks @Piinks!

I'd love to get any high-level thoughts about the 2 approaches in #154215 (comment) (even just from reading that comment, not any of the code) and then I'll proceed with tests etc.

@KyleFin KyleFin force-pushed the patch-3 branch 2 times, most recently from f82aec9 to a61c8de Compare March 20, 2025 19:12
@KyleFin KyleFin marked this pull request as ready for review March 20, 2025 20:32
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@KyleFin KyleFin force-pushed the patch-3 branch 3 times, most recently from 603f255 to 61f4dda Compare April 8, 2025 21:50
@flutter-dashboard
Copy link

This pull request executed golden file tests, but it has not been updated in a while (20+ days). Test results from Gold expire after as many days, so this pull request will need to be updated with a fresh commit in order to get results from Gold.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@Piinks Piinks self-requested a review April 30, 2025 02:32
@justinmc
Copy link
Contributor

@KyleFin Heads up that there are analyzer failures.

@KyleFin
Copy link
Contributor Author

KyleFin commented May 21, 2025

@justinmc failures are resolved after I applied @MitchellGoodwin's (great) getter suggestion and rebased on latest main.

Unless there are other ideas of how we could avoid using a sentinel, I think this PR is ready to merge.

Copy link
Contributor

@Piinks Piinks left a comment

Choose a reason for hiding this comment

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

Nice! Yeah, the change here now obscures the sentinel from the user - perfect! Thank you.
This LGTM

@@ -623,7 +632,8 @@ abstract class PrimaryPointerGestureRecognizer extends OneSequenceGestureRecogni
///
/// Can be null to indicate that the gesture can drift for any distance.
/// Defaults to 18 logical pixels.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should call out in the documentation that the default favors gestureSettings.touchSlop now, but other than that LGTM.

Copy link
Contributor Author

@KyleFin KyleFin May 21, 2025

Choose a reason for hiding this comment

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

/// Defaults to gestureSettings.touchSlop with a fallback of 18 logical pixels. is the wording I used. Does that sound good?

Copy link
Contributor

@MitchellGoodwin MitchellGoodwin left a comment

Choose a reason for hiding this comment

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

LGTM! Thank you for the change.

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label May 21, 2025
@auto-submit auto-submit bot added this pull request to the merge queue May 21, 2025
Merged via the queue into flutter:master with commit b8157ce May 21, 2025
74 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 21, 2025
@KyleFin KyleFin deleted the patch-3 branch May 22, 2025 03:27
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 23, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 23, 2025
Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions)

flutter/flutter@33cdd8e...85564cb

2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347)
2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334)
2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333)
2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329)
2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323)
2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322)
2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306)
2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254)
2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315)
2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133)
2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276)
2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312)
2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015)
2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198)
2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977)
2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172)
2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303)
2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307)
2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598)
2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283)
2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233)
2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴  (flutter/flutter#169305)
2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287)
2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277)
2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894)
2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102)
2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062)
2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541)
2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250)
2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237)
2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549)
2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966)
2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914)
2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290)
2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171)
2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135)
2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794)

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 [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
…r#9315)

Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions)

flutter/flutter@33cdd8e...85564cb

2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347)
2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334)
2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333)
2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329)
2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323)
2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322)
2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306)
2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254)
2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315)
2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133)
2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276)
2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312)
2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015)
2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198)
2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977)
2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172)
2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303)
2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307)
2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598)
2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283)
2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233)
2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴  (flutter/flutter#169305)
2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287)
2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277)
2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894)
2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102)
2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062)
2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541)
2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250)
2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237)
2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549)
2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966)
2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914)
2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290)
2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171)
2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135)
2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794)

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 [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

...
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…r#9315)

Roll Flutter from 33cdd8ef31dc to 85564cbba9e7 (39 revisions)

flutter/flutter@33cdd8e...85564cb

2025-05-23 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#169276)" (flutter/flutter#169347)
2025-05-23 [email protected] Roll Skia from a01ea49f53a4 to 956fd8b14e22 (1 revision) (flutter/flutter#169334)
2025-05-23 [email protected] Roll Dart SDK from 4de10a11ceb9 to 085f110ecf33 (1 revision) (flutter/flutter#169333)
2025-05-23 [email protected] Roll Skia from bcc7e7fce10e to a01ea49f53a4 (1 revision) (flutter/flutter#169329)
2025-05-23 [email protected] Roll Skia from 18b85aced9b7 to bcc7e7fce10e (3 revisions) (flutter/flutter#169323)
2025-05-23 [email protected] Roll Dart SDK from 2a45b2f88a4f to 4de10a11ceb9 (2 revisions) (flutter/flutter#169322)
2025-05-23 [email protected] Remove patching of `package_config.json` from Flutter Pub wrapper. (flutter/flutter#169306)
2025-05-23 [email protected] Add missing dart_dynamic_modules flag for iOS DDM simulator builds (flutter/flutter#169254)
2025-05-23 [email protected] Roll Skia from ea73ccdc1417 to 18b85aced9b7 (6 revisions) (flutter/flutter#169315)
2025-05-23 [email protected] Add flag to exclude focus for hidden children in Visibility, maintainFocusability. Set maintainFocusability to false in IndexedStack (flutter/flutter#159133)
2025-05-23 [email protected] [Reland2] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (flutter/flutter#169276)
2025-05-23 [email protected] Roll Dart SDK from 8f85d89fdc23 to 2a45b2f88a4f (6 revisions) (flutter/flutter#169312)
2025-05-23 [email protected] Removes unnecessary parentheses (flutter/flutter#169015)
2025-05-22 [email protected] Unpin test/test_core/test_api packages (flutter/flutter#169198)
2025-05-22 [email protected] [Engine] Fix an edge case of RoundSuperellipseParam::Contains with sharp corners (flutter/flutter#167977)
2025-05-22 [email protected] Replace goldens in test/cupertino/nav_bar_transition_test.dart (flutter/flutter#169172)
2025-05-22 [email protected] Roll Skia from 13a299964c9f to ea73ccdc1417 (35 revisions) (flutter/flutter#169303)
2025-05-22 [email protected] Increase sub-task timeout for Mac web_tool_tests (flutter/flutter#169307)
2025-05-22 [email protected] Fix crash on two finger selection gesture (flutter/flutter#168598)
2025-05-22 [email protected] Disable the ability to opt-out of `explicit-package-dependencies`. (flutter/flutter#169283)
2025-05-22 [email protected] Fixes tab semantics gets dropped if the child produce a semantics node (flutter/flutter#169233)
2025-05-22 [email protected] Skip `{PLAT}_web_tools_test#expression_evaluation_*_test.dart`, turning tree 🔴  (flutter/flutter#169305)
2025-05-22 [email protected] Update tool-internal `generateLocalizations...()` to never use synthetic (`flutter_gen`) packages (flutter/flutter#169285)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make `build_android_host_app_with_module_aar` build using an aar (#169171)" (flutter/flutter#169287)
2025-05-22 [email protected] Increase sub-task timeout for `web_tool_tests_1_2` (flutter/flutter#169277)
2025-05-22 [email protected] refactor the usage of `MediaQuery.sizeOf(context).height` to use the new `.heightOf(context)` (flutter/flutter#168894)
2025-05-22 [email protected] [tool] Add --no-minify flag to JS Compiler (flutter/flutter#169102)
2025-05-22 [email protected] Update ButtonStyle documentation (flutter/flutter#168062)
2025-05-22 [email protected] Fix the issue where DropdownMenu disposes of the controller. (flutter/flutter#168541)
2025-05-22 [email protected] Add bottomSheetScrimBuilder to Scaffold (flutter/flutter#167335)
2025-05-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (#168914)" (flutter/flutter#169250)
2025-05-21 [email protected] Roll Dart SDK from 56940edd099d to 8f85d89fdc23 (6 revisions) (flutter/flutter#169237)
2025-05-21 [email protected] Use gestureSettings.touchSlop in PrimaryPointerGestureRecognizer (flutter/flutter#161549)
2025-05-21 [email protected] Normalize BottomAppBarTheme (continue) (flutter/flutter#168966)
2025-05-21 [email protected] [Reland] Implements UISceneDelegate dynamically w/ FlutterLaunchEngine (#168396) (flutter/flutter#168914)
2025-05-21 [email protected] Respect `calendarDelegate` in `showDateRangePicker` (flutter/flutter#168290)
2025-05-21 [email protected] Make `build_android_host_app_with_module_aar` build using an aar (flutter/flutter#169171)
2025-05-21 [email protected] Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (flutter/flutter#169135)
2025-05-21 [email protected] Feat: Add full screen dialog support for dialog routes (flutter/flutter#167794)

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 [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
f: gestures flutter/packages/flutter/gestures repository. framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants