Constrain RawAutocomplete options by soft keyboard#181930
Conversation
|
Continuation of #163868 |
There was a problem hiding this comment.
Code Review
This pull request correctly constrains the RawAutocomplete options view by the soft keyboard and other system insets by using MediaQueryData.viewInsets and MediaQueryData.padding. The implementation in autocomplete.dart is clean and the added tests in autocomplete_test.dart are thorough. I have a few suggestions to simplify the new tests for better clarity and efficiency.
| await tester.tap(find.byType(TextField)); | ||
| await tester.enterText(find.byType(TextField), 'abc'); | ||
| await tester.pump(); |
There was a problem hiding this comment.
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍. Thanks for following up on this! What was the change that made this possible, out of curiosity?
Is there any reason to allow users to opt into the old behavior, or is it definitely not desirable behavior?
Piinks
left a comment
There was a problem hiding this comment.
This also LGTM with the nit regarding paddingOf
Co-authored-by: Navaron Bracke <brackenavaron@gmail.com>
#181579, adding to PR description.
Definitely not desirable, currently options can't be tapped when hidden behind the keyboard, this PR fixes that. |
|
Scuba changes are expected. |
Roll Flutter from f916dd6887bf to e8f9dc50356d (34 revisions) flutter/flutter@f916dd6...e8f9dc5 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 9325111e6ee4 to b7db9f35f0f2 (1 revision) (flutter/flutter#182062) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 3167229206b5 to 9325111e6ee4 (1 revision) (flutter/flutter#182061) 2026-02-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from sYqpDF9l9-kldd9_Q... to iqtwdXlgKIyZkL5Li... (flutter/flutter#182058) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from ae78024b261e to 3167229206b5 (1 revision) (flutter/flutter#182055) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from ad6368edbe02 to 965b51c219d3 (1 revision) (flutter/flutter#182050) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from a471f253b941 to ae78024b261e (1 revision) (flutter/flutter#182049) 2026-02-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from IOzzhWfhdzhu3zHsz... to sYqpDF9l9-kldd9_Q... (flutter/flutter#182043) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from 02092faa97c5 to ad6368edbe02 (2 revisions) (flutter/flutter#182040) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from 9a983f6c2c06 to a471f253b941 (24 revisions) (flutter/flutter#182039) 2026-02-07 30870216+gaaclarke@users.noreply.github.com Add buffer around rerasterized input to fragment shaders to maintain coordinate space when clipped (flutter/flutter#181743) 2026-02-07 737941+loic-sharma@users.noreply.github.com Update Flutter's style guide for dot shorthands and extension methods (flutter/flutter#181934) 2026-02-06 jason-simmons@users.noreply.github.com Manual roll Skia from 39aa2a70213a to 9a983f6c2c06 (flutter/flutter#181986) 2026-02-06 47866232+chunhtai@users.noreply.github.com Update doc in foundation to match the style guide (flutter/flutter#181972) 2026-02-06 engine-flutter-autoroll@skia.org Roll Dart SDK from ec674bdb3ae4 to 02092faa97c5 (11 revisions) (flutter/flutter#182017) 2026-02-06 engine-flutter-autoroll@skia.org Roll Packages from c197455 to 7805d3e (4 revisions) (flutter/flutter#182016) 2026-02-06 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (#174695)" (flutter/flutter#182010) 2026-02-06 iinozemtsev@google.com Update Dart SDK to 3.12 beta1 (flutter/flutter#181948) 2026-02-06 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#174695) 2026-02-06 116356835+AbdeMohlbi@users.noreply.github.com `flutter_tool` : Remove redundant enum types inside the enum definition scope (flutter/flutter#181910) 2026-02-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181973) 2026-02-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J2QdLcY2gyt4NP_xV... to IOzzhWfhdzhu3zHsz... (flutter/flutter#181971) 2026-02-05 sstrickl@google.com Directly generate a Mach-O dynamic library using gen_snapshot. [reland] (flutter/flutter#181539) 2026-02-05 matej.knopp@gmail.com macOS: Implement tooltip window controller (flutter/flutter#180895) 2026-02-05 victorsanniay@gmail.com Constrain RawAutocomplete options by soft keyboard (flutter/flutter#181930) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 079d092f49e6 to 39aa2a70213a (1 revision) (flutter/flutter#181970) 2026-02-05 285025525@qq.com perf: web ui loadFontFromList (flutter/flutter#181440) 2026-02-05 vs.ashoknarayan@gmail.com Improve accessibility contrast for pre-test message (flutter/flutter#180469) 2026-02-05 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181965) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 8543ce512d5c to 079d092f49e6 (8 revisions) (flutter/flutter#181964) 2026-02-05 50643541+Mairramer@users.noreply.github.com Add `clearError` API to Form and FormFieldState (flutter/flutter#180752) 2026-02-05 okorohelijah@google.com Bump minimum required Xcode version to 15 and recommended to 16 (flutter/flutter#180531) 2026-02-05 GiancarloCante@gmail.com Rename "widgetTester" parameter to "tester" in "WidgetTesterCallback" (flutter/flutter#180944) 2026-02-05 engine-flutter-autoroll@skia.org Roll Packages from 3bddf2c to c197455 (3 revisions) (flutter/flutter#181962) 2026-02-05 jason-simmons@users.noreply.github.com Temporarily remove the Pixel 9/API 36 device from the Firebase Test Lab tests. (flutter/flutter#181956) 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 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://issues.skia.org/issues/new?component=1389291&template=1850622 ...
Fixes [Autocomplete options overlay should automatically moves up when soft keyboard is visible](flutter#157664) Fixes b/317115348 Unblocked by flutter#181579. ## Before https://github.com/user-attachments/assets/586944be-6ff1-4817-980e-334bfefb6c62 ## After https://github.com/user-attachments/assets/086f4be9-0ebc-43af-b85b-3435d4144920 <details> <summary>Sample code</summary> ```dart import "package:flutter/material.dart"; void main() => runApp(const AutocompleteExampleApp()); /// Flutter code sample for [RawAutocomplete]. class AutocompleteExampleApp extends StatelessWidget { const AutocompleteExampleApp({super.key}); @OverRide Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text("RawAutocomplete Basic"), ), body: const CustomScrollView( slivers: [ SliverPadding(padding: EdgeInsets.symmetric(vertical: 300)), SliverToBoxAdapter(child: AutocompleteBasicExample()), SliverPadding(padding: EdgeInsets.symmetric(vertical: 700)), ], ), ), ); } } class AutocompleteBasicExample extends StatelessWidget { const AutocompleteBasicExample({super.key}); static const List<String> _options = <String>[ "aardvark", "bobcat", "chameleon", "chameleon", ]; @OverRide Widget build(BuildContext context) { return RawAutocomplete<String>( optionsBuilder: (TextEditingValue textEditingValue) { return _options.where((String option) { return option.contains(textEditingValue.text.toLowerCase()); }); }, fieldViewBuilder: ( BuildContext context, TextEditingController textEditingController, FocusNode focusNode, VoidCallback onFieldSubmitted, ) { return TextFormField( controller: textEditingController, focusNode: focusNode, onFieldSubmitted: (String value) { onFieldSubmitted(); }, ); }, optionsViewBuilder: ( BuildContext context, AutocompleteOnSelected<String> onSelected, Iterable<String> options, ) { return const Column( children: <Widget>[Expanded(child: Placeholder())], ); }, ); } } ``` </details> ## 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. - [ ] 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. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- 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: Navaron Bracke <brackenavaron@gmail.com>
Fixes [Autocomplete options overlay should automatically moves up when soft keyboard is visible](flutter#157664) Fixes b/317115348 Unblocked by flutter#181579. ## Before https://github.com/user-attachments/assets/586944be-6ff1-4817-980e-334bfefb6c62 ## After https://github.com/user-attachments/assets/086f4be9-0ebc-43af-b85b-3435d4144920 <details> <summary>Sample code</summary> ```dart import "package:flutter/material.dart"; void main() => runApp(const AutocompleteExampleApp()); /// Flutter code sample for [RawAutocomplete]. class AutocompleteExampleApp extends StatelessWidget { const AutocompleteExampleApp({super.key}); @OverRide Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text("RawAutocomplete Basic"), ), body: const CustomScrollView( slivers: [ SliverPadding(padding: EdgeInsets.symmetric(vertical: 300)), SliverToBoxAdapter(child: AutocompleteBasicExample()), SliverPadding(padding: EdgeInsets.symmetric(vertical: 700)), ], ), ), ); } } class AutocompleteBasicExample extends StatelessWidget { const AutocompleteBasicExample({super.key}); static const List<String> _options = <String>[ "aardvark", "bobcat", "chameleon", "chameleon", ]; @OverRide Widget build(BuildContext context) { return RawAutocomplete<String>( optionsBuilder: (TextEditingValue textEditingValue) { return _options.where((String option) { return option.contains(textEditingValue.text.toLowerCase()); }); }, fieldViewBuilder: ( BuildContext context, TextEditingController textEditingController, FocusNode focusNode, VoidCallback onFieldSubmitted, ) { return TextFormField( controller: textEditingController, focusNode: focusNode, onFieldSubmitted: (String value) { onFieldSubmitted(); }, ); }, optionsViewBuilder: ( BuildContext context, AutocompleteOnSelected<String> onSelected, Iterable<String> options, ) { return const Column( children: <Widget>[Expanded(child: Placeholder())], ); }, ); } } ``` </details> ## 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. - [ ] 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. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- 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: Navaron Bracke <brackenavaron@gmail.com>
Fixes [Autocomplete options overlay should automatically moves up when soft keyboard is visible](flutter#157664) Fixes b/317115348 Unblocked by flutter#181579. ## Before https://github.com/user-attachments/assets/586944be-6ff1-4817-980e-334bfefb6c62 ## After https://github.com/user-attachments/assets/086f4be9-0ebc-43af-b85b-3435d4144920 <details> <summary>Sample code</summary> ```dart import "package:flutter/material.dart"; void main() => runApp(const AutocompleteExampleApp()); /// Flutter code sample for [RawAutocomplete]. class AutocompleteExampleApp extends StatelessWidget { const AutocompleteExampleApp({super.key}); @OverRide Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text("RawAutocomplete Basic"), ), body: const CustomScrollView( slivers: [ SliverPadding(padding: EdgeInsets.symmetric(vertical: 300)), SliverToBoxAdapter(child: AutocompleteBasicExample()), SliverPadding(padding: EdgeInsets.symmetric(vertical: 700)), ], ), ), ); } } class AutocompleteBasicExample extends StatelessWidget { const AutocompleteBasicExample({super.key}); static const List<String> _options = <String>[ "aardvark", "bobcat", "chameleon", "chameleon", ]; @OverRide Widget build(BuildContext context) { return RawAutocomplete<String>( optionsBuilder: (TextEditingValue textEditingValue) { return _options.where((String option) { return option.contains(textEditingValue.text.toLowerCase()); }); }, fieldViewBuilder: ( BuildContext context, TextEditingController textEditingController, FocusNode focusNode, VoidCallback onFieldSubmitted, ) { return TextFormField( controller: textEditingController, focusNode: focusNode, onFieldSubmitted: (String value) { onFieldSubmitted(); }, ); }, optionsViewBuilder: ( BuildContext context, AutocompleteOnSelected<String> onSelected, Iterable<String> options, ) { return const Column( children: <Widget>[Expanded(child: Placeholder())], ); }, ); } } ``` </details> ## 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. - [ ] 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. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- 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: Navaron Bracke <brackenavaron@gmail.com>
…r#10979) Roll Flutter from f916dd6887bf to e8f9dc50356d (34 revisions) flutter/flutter@f916dd6...e8f9dc5 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 9325111e6ee4 to b7db9f35f0f2 (1 revision) (flutter/flutter#182062) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from 3167229206b5 to 9325111e6ee4 (1 revision) (flutter/flutter#182061) 2026-02-08 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from sYqpDF9l9-kldd9_Q... to iqtwdXlgKIyZkL5Li... (flutter/flutter#182058) 2026-02-08 engine-flutter-autoroll@skia.org Roll Skia from ae78024b261e to 3167229206b5 (1 revision) (flutter/flutter#182055) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from ad6368edbe02 to 965b51c219d3 (1 revision) (flutter/flutter#182050) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from a471f253b941 to ae78024b261e (1 revision) (flutter/flutter#182049) 2026-02-07 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from IOzzhWfhdzhu3zHsz... to sYqpDF9l9-kldd9_Q... (flutter/flutter#182043) 2026-02-07 engine-flutter-autoroll@skia.org Roll Dart SDK from 02092faa97c5 to ad6368edbe02 (2 revisions) (flutter/flutter#182040) 2026-02-07 engine-flutter-autoroll@skia.org Roll Skia from 9a983f6c2c06 to a471f253b941 (24 revisions) (flutter/flutter#182039) 2026-02-07 30870216+gaaclarke@users.noreply.github.com Add buffer around rerasterized input to fragment shaders to maintain coordinate space when clipped (flutter/flutter#181743) 2026-02-07 737941+loic-sharma@users.noreply.github.com Update Flutter's style guide for dot shorthands and extension methods (flutter/flutter#181934) 2026-02-06 jason-simmons@users.noreply.github.com Manual roll Skia from 39aa2a70213a to 9a983f6c2c06 (flutter/flutter#181986) 2026-02-06 47866232+chunhtai@users.noreply.github.com Update doc in foundation to match the style guide (flutter/flutter#181972) 2026-02-06 engine-flutter-autoroll@skia.org Roll Dart SDK from ec674bdb3ae4 to 02092faa97c5 (11 revisions) (flutter/flutter#182017) 2026-02-06 engine-flutter-autoroll@skia.org Roll Packages from c197455 to 7805d3e (4 revisions) (flutter/flutter#182016) 2026-02-06 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (#174695)" (flutter/flutter#182010) 2026-02-06 iinozemtsev@google.com Update Dart SDK to 3.12 beta1 (flutter/flutter#181948) 2026-02-06 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#174695) 2026-02-06 116356835+AbdeMohlbi@users.noreply.github.com `flutter_tool` : Remove redundant enum types inside the enum definition scope (flutter/flutter#181910) 2026-02-06 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181973) 2026-02-05 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from J2QdLcY2gyt4NP_xV... to IOzzhWfhdzhu3zHsz... (flutter/flutter#181971) 2026-02-05 sstrickl@google.com Directly generate a Mach-O dynamic library using gen_snapshot. [reland] (flutter/flutter#181539) 2026-02-05 matej.knopp@gmail.com macOS: Implement tooltip window controller (flutter/flutter#180895) 2026-02-05 victorsanniay@gmail.com Constrain RawAutocomplete options by soft keyboard (flutter/flutter#181930) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 079d092f49e6 to 39aa2a70213a (1 revision) (flutter/flutter#181970) 2026-02-05 285025525@qq.com perf: web ui loadFontFromList (flutter/flutter#181440) 2026-02-05 vs.ashoknarayan@gmail.com Improve accessibility contrast for pre-test message (flutter/flutter#180469) 2026-02-05 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#181965) 2026-02-05 engine-flutter-autoroll@skia.org Roll Skia from 8543ce512d5c to 079d092f49e6 (8 revisions) (flutter/flutter#181964) 2026-02-05 50643541+Mairramer@users.noreply.github.com Add `clearError` API to Form and FormFieldState (flutter/flutter#180752) 2026-02-05 okorohelijah@google.com Bump minimum required Xcode version to 15 and recommended to 16 (flutter/flutter#180531) 2026-02-05 GiancarloCante@gmail.com Rename "widgetTester" parameter to "tester" in "WidgetTesterCallback" (flutter/flutter#180944) 2026-02-05 engine-flutter-autoroll@skia.org Roll Packages from 3bddf2c to c197455 (3 revisions) (flutter/flutter#181962) 2026-02-05 jason-simmons@users.noreply.github.com Temporarily remove the Pixel 9/API 36 device from the Firebase Test Lab tests. (flutter/flutter#181956) 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 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://issues.skia.org/issues/new?component=1389291&template=1850622 ...
Fixes Autocomplete options overlay should automatically moves up when soft keyboard is visible
Fixes b/317115348
Unblocked by #181579.
Before
before.soft.keyboard.mov
After
Screen.Recording.2025-02-28.at.4.04.29.PM.mov
Sample code
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.