- 24 May, 2023 6 commits
-
-
Mouad Debbar authored
Now that `platformViewRegistry` is [exposed](https://github.com/flutter/engine/pull/41877) through `dart:ui_web`, we can do some cleanup here. Part of https://github.com/flutter/flutter/issues/126831
-
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): ![output2](https://github.com/flutter/flutter/assets/389558/674c89a4-c47d-4cdc-a402-4cadb5d2f73b) But now moving the cursor and deleting is based on code points: ![output1](https://github.com/flutter/flutter/assets/389558/e46301f7-b5af-48d2-812a-0ad649f1383b) ### 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 ![Screenshot 2023-05-19 at 17 32 19](https://github.com/flutter/flutter/assets/48603081/4463de1a-fb94-4930-a6ab-8245331a8134) ### After ![Screenshot 2023-05-19 at 17 51 15](https://github.com/flutter/flutter/assets/48603081/296276f0-cf13-4a59-8542-a46da774153b)
-
- 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> ![Screenshot 2023-05-19 at 11 55 53](https://github.com/flutter/flutter/assets/38299943/c86747e5-6716-4e87-b3fd-ce7f0f943b92) </details> <details> <summary>After fix:</summary> ![Screenshot 2023-05-19 at 11 53 30](https://github.com/flutter/flutter/assets/38299943/d790ee49-e047-485c-87f4-7254acbdddfa) </details>
-
- 19 May, 2023 5 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
-
Kate Lovett authored
The deprecated OverscrollIndicatorNotification.disallowGlow has expired and is removed in the PR. The replacement is OverscrollIndicatorNotification.disallowIndicator. This deprecation was introduced in https://github.com/flutter/flutter/pull/87839 when the StretchingOverscrollIndicator was added. The name change made it clearer since there is now more than one overscroll indicator. This change is supported by dart fix. â Part of https://github.com/flutter/flutter/issues/127042
-
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 6 commits
-
-
Qun Cheng authored
This is to update the components section for `useMaterial3` api doc.
-
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*
-
Michael Goderbauer authored
Reverts flutter/flutter#127039 Google3 has been fixed, so this work around is no longe necessary.
-
Justin McCandless authored
Reverts flutter/flutter#127052, which seems to be breaking the build because of a goldens failure. ``` The following TestFailure was thrown running a test: Expected: one widget whose rasterized image matches golden image "shadow.PhysicalModel.enabled.png" Actual: _WidgetTypeFinder:<exactly one widget with type "Container" (ignoring offstage widgets): Container(bg: Color(0xfffff59d), margin: EdgeInsets.all(150.0))> ``` See https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20web_tests_6/11051/overview
-
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`
-
Jim Graham authored
This workaround was created 6 years ago with no links to bug databases to track. As best we can determine, the issue is no longer present in SkPicture or DisplayList and is most likely obsolete. More importantly, though, non-rendering primitives are ignored by the DisplayList construction and so this workaround will just be ignored anyway. If a problem surfaces about this issue that we haven't discovered by a thorough code search of the current code base, then workarounds should be installed within the relevant implementation modules rather than in the framework (and documented with bugs filed in either or both of Flutter's github repos, and/or the Skia issue database). Workaround originally created in this PR: https://github.com/flutter/flutter/pull/9654
-
- 17 May, 2023 7 commits
-
-
Renzo Olivares authored
The deprecation period has elapsed. The method was made obsolete in https://github.com/flutter/flutter/pull/87281.
-
Sam Rawlins authored
When the analyzer detects an unused parameter, it reports `unused_element` which can be ignored with an inline ignore like `// ignore: unused_element`. The analyzer will start reporting instead, `unused_element_parameter`. There are ignores in flutter/flutter that need to be updated to the new code. In order to incrementally migrate, they can be changed to `// ignore: unused_element, unused_element_parameter`. After flutter/flutter is using a new enough analyzer, we can then change those to `// ignore: unused_element_parameter`. Work towards https://github.com/flutter/flutter/issues/126924
-
Michael Goderbauer authored
Partial revert of https://github.com/flutter/flutter/pull/126647 to work around issue in google3. See b/283046390
-
Michael Goderbauer authored
Follow-up to https://github.com/flutter/flutter/pull/126926.
-
Justin McCandless authored
Added examples clarifying how to fetch Autocomplete options asynchronously.
-
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
-
Michael Goderbauer authored
Follow-up to https://github.com/flutter/flutter/pull/126647#discussion_r1195417860.
-
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
-