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 InputDecorators suffix and prefix widgets are tappable when hidden #143308

Merged
merged 3 commits into from Feb 13, 2024

Conversation

TahaTesser
Copy link
Member

fixes The InputDecoration's suffix and prefix widget can be tapped even if it does not appear

This PR also updates two existing tests to pass the tests for this PR. These tests are trying to tap prefix and suffix widgets when they're hidden. While the linked issue had visible prefix and suffix widgets #39376 for reproduction.

Code sample

expand to view the code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MainApp());
}

class MainApp extends StatelessWidget {
  final _messangerKey = GlobalKey<ScaffoldMessengerState>();

  MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      scaffoldMessengerKey: _messangerKey,
      home: Scaffold(
        body: Container(
          alignment: Alignment.center,
          padding: const EdgeInsets.all(16.0),
          child: TextField(
            decoration: InputDecoration(
              labelText: 'Something',
              prefix: GestureDetector(
                onTap: () {
                  _messangerKey.currentState?.showSnackBar(
                      const SnackBar(content: Text('A tap has occurred')));
                },
                child: const Icon(Icons.search),
              ),
              suffix: GestureDetector(
                onTap: () {
                  _messangerKey.currentState?.showSnackBar(
                      const SnackBar(content: Text('A tap has occurred')));
                },
                child: const Icon(Icons.search),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

Before

ScreenRecording2024-02-12at18 40 34-ezgif com-video-to-gif-converter

After

ScreenRecording2024-02-12at18 40 10-ezgif com-video-to-gif-converter

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.

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

@github-actions github-actions 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 Feb 12, 2024
@TahaTesser TahaTesser changed the title Fix InputDecorator's suffix and prefix` widgets are tappable when hidden Fix InputDecorators suffix and prefix widgets are tappable when hidden Feb 12, 2024
@TahaTesser TahaTesser marked this pull request as ready for review February 12, 2024 17:20
Copy link
Contributor

@bleroux bleroux left a comment

Choose a reason for hiding this comment

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

LGTM!

@TahaTesser TahaTesser added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 13, 2024
@auto-submit auto-submit bot merged commit 1f8d110 into flutter:master Feb 13, 2024
66 checks passed
@TahaTesser TahaTesser deleted the prefix_suffix_hidden_pointer branch February 13, 2024 08:51
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 13, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 14, 2024
Roll Flutter from eb5d0a434ef1 to a628814ebd25 (72 revisions)

flutter/flutter@eb5d0a4...a628814

2024-02-13 matanlurey@users.noreply.github.com Allow deprecated members from the Dart SDK and Flutter Engine to roll in (flutter/flutter#143347)
2024-02-13 34871572+gmackall@users.noreply.github.com [Re-re-land] Enforce a policy on supported Gradle, Java, AGP, and KGP versions (flutter/flutter#143341)
2024-02-13 engine-flutter-autoroll@skia.org Roll Packages from 0a69259 to 9385bbb (7 revisions) (flutter/flutter#143366)
2024-02-13 tessertaha@gmail.com Fix `InputDecorator`s `suffix` and `prefix` widgets are tappable when hidden (flutter/flutter#143308)
2024-02-13 pateltirth454@gmail.com Pass-Through `inputFormatters` in `DropdownMenu` (flutter/flutter#143250)
2024-02-13 tessertaha@gmail.com Fix `insetPadding` parameter nullability for dialogs (flutter/flutter#143305)
2024-02-12 43054281+camsim99@users.noreply.github.com Revert "Migrate integration_test plugin to Gradle Kotlin DSL (#142008)" (flutter/flutter#143329)
2024-02-12 rossllewallyn@proton.me Badge class doc typo - missing [ (flutter/flutter#143318)
2024-02-12 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 1c3ecee77350 to a19077503a0c (8 revisions) (#143322)" (flutter/flutter#143338)
2024-02-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1c3ecee77350 to a19077503a0c (8 revisions) (flutter/flutter#143322)
2024-02-12 kevmoo@users.noreply.github.com [web] Move JS interop to extension types (flutter/flutter#143274)
2024-02-12 32538273+ValentinVignal@users.noreply.github.com Add documentation for best practices for `StreamBuilder` like `FutureBuilder`  (flutter/flutter#143295)
2024-02-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8806987182a3 to 1c3ecee77350 (1 revision) (flutter/flutter#143315)
2024-02-12 nitesh.sharma@joshtechnologygroup.com Fix dual focus issue in CheckboxListTile, RadioListTile and SwitchListTile (flutter/flutter#143213)
2024-02-12 reidbaker@google.com Revert "[Re-land] Enforce a policy on supported Gradle, Java, AGP, and KGP versions" (flutter/flutter#143314)
2024-02-12 magder@google.com Update integration_test iOS FTL README script to remove targeted version (flutter/flutter#143248)
2024-02-12 scheglov@google.com Remove unnecessary 'debugLabel: null'. (flutter/flutter#143253)
2024-02-12 pateltirth454@gmail.com Introduce `iconAlignment` for the buttons with icon (flutter/flutter#137348)
2024-02-12 engine-flutter-autoroll@skia.org Roll Packages from 11152d2 to 0a69259 (4 revisions) (flutter/flutter#143306)
2024-02-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from 4f119619dfa8 to 8806987182a3 (1 revision) (flutter/flutter#143304)
2024-02-12 engine-flutter-autoroll@skia.org Roll Flutter Engine from b0753c0e25f8 to 4f119619dfa8 (1 revision) (flutter/flutter#143291)
2024-02-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 936495d94cc6 to b0753c0e25f8 (1 revision) (flutter/flutter#143282)
2024-02-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from b06b3e0d75ad to 936495d94cc6 (1 revision) (flutter/flutter#143280)
2024-02-11 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1478f4e75dd9 to b06b3e0d75ad (1 revision) (flutter/flutter#143275)
2024-02-10 31859944+LongCatIsLooong@users.noreply.github.com Fix text painter longest line resizing logic for `TextWidthBasis.longestLine` (flutter/flutter#143024)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from e6ceb3504f50 to 1478f4e75dd9 (1 revision) (flutter/flutter#143273)
2024-02-10 zanderso@users.noreply.github.com Move Windows arm64 tests to bringup true (flutter/flutter#143272)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3c5149ccde38 to e6ceb3504f50 (1 revision) (flutter/flutter#143267)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from c587bd69985f to 3c5149ccde38 (2 revisions) (flutter/flutter#143266)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from e08b6c899c42 to c587bd69985f (1 revision) (flutter/flutter#143265)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1b8f23bbd099 to e08b6c899c42 (2 revisions) (flutter/flutter#143264)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 41daa5b913b9 to 1b8f23bbd099 (2 revisions) (flutter/flutter#143261)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from f969c52f133a to 41daa5b913b9 (1 revision) (flutter/flutter#143258)
2024-02-10 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6a3b0216ff5b to f969c52f133a (3 revisions) (flutter/flutter#143256)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8c521eb24171 to 6a3b0216ff5b (4 revisions) (flutter/flutter#143251)
2024-02-09 polinach@google.com Upgrade leak_tracker. (flutter/flutter#143236)
2024-02-09 kris.pypen@gmail.com Fix: performance improvement on golden test comparison (flutter/flutter#142913)
2024-02-09 nathan.wilson1232@gmail.com Implementing `switch` expressions in `lib/src/material/` (flutter/flutter#142793)
2024-02-09 73116038+whiskeyPeak@users.noreply.github.com Add position data to `OnDragEnd` callback (flutter/flutter#140378)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1232d598f7c4 to 8c521eb24171 (2 revisions) (flutter/flutter#143237)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7a5390c6b3bd to 1232d598f7c4 (1 revision) (flutter/flutter#143235)
2024-02-09 magder@google.com Set plugin template minimum iOS version to 12.0 (flutter/flutter#143167)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 7a241130fcf8 to 7a5390c6b3bd (1 revision) (flutter/flutter#143231)
2024-02-09 barpac02@gmail.com Migrate integration_test plugin to Gradle Kotlin DSL (flutter/flutter#142008)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from dcac9863a1fc to 7a241130fcf8 (1 revision) (flutter/flutter#143222)
2024-02-09 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1508b11bf791 to dcac9863a1fc (1 revision) (flutter/flutter#143220)
...
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: 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.

The InputDecoration's suffix and prefix widget can be tapped even if it does not appear
3 participants