Skip to content

Conversation

@houssemeddinefadhli81
Copy link
Contributor

@houssemeddinefadhli81 houssemeddinefadhli81 commented Aug 4, 2025

This PR introduces a new optional callback, onLongPressUp, to the InkWell widget.
It allows developers to respond specifically to the moment when a long press gesture is released, which previously was not directly exposed.

Before
There was no way to distinguish between the long press being held and the moment it ended.

After
InkWell now accepts an onLongPressUp callback, which fires when the user lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that require different behaviors for long press hold and release.

Related Issue
#173390

Tests

  • Added a new test to ink_well_test.dart verifying that onLongPressUp is correctly triggered after a long press is released.

Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page.
  • I followed the [Flutter Style Guide].
  • I signed the [CLA].
  • I updated/added relevant documentation (/// doc comments).
  • I added new tests to check the change I am making.
  • All existing and new tests are passing.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. labels Aug 4, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The code changes introduce a new optional callback, onLongPressUp, to the InkWell widget. The changes look good overall, but there are a few issues related to the callback signature in the implementation and the tests that need to be addressed. There's also a suggestion to improve the documentation for the new property.

Copy link
Contributor

@victorsanni victorsanni left a comment

Choose a reason for hiding this comment

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

Hi @houssemeddinefadhli81, thanks for the PR.

I don't see any linked issues, could you attach an existing one to this PR or file a new issue with a use case example for which adding this new API is the optimal solution?

Thanks!

@houssemeddinefadhli81 houssemeddinefadhli81 mentioned this pull request Aug 7, 2025
@houssemeddinefadhli81
Copy link
Contributor Author

Hi @houssemeddinefadhli81, thanks for the PR.

I don't see any linked issues, could you attach an existing one to this PR or file a new issue with a use case example for which adding this new API is the optimal solution?

Thanks!

Issue : #173390

@houssemeddinefadhli81 houssemeddinefadhli81 force-pushed the add-onLongPressUp-to-inkwell branch from 33fba4c to eb0818f Compare August 7, 2025 09:20
@houssemeddinefadhli81
Copy link
Contributor Author

houssemeddinefadhli81 commented Aug 7, 2025

@victorsanni @dkwingsmt Hello, I noticed a few CI checks have failed, but I’ve only made changes to two files: ink_well.dart and its corresponding test ink_well_test.dart. I’ve also rebased my branch on the latest master and re-ran all tests locally, including text_field_test.dart—and they all passed successfully. Please let me know if I should address anything specific or if a CI rerun would be appropriate. Thanks.

@flutteractionsbot @fluttergithubbot

…redundant null check in InkWell, and update the onLongPress comment
@houssemeddinefadhli81
Copy link
Contributor Author

@victorsanni Thank you so much for your help, everything has been resolved and pushed.

houssemeddinefadhli81 and others added 9 commits August 7, 2025 20:11
fix: update onLongPressUp comment

Co-authored-by: Victor Sanni <[email protected]>
…lutter#171965)

I discovered we had a duplicate entry for what the min sdk api level
flutter supports along with duplicate code for telling the user.
This pr keeps the duplicate warnings but removed duplicate definitions. 
Updates the related tests
Updates workflow_test and android_workflow to compare against the
compile sdk version since the validation was ensuring that the lastest
of the installed sdks was at least what was needed for flutter to
compile. This make this pr more than a formatting/refactoring change and
an actual user facing change. Requesting re-review.
## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] 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].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
flutter#164460)

This PR enhances the Windows implementation by adding support for
retrieving display properties, available displays, refresh rate, dpi,
size, and more.

Fixes: flutter#160660, flutter#125939

## Pre-launch Checklist

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

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Matthew Kosarek <[email protected]>
flutter/packages@f0b2726...6efb759

2025-08-06 [email protected]
[camera_android_camerax] Re-land "Force new Surface for each
SurfaceRequest" (flutter/packages#9760)
2025-08-06 [email protected] [google_maps_flutter] Add
ability to perform Google Maps SDK warmup (flutter/packages#9674)
2025-08-06 [email protected] Roll Flutter from
59fc766 to 9de63a0 (6 revisions) (flutter/packages#9764)
2025-08-06 [email protected] [webview_flutter_wkwebview]
Extended Web View API on iOS to add flexibility when working with local
HTML content (flutter/packages#8787)

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

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

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
aam and others added 4 commits August 7, 2025 22:25
Manual roll to 3.10.0-75.1.beta

```
6fe971b4c9b (HEAD, origin/lkgr-dev) Version 3.10.0-75.0.dev
c5eba845382 [analysis_server] Dot shorthands: Code completion for methods and constructors.
0cf15f211a4 [analysis_server] Fix change_method_signature tests to normalize code
62caf711fa1 Bump analyzer-related package version numbers
d4101733532 Ignore TODOs in analyzer_utilities package.
f2c73a7a3f0 [analysis_server] Fix DTD test EOLs on Windows
1cf804e1fe1 [vm, compiler] Fix Load[D]FromOffset for offsets with bits 21-23 set on ARM.
```
Copy link
Contributor

@victorsanni victorsanni left a comment

Choose a reason for hiding this comment

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

LGTM pending CI

Copy link
Contributor

@dkwingsmt dkwingsmt left a comment

Choose a reason for hiding this comment

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

LGTM

@dkwingsmt dkwingsmt added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 14, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Aug 14, 2025
Merged via the queue into flutter:master with commit 8914c91 Aug 14, 2025
75 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 14, 2025
SydneyBao pushed a commit to SydneyBao/flutter that referenced this pull request Aug 14, 2025
This PR introduces a new optional callback, onLongPressUp, to the
InkWell widget.
It allows developers to respond specifically to the moment when a long
press gesture is released, which previously was not directly exposed.

**Before**
There was no way to distinguish between the long press being held and
the moment it ended.

**After**
InkWell now accepts an onLongPressUp callback, which fires when the user
lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that
require different behaviors for long press hold and release.


**Related Issue**
flutter#173390

**Tests**
- Added a new test to ink_well_test.dart verifying that onLongPressUp is
correctly triggered after a long press is released.

**Checklist**
- I read the [Contributor Guide] and followed the process outlined there
for submitting PRs.
- I read the [Tree Hygiene] wiki page.
- I followed the [Flutter Style Guide].
- I signed the [CLA].
- I updated/added relevant documentation (/// doc comments).
- I added new tests to check the change I am making.
- All existing and new tests are passing.

---------

Co-authored-by: Victor Sanni <[email protected]>
Co-authored-by: engine-flutter-autoroll <[email protected]>
Co-authored-by: Reid Baker <[email protected]>
Co-authored-by: Jon Ihlas <[email protected]>
Co-authored-by: Matthew Kosarek <[email protected]>
Co-authored-by: gaaclarke <[email protected]>
Co-authored-by: Micael Cid <[email protected]>
Co-authored-by: Alexander Aprelev <[email protected]>
Co-authored-by: Tong Mu <[email protected]>
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 15, 2025
flutter/flutter@f4334d2...52af7a5

2025-08-15 [email protected] Roll Packages from 09533b7 to 5c52c55 (6 revisions) (flutter/flutter#173854)
2025-08-15 [email protected] Roll Skia from 46ec77ae3954 to 5654ac32ede0 (1 revision) (flutter/flutter#173848)
2025-08-15 [email protected] Roll Skia from 162f47d6b6bd to 46ec77ae3954 (2 revisions) (flutter/flutter#173833)
2025-08-15 [email protected] Roll Dart SDK from c7faab270f27 to cc008dc8e7aa (2 revisions) (flutter/flutter#173826)
2025-08-15 [email protected] Roll Skia from ad5d04000101 to 162f47d6b6bd (5 revisions) (flutter/flutter#173822)
2025-08-15 [email protected] Update the RBE configuration for the recent Clang update (flutter/flutter#173803)
2025-08-15 [email protected] Stop writing legacy `FLUTTER_ROOT/version` file (by default?) (flutter/flutter#172793)
2025-08-15 [email protected] Remove `luci_flags.parallel_download_builds` and friends (flutter/flutter#173799)
2025-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Predictive back route transitions by default (#165832)" (flutter/flutter#173809)
2025-08-14 [email protected] Roll Skia from dca5f05fee87 to ad5d04000101 (8 revisions) (flutter/flutter#173798)
2025-08-14 [email protected] [web] Cleanup usages of deprecated `routeUpdated` message (flutter/flutter#173782)
2025-08-14 [email protected] Make sure that DataTable, DataColumn, DataRow, and DataCell don't crash in 0x0 environment (flutter/flutter#173515)
2025-08-14 [email protected] Make sure that a TableRowInkWell doesn't crash in 0x0 environment (flutter/flutter#173627)
2025-08-14 [email protected] Make sure that a DatePickerDialog doesn't crash in 0x0 environment (flutter/flutter#173677)
2025-08-14 [email protected] Return result of setting OpenGL contexts back to Flutter (flutter/flutter#173757)
2025-08-14 [email protected] Read `bin/cache/flutter.version.json` instead of `version` for `flutter_gallery` (flutter/flutter#173797)
2025-08-14 [email protected] Predictive back route transitions by default (flutter/flutter#165832)
2025-08-14 [email protected] feat: add onLongPressUp callback to InkWell widget (flutter/flutter#173221)
2025-08-14 [email protected] Roll Dart SDK from 214a7f829913 to c7faab270f27 (1 revision) (flutter/flutter#173792)
2025-08-14 [email protected] Add error handling for `Element` lifecycle user callbacks (flutter/flutter#173148)
2025-08-14 [email protected] Roll Fuchsia Linux SDK from I1TfNmsqTp7t3rO8e... to zWRpLglb48zC1vZLv... (flutter/flutter#173784)
2025-08-14 [email protected] [Range slider] Tap on active range,  the thumb closest to the mouse cursor should move to the cursor position. (flutter/flutter#173725)
2025-08-14 [email protected] Roll Packages from 6cb9113 to 09533b7 (4 revisions) (flutter/flutter#173789)
2025-08-14 [email protected] Implements the Android native stretch effect as a fragment shader (Impeller-only). (flutter/flutter#169293)
2025-08-14 [email protected] Sync `CHANGELOG.md` (3.35 -> `master`) (flutter/flutter#173790)
2025-08-14 [email protected] [VPAT][A11y] Announce Autocomplete search results status (flutter/flutter#173480)
2025-08-14 [email protected] Fix InputDecorator label padding (flutter/flutter#173344)
2025-08-14 [email protected] Fix default minimumSize in dropdownMenu when maximumSize is null (flutter/flutter#169438)
2025-08-14 [email protected] Thread sub-builders for every engine-uploading builder (flutter/flutter#173742)

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.

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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
ksokolovskyi pushed a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
This PR introduces a new optional callback, onLongPressUp, to the
InkWell widget.
It allows developers to respond specifically to the moment when a long
press gesture is released, which previously was not directly exposed.

**Before**
There was no way to distinguish between the long press being held and
the moment it ended.

**After**
InkWell now accepts an onLongPressUp callback, which fires when the user
lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that
require different behaviors for long press hold and release.


**Related Issue**
flutter#173390

**Tests**
- Added a new test to ink_well_test.dart verifying that onLongPressUp is
correctly triggered after a long press is released.

**Checklist**
- I read the [Contributor Guide] and followed the process outlined there
for submitting PRs.
- I read the [Tree Hygiene] wiki page.
- I followed the [Flutter Style Guide].
- I signed the [CLA].
- I updated/added relevant documentation (/// doc comments).
- I added new tests to check the change I am making.
- All existing and new tests are passing.

---------

Co-authored-by: Victor Sanni <[email protected]>
Co-authored-by: engine-flutter-autoroll <[email protected]>
Co-authored-by: Reid Baker <[email protected]>
Co-authored-by: Jon Ihlas <[email protected]>
Co-authored-by: Matthew Kosarek <[email protected]>
Co-authored-by: gaaclarke <[email protected]>
Co-authored-by: Micael Cid <[email protected]>
Co-authored-by: Alexander Aprelev <[email protected]>
Co-authored-by: Tong Mu <[email protected]>
WillBLogical pushed a commit to WillBLogical/packages that referenced this pull request Aug 20, 2025
…r#9832)

flutter/flutter@f4334d2...52af7a5

2025-08-15 [email protected] Roll Packages from 09533b7 to 5c52c55 (6 revisions) (flutter/flutter#173854)
2025-08-15 [email protected] Roll Skia from 46ec77ae3954 to 5654ac32ede0 (1 revision) (flutter/flutter#173848)
2025-08-15 [email protected] Roll Skia from 162f47d6b6bd to 46ec77ae3954 (2 revisions) (flutter/flutter#173833)
2025-08-15 [email protected] Roll Dart SDK from c7faab270f27 to cc008dc8e7aa (2 revisions) (flutter/flutter#173826)
2025-08-15 [email protected] Roll Skia from ad5d04000101 to 162f47d6b6bd (5 revisions) (flutter/flutter#173822)
2025-08-15 [email protected] Update the RBE configuration for the recent Clang update (flutter/flutter#173803)
2025-08-15 [email protected] Stop writing legacy `FLUTTER_ROOT/version` file (by default?) (flutter/flutter#172793)
2025-08-15 [email protected] Remove `luci_flags.parallel_download_builds` and friends (flutter/flutter#173799)
2025-08-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Predictive back route transitions by default (#165832)" (flutter/flutter#173809)
2025-08-14 [email protected] Roll Skia from dca5f05fee87 to ad5d04000101 (8 revisions) (flutter/flutter#173798)
2025-08-14 [email protected] [web] Cleanup usages of deprecated `routeUpdated` message (flutter/flutter#173782)
2025-08-14 [email protected] Make sure that DataTable, DataColumn, DataRow, and DataCell don't crash in 0x0 environment (flutter/flutter#173515)
2025-08-14 [email protected] Make sure that a TableRowInkWell doesn't crash in 0x0 environment (flutter/flutter#173627)
2025-08-14 [email protected] Make sure that a DatePickerDialog doesn't crash in 0x0 environment (flutter/flutter#173677)
2025-08-14 [email protected] Return result of setting OpenGL contexts back to Flutter (flutter/flutter#173757)
2025-08-14 [email protected] Read `bin/cache/flutter.version.json` instead of `version` for `flutter_gallery` (flutter/flutter#173797)
2025-08-14 [email protected] Predictive back route transitions by default (flutter/flutter#165832)
2025-08-14 [email protected] feat: add onLongPressUp callback to InkWell widget (flutter/flutter#173221)
2025-08-14 [email protected] Roll Dart SDK from 214a7f829913 to c7faab270f27 (1 revision) (flutter/flutter#173792)
2025-08-14 [email protected] Add error handling for `Element` lifecycle user callbacks (flutter/flutter#173148)
2025-08-14 [email protected] Roll Fuchsia Linux SDK from I1TfNmsqTp7t3rO8e... to zWRpLglb48zC1vZLv... (flutter/flutter#173784)
2025-08-14 [email protected] [Range slider] Tap on active range,  the thumb closest to the mouse cursor should move to the cursor position. (flutter/flutter#173725)
2025-08-14 [email protected] Roll Packages from 6cb9113 to 09533b7 (4 revisions) (flutter/flutter#173789)
2025-08-14 [email protected] Implements the Android native stretch effect as a fragment shader (Impeller-only). (flutter/flutter#169293)
2025-08-14 [email protected] Sync `CHANGELOG.md` (3.35 -> `master`) (flutter/flutter#173790)
2025-08-14 [email protected] [VPAT][A11y] Announce Autocomplete search results status (flutter/flutter#173480)
2025-08-14 [email protected] Fix InputDecorator label padding (flutter/flutter#173344)
2025-08-14 [email protected] Fix default minimumSize in dropdownMenu when maximumSize is null (flutter/flutter#169438)
2025-08-14 [email protected] Thread sub-builders for every engine-uploading builder (flutter/flutter#173742)

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.

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://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
This PR introduces a new optional callback, onLongPressUp, to the
InkWell widget.
It allows developers to respond specifically to the moment when a long
press gesture is released, which previously was not directly exposed.

**Before**
There was no way to distinguish between the long press being held and
the moment it ended.

**After**
InkWell now accepts an onLongPressUp callback, which fires when the user
lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that
require different behaviors for long press hold and release.


**Related Issue**
flutter#173390

**Tests**
- Added a new test to ink_well_test.dart verifying that onLongPressUp is
correctly triggered after a long press is released.

**Checklist**
- I read the [Contributor Guide] and followed the process outlined there
for submitting PRs.
- I read the [Tree Hygiene] wiki page.
- I followed the [Flutter Style Guide].
- I signed the [CLA].
- I updated/added relevant documentation (/// doc comments).
- I added new tests to check the change I am making.
- All existing and new tests are passing.

---------

Co-authored-by: Victor Sanni <[email protected]>
Co-authored-by: engine-flutter-autoroll <[email protected]>
Co-authored-by: Reid Baker <[email protected]>
Co-authored-by: Jon Ihlas <[email protected]>
Co-authored-by: Matthew Kosarek <[email protected]>
Co-authored-by: gaaclarke <[email protected]>
Co-authored-by: Micael Cid <[email protected]>
Co-authored-by: Alexander Aprelev <[email protected]>
Co-authored-by: Tong Mu <[email protected]>
korca0220 pushed a commit to korca0220/flutter that referenced this pull request Sep 22, 2025
This PR introduces a new optional callback, onLongPressUp, to the
InkWell widget.
It allows developers to respond specifically to the moment when a long
press gesture is released, which previously was not directly exposed.

**Before**
There was no way to distinguish between the long press being held and
the moment it ended.

**After**
InkWell now accepts an onLongPressUp callback, which fires when the user
lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that
require different behaviors for long press hold and release.


**Related Issue**
flutter#173390

**Tests**
- Added a new test to ink_well_test.dart verifying that onLongPressUp is
correctly triggered after a long press is released.

**Checklist**
- I read the [Contributor Guide] and followed the process outlined there
for submitting PRs.
- I read the [Tree Hygiene] wiki page.
- I followed the [Flutter Style Guide].
- I signed the [CLA].
- I updated/added relevant documentation (/// doc comments).
- I added new tests to check the change I am making.
- All existing and new tests are passing.

---------

Co-authored-by: Victor Sanni <[email protected]>
Co-authored-by: engine-flutter-autoroll <[email protected]>
Co-authored-by: Reid Baker <[email protected]>
Co-authored-by: Jon Ihlas <[email protected]>
Co-authored-by: Matthew Kosarek <[email protected]>
Co-authored-by: gaaclarke <[email protected]>
Co-authored-by: Micael Cid <[email protected]>
Co-authored-by: Alexander Aprelev <[email protected]>
Co-authored-by: Tong Mu <[email protected]>
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
This PR introduces a new optional callback, onLongPressUp, to the
InkWell widget.
It allows developers to respond specifically to the moment when a long
press gesture is released, which previously was not directly exposed.

**Before**
There was no way to distinguish between the long press being held and
the moment it ended.

**After**
InkWell now accepts an onLongPressUp callback, which fires when the user
lifts their finger after a long press gesture.
This change enhances gesture handling granularity for widgets that
require different behaviors for long press hold and release.


**Related Issue**
flutter#173390

**Tests**
- Added a new test to ink_well_test.dart verifying that onLongPressUp is
correctly triggered after a long press is released.

**Checklist**
- I read the [Contributor Guide] and followed the process outlined there
for submitting PRs.
- I read the [Tree Hygiene] wiki page.
- I followed the [Flutter Style Guide].
- I signed the [CLA].
- I updated/added relevant documentation (/// doc comments).
- I added new tests to check the change I am making.
- All existing and new tests are passing.

---------

Co-authored-by: Victor Sanni <[email protected]>
Co-authored-by: engine-flutter-autoroll <[email protected]>
Co-authored-by: Reid Baker <[email protected]>
Co-authored-by: Jon Ihlas <[email protected]>
Co-authored-by: Matthew Kosarek <[email protected]>
Co-authored-by: gaaclarke <[email protected]>
Co-authored-by: Micael Cid <[email protected]>
Co-authored-by: Alexander Aprelev <[email protected]>
Co-authored-by: Tong Mu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

9 participants