5439 Commits

Author SHA1 Message Date
Greg Spencer
dd90ff429d
Remove TextRange, export it from dart:ui (#44422)
This removes TextRange from the framework and moves it to the engine, in preparation for using it to return text ranges from the text extent APIs, and updates the APIs that use Paragraph.getWordBoundary (there was only one) to expect a TextRange or  a pair of ints temporarily until the engine side returns TextRanges, so that I can convert over without breaking the builds.
2019-11-08 18:57:44 -08:00
Greg Spencer
c921c5ae67
Add macOS fn key support. (#44410)
This adds support for the fn key on macOS. It adds it to the key mappings as a supplemental mapping that overwrites the one from the Chrome headers, since the chrome headers have a TODO, but no implementation of the key.

Also, ignore the fn key entirely on macOS. This is because On macOS laptop keyboards, the fn key is used to generate home/end and f1-f12, but it ALSO generates a separate down/up event for the fn key itself. Other platforms hide the fn key, and just produce the key that it is combined with, so to keep it possible to write cross platform code that looks at which keys are pressed, the fn key is ignored.
2019-11-08 16:30:38 -08:00
LongCatIsLooong
09c80aa45a
Segmented control quick double tap fix (#44391) 2019-11-08 10:05:53 -08:00
Luiz França
d961ae85b5 Adding subtitle to ExpansionTile (#43946)
* Adding subtitle to expansion_tile
2019-11-08 10:04:49 -08:00
Greg Spencer
19778f9e33
Make selected item get focus when dropdown is opened (#43722)
As it stands, dropdowns currently do not focus the item that is selected, so if you select something on a dropdown, and then close it, and re-open it, then the new item is not auto-focused. This PR changes that so that selected value is focused by default when the dropdown is re-opened.
2019-11-08 08:58:37 -08:00
liyuqian
cc9e9ce2ce
Remove TODO that's done (#44318)
See https://github.com/flutter/engine/pull/13728
2019-11-07 14:06:07 -08:00
LongCatIsLooong
62db22d152
CupertinoDynamicColor improvements (#44317) 2019-11-07 13:14:08 -08:00
Greg Spencer
028ed7122a
Synchronize modifier keys in RawKeyboard.keysPressed with modifier flags on events. (#43948)
Currently, we listen to keyboard events to find out which keys should be represented in RawKeyboard.instance.keysPressed, but that's not sufficient to represent the physical state of the keys, since modifier keys could have been pressed when the overall app did not have keyboard focus (especially on desktop platforms).

This PR synchronizes the list of modifier keys in keysPressed with the modifier key flags that are present in the raw key event so that they can be relied upon to represent the current state of the keyboard. When synchronizing these states, we don't send any new key events, since they didn't happen when the app had keyboard focus, but if you ask "is this key down", we'll give the right answer
2019-11-06 14:52:55 -08:00
Taufiq Rahman
3243ebe3ee Tap.dart: Fixes the spacing to the right side of reason (#43246) 2019-11-06 14:48:43 -08:00
chunhtai
ed82bb821c
revert add new enum change (#44281) 2019-11-06 11:07:24 -08:00
Gary Qian
8cd892b39b
Use alphabetic baselines for layout of InputDecorator (#44029) 2019-11-06 10:50:16 -08:00
Jonah Williams
2110dfe0f5
remove yield from inherited model (#44233) 2019-11-06 10:38:56 -08:00
chunhtai
7aebde1904
added new lifecycle state (#39945)
* added new lfecycle state

* update

* update
2019-11-05 20:03:09 -08:00
LongCatIsLooong
a9fc9e561a
Apply minimumDate & maximumDate constraints in CupertinoDatePicker date mode (#44149) 2019-11-05 14:16:55 -08:00
Shi-Hao Hong
1663fde347
Wire selectedItemBuilder through DropdownButtonFormField (#44160) 2019-11-05 12:32:03 -08:00
Justin McCandless
9734754aad
CupertinoContextMenu (iOS 13) (#43918)
Adds the CupertinoContextMenu widget for iOS 13 support.
2019-11-05 07:55:54 -08:00
Edman P. Anjos
28b5cc3825
Pad CupertinoAlertDialog with MediaQuery viewInsets (#42967)
Fixes #42049.
2019-11-05 11:50:30 +01:00
umevoshi
d96afee888 Fix comment typo in tabs.dart (#44068) 2019-11-04 17:33:23 -08:00
Thalles Santos
0431c8a64d Typo in TextFormField comments (#44076)
initalValue should be initialValue
2019-11-04 17:32:41 -08:00
Kate Lovett
11e1c24069
SliverAppBar - Configurable overscroll stretch with callback feature & FlexibleSpaceBar support (#42250) 2019-11-04 17:10:26 -08:00
LongCatIsLooong
bbb2a0f837
Update cupertino demos in gallery (#43841) 2019-11-04 16:31:52 -08:00
Dan Field
7957c56997
Respond to TextInputClient.reattach messages. (#43959) 2019-11-04 16:28:03 -08:00
Nurhan Turgut
97cf355b9d
Adding handling of TextInputClient.onConnectionClosed messages handli… (#43466)
* Adding handling of TextInputClient.onConnectionClosed messages handling to Framework

* Adding more test cases for closing connection to editable_text_test

* fixing analyze error.

* Fixing analyze error in the test file

* Fixing comments on the new method

* Adding more closing connection examples.

* Indentation change

* Remove auto-add white space

* Changing the oncloseconnection behaviour to stop editing. Updating the tests

* Addressing PR comments. Added explicit log for method channnels to the tests. Added comments to the interfaces.

* add more documentation
2019-11-04 13:35:18 -08:00
NikitaZhelonkin
fbabb264e0 Add enableFeedback param to MaterialButton, RawMaterialButton and IconButton (#41972)
* Wire enableFeedback parameter through MaterialButton, RawMaterialButton, and IconButton.

Co-Authored-By: Shi-Hao Hong <shihaohong@google.com>
2019-11-01 15:36:07 -07:00
Shi-Hao Hong
bf45897f13
Revert "Implement AlertDialog title/content overflow scroll #43226" (#44003) 2019-11-01 11:30:58 -07:00
Brian Egan
2e41483384 Add "navigator" option to "showDialog" and "showGeneralDialog" (#42842) 2019-11-01 11:16:32 -07:00
creativecreatorormaybenot
8d5caf3df2 Fix typo in app_bar.dart comment (#43981) 2019-11-01 10:16:11 -07:00
Justin McCandless
924e48eeb9
Increase TextField's minimum height from 40 to 48 (#42449)
This is being done to match the Material spec. It will likely break many visual diff tests.
2019-11-01 12:36:15 -04:00
LongCatIsLooong
3cd8c3142c
Update CupertinoSlidingSegmentedControl control/feedback mechanism (#43932) 2019-10-31 19:35:52 -07:00
Greg Spencer
3a30722fda
Add convenience accessor for primaryFocus (#43859)
This adds accessors for WidgetsBinding.instance.focusManager and WidgetsBinding.instance.focusManager.primaryFocus so that they can be more easily found in IDEs and accessed.

This adds a top level getter for WidgetsBinding.instance.focusManager.primaryFocus called primaryFocus, and a static accessor FocusManager.instance that returns WidgetsBinding.instance.focusManager.
2019-10-31 18:02:31 -07:00
Gary Qian
f9b8d688cf
Reorder show and setEditingState calls to the IMM (#43865) 2019-10-31 13:28:48 -07:00
Greg Spencer
0028887a69
Don't allow Disabled InkWells to be focusable (#43848)
Makes sure that disabled InkWell/InkResponse and widgets that use them don't allow themselves to be focused.

ListTile, PopupMenu, and Stepper were not setting canRequestFocus properly on the InkWell, and InkWell was allowing focus even if it was disabled (it was basically just relying on the containing widget to set canRequestFocus properly). Now InkWell must both be enabled (have an onTap or similar) and have canRequestFocus set to true.
2019-10-31 12:58:14 -07:00
Michael Goderbauer
07a09c4b70
Mark routes as opaque when added without animation (#43756) 2019-10-31 11:32:19 -07:00
liyuqian
40670c09dc
Allow multiple TimingsCallbacks (#43676)
This fixes https://github.com/flutter/flutter/issues/39277

The following tests cover this change:
- packages/flutter/test/foundation/service_extensions_test.dart
- packages/flutter/test/scheduler/scheduler_test.dart
2019-10-30 19:02:13 -07:00
Michael Goderbauer
99fd65e79a
Remove print and fix code formatting (#43843) 2019-10-30 17:15:52 -07:00
Erick (CptBlackPixel)
8b09a53252 Fixing focus traversal when the node options are empty (#43238)
Fixes directional focus traversal when there are no available nodes to traverse to.
2019-10-30 14:54:29 -07:00
LongCatIsLooong
9ea0ecc33b
CupertinoSlidingSegmentedControl (#42775) 2019-10-30 10:42:48 -07:00
Bernardo Ferrari
28a214ba8a Add onLongPress to Buttons (#40641)
* Add onLongPress to Buttons.

* Button enabled status will now respond to onLongPress
2019-10-29 18:41:44 -07:00
Greg Spencer
a1c5e3354b
Re-Land: Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43657)
This re-lands the change that adds focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43213), with fixes for the web tests that weren't enabled in the master that it was synced to when I first landed it.
2019-10-29 17:09:26 -07:00
gaaclarke
53dcf92f7d
Fixed bug where we could accidently call a callback twice. (#43467) 2019-10-29 16:04:38 -07:00
LongCatIsLooong
3352b91f2c
CupertinoPicker doc update (#43736) 2019-10-29 14:31:27 -07:00
Pieter van Loon
0120c414fb Improved ios 13 scrollbar fidelity (#41799)
Drag from the right is no more
Longpress is now only 100ms instead of 500
Added optional duration field to longpressgesturerecognizer
Added controller field to material scrollbar api
Haptic feedback only triggers when scrollbar is fully expanded
Added haptic feedback when releasing the scrollbar after dragging it
2019-10-29 08:46:21 -07:00
LongCatIsLooong
4ac2daf337
CupertinoTheme & CupertinoTextTheme dark mode updates (#41859) 2019-10-28 15:50:08 -07:00
Justin McCandless
6e888dac24
Add enableSuggestions flag to TextField and TextFormField (#42550)
This flag controls Android's keyboard suggestions on/off
2019-10-28 15:31:52 -07:00
creativecreatorormaybenot
e903485de2 Change PopupMenuButton.icon type to Widget (#43526) 2019-10-28 13:46:14 -07:00
Shi-Hao Hong
c461ff9d4a
Implement AlertDialog title/content overflow scroll (#43226)
* Wrap alert dialog title and content in single child scroll view

* Scrollable alert dialog title and content tests

* Remove unnecessary comment

* Fix mainAxisSize and crossAxisAlignment issue
2019-10-28 13:45:05 -07:00
Shi-Hao Hong
036c102c34
Improve DropdownButton assert message (#43511)
- Adds an assert message checking for exactly one unique value for `DropdownItem`s
2019-10-28 13:44:21 -07:00
Greg Spencer
38f2d27685
Revert "Re-Land: Add focus nodes, hover, and shortcuts to switches, checkboxes, and radio buttons. (#43384)" (#43647)
This reverts commit 8017f63b083474d0ba28457e48acbb35d15a727a, since it breaks web tests.
2019-10-28 11:28:09 -07:00
Albertus Angga Raharja
b31ca1aaca
Add more structure to errors (continuation of #34684) (#42640)
* Add structured errors in Animations, TabView, ChangeNotifier

* Add structured error on MaterialPageRoute, BoxBorder, DecorationImagePainter, TextSpan

* Add structured errors in Debug

* Fix test errors

* Add structured errors in Scaffold and Stepper

* Add structured errors in part of Rendering Layer

* Fix failing test due to FloatingPoint precision

* Fix failing tests due to precision error and not using final

* Fix failing test due to floating precision error with RegEx instead

* Add structured error in CustomLayout and increase test coverage

* Add structured error & its test in ListBody

* Add structured error in ProxyBox and increase test coverage

* Add structured error message in Viewport

* Fix styles and add more assertions on ErrorHint and DiagnosticProperty

* Add structured error in scheduler/binding and scheduler/ticker

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in AssetBundle and TextInput

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured errors in several widgets #1

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove unused import

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add assertions on hint messages

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix catch spacing

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in several widgets part 2 and increase code coverage

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in flutter_test/widget_tester

* Fix floating precision accuracy by using RegExp

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove todo to add tests in Scaffold showBottomSheet

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix reviews by indenting lines and fixing the assertion orders

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix failing tests due to renaming class

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Try skipping the NetworkBundleTest

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove leading space in material/debug error hint

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>
2019-10-28 11:00:49 -07:00
Shi-Hao Hong
734ddd3103
Make DropdownButton's disabledHint and hint behavior consistent (#42479)
* Fix DropdownButton disabledHint behavior

* Fix hint behavior when selectedItemBuilder is null

* Improve variable names, some formatting updates

* Create _DropdownMenuItemContainer widget

* Improve API docs to be consistent with hint/disabledHint actual behavior
2019-10-28 11:00:33 -07:00