Adds a feature of the native Android Time Picker to our Material Time Picker. When the user selects an hour, it automatically switches to minute mode.
This is a merging of two pull requests:
Code changes from @sdolski #24677
Tests from @lucaslcode #29876
Thanks to both of you for your contributions!
This PR introduces a number of changes and improvements to snack bars. This includes the ability to specify:
floating style of snack bars that adhere to the updated Material spec
elevation and shape on the SnackBar itself instead of relying on fixed values
a snackBarTheme as part of ThemeData which allows you to customize all of the above on an app-wide level.
This PR is includes the changes from #21484 as well as additional fixes and modifications. Thanks to @NikoYuwono for providing these changes and getting this off the ground!
Adds an adaptive constructor for the Material Slider. An adaptive widget is one that renders itself as Material on Android, and Cupertino on iOS. This work is based off of a similar feature on Switches: bbb080b#diff-fe2bb980c6207699cbf45538fe927afa.
The motivation for this change is that we should provide adaptive constructors for as many widgets as necessary in the Material library. In Material, it is suggested that the slider is an iOS-style slider.
#30390 was rolled back. This PR will re-roll it forward.
This PR makes a number of changes to the visual appearance of material sliders:
Sizes/Shapes
** enabled thumb radius from 6 to 10
** disabled thumb radius from 4 to 10 with no gap
** default track shape is a rounded rect rather than a rect
**
Colors
** all of the colors now use the new color scheme
** overlay opacity has been reduce from 16% to 12%
** value indicator text color now respects the indicator it is on by using onPrimary
** disabledThumb color no respects the surface it is on by using onSurface
The slider theme is also now constructed consistently with other theme objects within the ThemeData. By default, all values are null, and have default values that are resolved in the slider itself, rather than in the slider theme.
934772dd87...0523870e0b
git log 934772dd877210443a65fe1d0eec542b3d559b71..0523870e0bc6f20101aa6e42e9e3fdf3adf513f0 --no-merges --oneline
0523870e0 Add tests from framework (flutter/engine#8692)
ed1f3fd99 Change Vertices.indices to use a Uint16 list to more accurately reflect Skia's API (flutter/engine#8657)
4f2fd84cb Revert Rect/RRect 64 bit (flutter/engine#8690)
6dc5dcad3 Revert "Remove unused Settings::ToString. (#8642)" (flutter/engine#8689)
9fa733678 fix toString (flutter/engine#8688)
c12315273 Make Rect and RRect use 64 bit doubles, and make them const-able (flutter/engine#8565)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.
ca31a7c57b...206cab6e70
git log ca31a7c57bada458fa7f5c0d3f36bc1af4ccbc79..206cab6e701392fe0433f15a248516e94d4f8025 --no-merges --oneline
206cab6e7 Roll src/third_party/skia cc5d3e09e394..1c0b05afdef8 (14 commits) (flutter/engine#8654)
1fe327914 Cleanup references to FLX archives from the engine. (flutter/engine#8653)
6257dfeb5 Add factory methods to FileMapping that make it easy to create common mappings. (flutter/engine#8652)
5fed72520 Roll buildroot to 380d0ed5c3399d5a2aaac4a66d98e3a3fda77c31 (flutter/engine#8649)
eaa0e9c70 Roll src/third_party/skia e5763787f920..cc5d3e09e394 (3 commits) (flutter/engine#8651)
7e37080ec Allow specifying the Mac SDK path as an environment variable to //flutter/tools/gn (flutter/engine#8643)
30c23e604 Roll src/third_party/skia e8a33ec6d084..e5763787f920 (1 commits) (flutter/engine#8650)
8f0af31ec Roll src/third_party/skia 8cdae55bf1ac..e8a33ec6d084 (3 commits) (flutter/engine#8648)
25c33dc9d Roll src/third_party/skia 9b67802a4cd0..8cdae55bf1ac (1 commits) (flutter/engine#8647)
1e5f59d4f Reland "Remove DartSnapshotBuffer and dry up snapshot resolution logic". (flutter/engine#8645)
4ead9c8f9 Remove unused Settings::ToString. (flutter/engine#8642)
TBR: @cbracken
Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.
This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.
It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:
FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.
Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.
Addresses #11344, #1608, #13264, and #1678Fixes#30084Fixes#26704
This reverts commit b1039f0f1b761b0e4ec1825eed269b10af6104d4.
(This is a temporary revert while some of our customers deal with the breaking changes involved.)