- 24 May, 2023 5 commits
-
-
lsaudon authored
`TextFormField` does not have all the parameters of `TextField`. Added: ```dart UndoHistoryController? undoController, AppPrivateCommandCallback? onAppPrivateCommand, bool? cursorOpacityAnimates, ui.BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, ui.BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, DragStartBehavior dragStartBehavior = DragStartBehavior.start, ContentInsertionConfiguration? contentInsertionConfiguration, Clip clipBehavior = Clip.hardEdge, bool scribbleEnabled = true, bool canRequestFocus = true, ```
-
LongCatIsLooong authored
Improves `TextPainter.layout` caching when only the input constraints change: - removes the double layout calls in `TextPainter._layoutParagraph`: now double layout is only needed when `TextAlign` is not left, and the input `maxWidth == double.infinity`. - skip calls to `ui.Paragraph.layout` when it's guaranteed that there's no soft line breaks before/after the layout call. This doesn't introduce new APIs but may slightly shift text rendered on screen. This reduces the number of `layout` calls but since shaping results are already cached so it only skips the relatively cheap line-breaking process when possible. 528 scuba failures but all of them seem reasonable.
-
Bruno Leroux authored
## Description This PR fixes a precision error in ~~`ClampingScrollPhysics`~~ `ScrollPosition` that leads to `StretchingOverscrollIndicator` stretching its content unexpectedly in some devices (see https://github.com/flutter/flutter/issues/126561 where this is visible in `TabBarView` and the test added in this PR where it reproduces with a `PageView`). ~~This PR also contains a change to `nested_scroll_view.dart` because the first change (the one in `ClampingScrollPhysics`) breaks the precision error test added by https://github.com/flutter/flutter/pull/87801.~~ ## Related Issue Fixes https://github.com/flutter/flutter/issues/126561 ## Tests Adds 1 test.
-
Devin authored
fixes https://github.com/flutter/flutter/issues/123315 -------- This PR makes changes to the _actionHandler function used on the Slider.Dart Widget for Key Events. It ensures onChangeStart is called at the beginning of a Key Event and onChangeEnd at the end of one. This PR includes a test for the changes made. I ran all existing tests after my changes were made and they passed.
-
Sun Jiao authored
-
- 23 May, 2023 4 commits
-
-
Tomasz Gucio authored
-
NikolajHarderNota authored
Adds barrierLabel as optional param in showModalBottomSheet Fixes #83180
-
Justin McCandless authored
This PR changes the character boundary behavior of obscured fields to be based on code points instead of code units. So it used to be possible to traverse and delete obscured text inside of code points (and breaking a code point like that would cause a crash):  But now moving the cursor and deleting is based on code points:  ### Native behavior Native iOS deletes part of the emoji, native Mac deletes the whole emoji. See https://github.com/flutter/flutter/issues/122381#issuecomment-1482042620. So it's unclear what the desired behavior should actually be. ### Resources Fixes https://github.com/flutter/flutter/issues/122381 I thought this might not fix the case where a broken emoji is directly pasted into the field, but it seems to work by trying this: �âð
âð¦âð¦ CC @LongCatIsLooong -
Taha Tesser authored
partial fix https://github.com/flutter/flutter/issues/126826 (date range picker is another PR) fixes https://github.com/flutter/flutter/issues/126597 ### Description 1. This PR adds a bunch of M3 date picker tests 2. Fixes divider taking more space than it should 3. Added dividerColor theme value to allow users to customise divider color just for the date pickers from date picker theme <details> <summary>code sample</summary> ```dart import 'package:flutter/material.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( datePickerTheme: DatePickerThemeData( headerBackgroundColor: Colors.amber, ), useMaterial3: true, ), home: Scaffold( body: Builder(builder: (BuildContext context) { return Center( child: ElevatedButton( onPressed: () async { showDatePicker( context: context, initialDate: DateTime(2016, DateTime.january, 15), firstDate: DateTime(2001), lastDate: DateTime(2031, DateTime.december, 31), ); }, child: const Text('Show Date Picker'), ), ); }), ), ); } } ``` </details> ### Before  ### After 
-
- 22 May, 2023 2 commits
-
-
Daniel Iglesia authored
Support keeping a bottom sheet with a DraggableScrollableSheet from closing on drag/fling to min extent (#127339)
-
Victor Ohashi authored
This PR is to fix the position of `SearchAnchor` when used with nested navigator. This solution is based on what `DropdownButton` internally do, looking to the closest `Navigator` to proper calculate the where to render `SearchViewRoute`. Fixes: https://github.com/flutter/flutter/issues/126435 <details> <summary>Test case</summary> ```dart void main() => runApp(const NestedSearchBarApp()); class NestedSearchBarApp extends StatefulWidget { const NestedSearchBarApp({super.key}); @override State<NestedSearchBarApp> createState() => _NestedSearchBarAppState(); } class _NestedSearchBarAppState extends State<NestedSearchBarApp> { final SearchController controller = SearchController(); @override Widget build(BuildContext context) { final ThemeData themeData = ThemeData(useMaterial3: true); return MaterialApp( theme: themeData, builder: (BuildContext context, Widget? child) { return Scaffold( body: Row( children: <Widget>[ NavigationRail( selectedIndex: 1, destinations: const <NavigationRailDestination>[ NavigationRailDestination( icon: Icon(Icons.favorite_border), selectedIcon: Icon(Icons.favorite), label: Text('First'), ), NavigationRailDestination( icon: Icon(Icons.bookmark_border), selectedIcon: Icon(Icons.book), label: Text('Second'), ), ], ), const VerticalDivider(thickness: 1, width: 1), Expanded(child: child!) ], ), ); }, home: Scaffold( appBar: AppBar(title: const Text('Search Anchor Sample')), body: Column( children: <Widget>[ SearchAnchor( searchController: controller, builder: (BuildContext context, SearchController controller) { return IconButton( icon: const Icon(Icons.search), onPressed: () { controller.openView(); }, ); }, suggestionsBuilder: (BuildContext context, SearchController controller) { return List<ListTile>.generate(5, (int index) { final String item = 'item $index'; return ListTile( title: Text(item), onTap: () { setState(() { controller.closeView(item); }); }, ); }); }), Center( child: controller.text.isEmpty ? const Text('No item selected') : Text('Selected item: ${controller.value.text}'), ), ], ), ), ); } } ``` </details> <details> <summary>Before fix:</summary>  </details> <details> <summary>After fix:</summary>  </details>
-
- 19 May, 2023 4 commits
-
-
Gil Nobrega authored
-
Phil Quitslund authored
The upcoming linter release notices null literals as unnecessary argument values and flags more `type_literal_in_constant_pattern` cases. See breakages: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8780744067138629361/+/u/analyze_flutter_flutter/stdout
-
chunhtai authored
fixes https://github.com/flutter/flutter/issues/126100
-
Qun Cheng authored
This PR is to remove deprecated `primaryVariant` and `secondaryVariant` from framework. These two apis are made obsolete in #93427 Part of https://github.com/flutter/flutter/issues/127042
-
- 18 May, 2023 2 commits
-
-
Mahdi Bagheri authored
Fixing #126206 and #113388 issues *The IgnorePointer is preventing the richMessage touch events being recognized. Just removing that from* *Solves #126206 and #113388*
-
Qun Cheng authored
Fixes #126590 This PR is to clip the view content when the view size is not big enough, such as during animation. Also removes some unused properties in `_ViewContent` class: `getRect` and `viewConstraints`
-
- 17 May, 2023 3 commits
-
-
Renzo Olivares authored
The deprecation period has elapsed. The method was made obsolete in https://github.com/flutter/flutter/pull/87281.
-
JellyO1 authored
This PR exposes a requestFocusCallback on `FocusTraversalPolicy` and it's inheritors. Fixes #83175.
-
Taha Tesser authored
-
- 16 May, 2023 10 commits
-
-
Ian Hickson authored
This is a proof of concept for renaming SlottedMultiChildRenderObjectWidgetMixin to SlottedMultiChildRenderObjectWidget and making it a concrete class. I also made SlottedContainerRenderObjectMixin generic instead of being specialized to RenderBox. I don't think this is something we can easily automigrate, but we may not need to, I don't know how common this is...
-
Ian Hickson authored
When implementing scrollbars, I found that it would be useful and idiomatic to be able to do `m.extentInside / m.extentTotal` to get the scrollbar thumb size.
-
Mitchell Goodwin authored
Fixes: #102813 Adds a checkmark style to the Cupertino Radio. Also allows the Radio.adaptive and RadioListTile.adaptive widgets to control whether they use the checkmark style for their Cupertino widgets or not. This is how it looks in action: https://github.com/flutter/flutter/assets/58190796/b409b270-42dd-404a-9350-d2c3e1d7fa4e
-
Jason Simmons authored
Fixes https://github.com/flutter/flutter/issues/126676
-
Mushaheed Syed authored
Fixes copyWith method of ActionIconThemeData, now using blank copyWith on [ActionIconThemeData] object that isn't `const ActionIconThemeData()` returns object with same values. *List which issues are fixed by this PR.* Fixes https://github.com/flutter/flutter/issues/126762
-
yaakovschectman authored
Send a platform message to the engine when the `ServiceBinding` is registered. Framework side of https://github.com/flutter/engine/pull/41733 Addresses https://github.com/flutter/flutter/issues/126033 ## 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]. - [ ] 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 `///`). - [ ] 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]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#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/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat --------- Co-authored-by:
Greg Spencer <gspencergoog@users.noreply.github.com>
-
Jason Simmons authored
Update SemanticsUpdateBuilderSpy for the conversion of SemanticsUpdateBuilder into a base class (#126570) See https://github.com/flutter/flutter/issues/123756
-
st merlhin authored
â¦property This PR expose `CupertinoDatePicker` and `CupertinoTimerPicker` `itemExtent` property to allow setting custom one depending on `tMediaQuery.of(context).textScaleFactor`. Fixes: #125127
-
Michael Goderbauer authored
-
- 15 May, 2023 3 commits
-
-
Kate Lovett authored
Fixes https://github.com/flutter/flutter/issues/126443
-
Andrew Kolos authored
Fixes #124883. Will require a g3fix. Renames `AssetManifest.bin` to `AssetManifest.smcbin` (madeup extension for "Standard Message Codec binary").
-
Tomasz Gucio authored
-
- 13 May, 2023 1 commit
-
-
nt4f04uNd authored
Fixes https://github.com/flutter/flutter/issues/126491
-
- 12 May, 2023 4 commits
-
-
Taha Tesser authored
Fix focus behavior and provided thumb and focus color aren't applied to Cupertino variant of `Switch.adaptive` (#126688) fixes https://github.com/flutter/flutter/issues/126637 fixes https://github.com/flutter/flutter/issues/126669 ## ~~To be merged after https://github.com/flutter/flutter/pull/126684~~ ### Description 1. Fix the Cupertino variant of `Switch.adaptive` requires two tab key presses to focus. 2. Fix `thumbColor` & `focusColor` aren't applied. ### Before Requires two tab presses to focus. and `thumbColor` & `focusColor` aren't applied. https://github.com/flutter/flutter/assets/48603081/24635551-0794-443f-8320-32fdaa5de57a ### After Single tab key to focus (no additional focus node) and `thumbColor` & `focusColor` are applied. https://github.com/flutter/flutter/assets/48603081/9bf42fd8-c7e0-475a-b933-192a94650b0c
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/126679 ### Description Control cupertino widgets like `CupertinoCheckbox` and `CupertinoRadio` have `focusNode` and `autofocus`, while these are missing in `CupertinoSwitch`. This is blocking https://github.com/flutter/flutter/issues/126637 (`switch.dart` currently maintains its focus node for `CupertinoSwitch` when using `Switch.adaptive` which causes a bug)
-
Justin McCandless authored
Desktop text selection toolbar no longer flashes before closing.
-
Taha Tesser authored
fixes https://github.com/flutter/flutter/issues/126397 The `parseCompactDate` method in `material_localizations.dart` with long text throws an argument error before the date picker could handle it to show a validation error while the date picker is on autovalidate. This PR adds `try/catch` in the `parseCompactDate` to return null on the argument error.
-
- 11 May, 2023 2 commits
-
-
Michael Goderbauer authored
Fixes https://github.com/flutter/flutter/issues/126454. In certain situations (see linked bug) the Scrollable needs access to the DPR of the View it is drawn into during disposal. Since inherited widget lookups are not allowed during disposal, we cannot look up the DPR dynamically in these situations. Instead, we have to cache the DPR when lookups are still allowed.
-
Michael Goderbauer authored
Sync lints with https://github.com/dart-lang/linter/blob/master/example/all.yaml and enable `implicit_reopen` and `type_literal_in_constant_pattern` (which have no violations). Also contains some clean-up work towards enabling `matching_super_parameters`, which is not quite ready yet due to its handling of "private" arguments.
-