Hans Muller
da127f15ad
Updated material button theme tests for Material3 ( #128543 )
2023-06-09 06:57:21 -07:00
Pierre-Louis
66cda5917d
Improve defaults generation with logging, stats, and token validation ( #128244 )
...
## Description
This improves defaults generation with logging, stats, and token validation.
This PR includes these changes:
* introduce `TokenLogger`, with a verbose mode
* prints versions and tokens usage to the console
* outputs `generated/used_tokens.csv`, a list of all used tokens, for use by Google
* find token files in `data` automatically
* hide tokens `Map`
* tokens can be obtained using existing resolvers (e.g. `color`, `shape`), or directly through `getToken`.
* tokens can be checked for existence with `tokenAvailable`
* remove version from template, since the tokens are aggregated and multiple versions are possible (as is the case currently), it does not make sense to attribute a single version
* improve documentation
## Related Issues
- Fixes https://github.com/flutter/flutter/issues/122602
## Tests
- Added tests for `TokenLogger`
- Regenerated tokens, no-op except version removal
## Future work
A future PR should replace or remove the following invalid tokens usages
<img width="578" alt="image" src="https://github.com/flutter/flutter/assets/6655696/b6f9e5a7-523f-4f72-94f9-1b0bf4cc9f00 ">
2023-06-09 11:28:18 +00:00
William Hesse
0d39f6466d
[testing] Make the FLUTTER_STORAGE_BASE_URL warning non-fatal ( #128335 )
...
Presubmit testing and CI testing of Flutter using a custom storage location for engine artifacts must be able to use the --fatal-warnings flag without failing due to the custom artifact location.
This change adds an option that makes this warning non-fatal. The new --no-fatal-storage-url-warning flag makes the --fatal-warnings flag ignore the warning that a custom artifact download URL is being used by setting the environment variable FLUTTER_STORAGE_BASE_URL.
Bug: #127683
- [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.
- [X ] I updated/added relevant documentation (doc comments with `///`).
2023-06-09 11:06:13 +00:00
Danny Tuppeny
46007d61d2
[flutter_tools] [DAP] Don't try to restart/reload if app hasn't started yet ( #128267 )
...
The editor is set to hot-reload-on-save by default so saving while the debug session is starting currently prints an error:
Failed to Hot Reload: app 'null' not found

This change skips the call to `app.restart` if the app hasn't started yet to avoid printing an error.
2023-06-09 09:41:07 +00:00
Taha Tesser
192b06405b
Replace MaterialButton
from test classes ( #128466 )
...
fixes https://github.com/flutter/flutter/issues/128465
2023-06-09 08:04:07 +00:00
Taha Tesser
8600eb129c
Fix showBottomSheet
doesn't remove scrim when draggable sheet is dismissed ( #128455 )
...
fixes https://github.com/flutter/flutter/issues/128367
<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(
debugShowCheckedModeBanner: false,
theme: ThemeData(useMaterial3: true),
home: Scaffold(
floatingActionButton: Builder(
builder: (BuildContext context) => FloatingActionButton(
child: const Icon(Icons.add),
onPressed: () {
Scaffold.of(context).showBottomSheet<void>(
(_) {
return DraggableScrollableSheet(
expand: false,
builder: (_, ScrollController scrollController) =>
ListView.builder(
controller: scrollController,
itemCount: 25,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Item $index - tap to close'),
onTap: () {
Navigator.of(context).pop();
},
);
},
),
);
},
);
},
),
),
),
);
}
}
```
</details>
### Before
https://github.com/flutter/flutter/assets/48603081/fa87feb9-54f2-4e50-bf71-c81d9e54ff61
### After
https://github.com/flutter/flutter/assets/48603081/7d192059-7600-4d65-ae84-6321f3598133
2023-06-09 07:06:49 +00:00
Tong Mu
ab3c5bfc7b
Remove single view assumption from MouseTracker, and unify its hit testing code flow ( #127060 )
...
This is a refactor to make `MouseTracker` use the same callback for both kinds of device update. Instead of using two different callbacks for the two device updating methods, `MouseTracker` now receives a hit testing callback at construction, which is the same hit testing method as the one used for other gestures.
This PR not only makes the code cleaner, but also removes the single view assumption from `MouseTracker`, whose code no longer refers to `RendererBinding.renderView`. In the future, we only need to modify `hitTest` (which we will have to do to support gestures for multi-view anyway) to make mouse tracker support multi-view.
2023-06-09 01:51:26 +00:00
Christopher Fujino
0d95243fb2
[flutter_tools] Precache after channel switch ( #118129 )
...
Fixes https://github.com/flutter/flutter/issues/44118
2023-06-09 01:46:24 +00:00
Leigha Jarett
574a71817e
Adding migration guide for Material 3 colors ( #128429 )
...
Fixes: https://github.com/flutter/flutter/issues/127228
2023-06-08 23:00:41 +00:00
Greg Spencer
a280346193
Add AppLifecycleListener
, with support for application exit handling ( #123274 )
...
## Description
This adds `AppLifecycleListener`, a class for listening to changes in the application lifecycle, and responding to requests to exit the application.
It depends on changes in the Engine that add new lifecycle states: https://github.com/flutter/engine/pull/42418
Here's a diagram for the lifecycle states. I'll add a similar diagram to the documentation for these classes.

## Related Issues
- https://github.com/flutter/flutter/issues/30735
## Tests
- Added tests for new lifecycle value, as well as for the `AppLifecycleListener` itself.
2023-06-08 22:57:19 +00:00
Tae Hyung Kim
f2351f61d4
Sliver Main Axis Group ( #126596 )
...
This widget implements the ability to place slivers one after another in
a single ScrollView in a way that all child slivers are drawn within the
bounds of the group itself (i.e. SliverPersistentHeaders aren't drawn
outside of the scroll extent provided by all of the child slivers). The
design document for SliverMainAxisGroup can be found
[here](https://docs.google.com/document/d/1e2bdLSYV_Dq2h8aHpF8mda67aOmZocPiMyjCcTTZhTg/edit?resourcekey=0-Xj2X2XA3CAFae22Sv3hAiA ).
Fixes https://github.com/flutter/flutter/issues/33137 .
## 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.
- [x] 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] 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: Kate Lovett <katelovett@google.com>
2023-06-08 15:54:09 -07:00
Leigha Jarett
0b8fe01738
Advise developers to use OverflowBar instead of ButtonBar ( #128437 )
...
Fixes https://github.com/flutter/flutter/issues/128430
2023-06-08 22:28:10 +00:00
Jackson Gardner
7c15a26eab
Reland "Migrate benchmarks to package:web" ( #128266 )
...
This attempts to reland https://github.com/flutter/flutter/pull/126848
This was reverted because it made some unexpected changes to our perf measurements. After landing https://github.com/flutter/flutter/pull/127900 , we have much less noise in our benchmarks, so I'd like to reland this and see if there is still a significant measurement difference.
2023-06-08 22:25:40 +00:00
Mahdi Bagheri
4e9869b925
Navigator.pop before PopupMenuItem onTap call ( #127446 )
...
*The order of calling Navigator.pop and PopupMenuItem.onTap has been changed so before calling PopupMenuItem onTap method, PopupMenuBotton onSelect method is going to be called.*
*Solves #127443*
*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2023-06-08 22:25:38 +00:00
Bruno Leroux
ceeaf98e64
Fix navigation rail with long labels misplaced highlights ( #128324 )
2023-06-08 13:32:27 -07:00
Taha Tesser
ddfe8a358c
Update chip.dart
to use set of MaterialState
( #128507 )
2023-06-08 13:27:09 -07:00
Janice Collins
29c858adc7
Update flutter to dartdoc 6.3.0 and hide Icons implementation from doc pages ( #128442 )
...
This updates dartdoc to 6.3.0. Release notes are available, here:
https://github.com/dart-lang/dartdoc/releases/tag/v6.3.0
Most important for Flutter are the reduction in the size of generated HTML files (dart-lang/dartdoc#3384 ) and a new dartdoc directive to hide constant implementations from indicated classes (dart-lang/dartdoc#3398 ), which fixes the longstanding issue (dart-lang/dartdoc#2657 ).
I've also added the api documentation zip to `.gitignore` and the `{@hideConstantImplementations}` dartdoc directive to the motivating example. A screenshot:

I assert that this change to icons.dart should be test-exempt as existing tests cover whether or not dartdoc directives are recognized or are leaking into HTML, and the impact of adding the directive was tested in dart-lang/dartdoc#3398 .
2023-06-08 20:14:23 +00:00
LongCatIsLooong
37f20c268b
Disable blinking cursor when EditableText.showCursor
is false ( #127562 )
...
Fixes https://github.com/flutter/flutter/issues/108187
2023-06-08 20:07:23 +00:00
hellohuanlin
9707001c02
[floating_cursor_selection]add more comments on the tricky part ( #127227 )
...
Many parts of the floating cursor selection feature is pretty tricky. Some took me a while to figure out. So I added some comments to explain a bit for future readers.
*List which issues are fixed by this PR. You must list at least one issue.*
https://github.com/flutter/flutter/issues/30476
*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2023-06-08 20:03:49 +00:00
Michael Goderbauer
83af943351
Move RenderObjectElement.updateChildren to Element ( #128458 )
...
This method lived on RenderObjectElement because traditionally, it would be the only one that had to deal with multiple children. The method itself has nothing RenderObjectElement specific, though, and can also be used by any other Element subclass that has multiple children. We are introducing one of those in the near future to handle multiple top-level views.
This is a straight up copy&paste move, no changes have been applied to the code itself.
2023-06-08 19:44:45 +00:00
Michael Goderbauer
1a6174365c
Fix PointerEventConverter doc ( #128452 )
...
Follow-up to https://github.com/flutter/flutter/pull/128287 .
2023-06-08 19:36:55 +00:00
Zachary Anderson
c8bcff4161
Revert "Redo make inspector weakly referencing the inspected objects." ( #128506 )
...
Reverts flutter/flutter#128471
It looks like one of the tests modified by this PR is still failing: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac%20framework_tests_widgets/11385/overview
2023-06-08 13:28:04 +00:00
Tess Strickland
840d7dd68a
Use --target-os
for appropriate precompiled targets. ( #127567 )
...
This PR adds uses of the `--target-os` command line argument when
building kernel sources for precompiled applications for supported
target operating systems. The Dart CFE then:
* treats `Platform.operatingSystem` as if it were defined as the
constant string provided as an argument to the flag,
* treats `Platform.pathSeparator` as the appropriate separator for that
operating system,
* attempts to constant evaluate the initializer for any field annotated
with the `vm:platform-const` pragma, and
* attempts to constant evaluate all calls to a method annotated with the
`vm:platform-const` pragma.
The `vm:platform-const` pragma can appear in either library or user
code. If the attempt to constant evaluate the field initializer or
method call fails, then an error is thrown at kernel compilation time.
Addresses #14233 .
The tests in
`packages/flutter_tools/test/general.shard/build_system/targets/common_test.dart`
have been adjusted properly to account for the new passed command line
arguments.
2023-06-08 13:17:18 +02:00
Polina Cherkasova
1bd1b5014c
Redo make inspector weakly referencing the inspected objects. ( #128471 )
2023-06-07 18:16:30 -07:00
chunhtai
5328bd9ae0
Adds vmservices to retrieve android applink settings ( #125998 )
...
fixes https://github.com/flutter/flutter/issues/120408
Added two gradle tasks, one for grabing the application id, one for grabbing app link domains.
Added a new vmservices to call these two gradle tasks and return the result.
The expected work flow is that the devtool will first call a vmservices to grab all avaliable build variants. It will then choose one of the build variant and call this new services to get application id and app link domains.
2023-06-07 22:43:11 +00:00
Bruno Leroux
f18cb2d064
Fix typos 'wether' -> 'whether' ( #128392 )
...
## Description
Fix two typos where 'wether' was used instead of 'whether'.
## Tests
Documentation only.
2023-06-07 20:16:53 +00:00
Alexander Aprelev
09c0706734
Roll engine, patch expression evaluation ( #128255 )
...
Roll to engine to 4f4486b00be28183b482bbb74bbed25f4db153fe pick up dart to 3.1.0-169.0.dev.
Changes since last roll
```
4f4486b00b Roll dart to 3.1.0-169.0.dev (#42602 )
```
Manual roll since rolling to dart 3.1.0-169.0.dev requires patching to expression evaluation in flutter tools
2023-06-07 19:48:42 +00:00
fzyzcjy
8a5c22e282
Super tiny MediaQuery doc update ( #127904 )
...
Just now I see some good news: https://www.reddit.com/r/FlutterDev/comments/13vo5a2/the_most_important_flutter_310_feature_that/ (ignore the title though...). It was a performance problem in the old days, so it was great that the problem disappears. However, it seems that the doc is not updated yet, so everyone reading MediaQuery page will still use the old way. Thus I create this super-tiny PR :)
2023-06-07 17:04:03 +00:00
Jackson Gardner
2830f0734d
Revert "Make inspector weakly referencing the inspected objects." ( #128436 )
...
Reverts flutter/flutter#128095
We have a tree closure related to the `widget_inspector_test.dart`. I'd
like to see if reverting this resolves the issue.
2023-06-07 09:38:42 -07:00
Leigha Jarett
6848110ff3
Update menu API docs to help developers migrate to m3 ( #128351 )
...
Fixes: https://github.com/flutter/flutter/issues/127215
2023-06-07 13:21:12 +00:00
Andrew Kolos
96afa500db
[tools] allow explicitly specifying the JDK to use via a new config setting ( #128264 )
...
Closes https://github.com/flutter/flutter/issues/106416 .
This PR adds a new `flutter config` setting named `jdk-dir`. When set, the tool will use the JDK found at this location for all Java-dependent tool operations such as building Android apps via gradle and running Android SDK tools.
2023-06-07 04:52:17 +00:00
Andrew Kolos
759ebef689
Do not try to load main/default asset image if only higher-res variants exist ( #128143 )
...
Fixes https://github.com/flutter/flutter/issues/127090 .
https://github.com/flutter/flutter/pull/122505 did a few things to speed up the first asset load that a flutter app performs. One of those things was to not include the main asset in its own list of variants in the asset manifest. The idea was that we know that the main asset always exists, so including it in its list of variants is a waste of storage space and loading time (even if the cost was tiny).
However, the assumption that the main asset always exists is wrong. From [Declaring resolution-aware image assets](https://docs.flutter.dev/ui/assets-and-images#resolution-aware ), which predates https://github.com/flutter/flutter/pull/122505 :
> Each entry in the asset section of the pubspec.yaml should correspond to a real file, with the exception of the main asset entry. If the main asset entry doesnât correspond to a real file, then the asset with the lowest resolution is used as the fallback for devices with device pixel ratios below that resolution. The entry should still be included in the pubspec.yaml manifest, however.
For example, it's valid to declare `assets/image.png` as an asset even if only `assets/3x/image.png` exists on disk.
This fix restores older behavior of including a main asset as a variant of itself in the manifest if it exists.
This fix also includes a non-user-visible behavior change:
* `"dpr"` is no longer a required field in the asset manifest's underlying structure. For the main asset entry, we do not include `"dpr"`. It makes less sense for the tool to decide what the default target dpr for an image should be. This should be left to the framework.
2023-06-07 03:19:15 +00:00
Alex Fischer
19f85935ca
Addressed Ambiguity in transform.scale constructor docs ( #128182 )
...
This PR updates the docs for Transform.Scale constructor by clearing up some ambiguity regarding how the scaling factor is affected by the omission of a value given you provide scaleX and scaleY as arguments as opposed to just scale
addresses bug [126822](https://github.com/flutter/flutter/issues/126822 )
- [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.
- [ X] 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 ] All existing and new tests are passing.
2023-06-07 03:11:48 +00:00
fzyzcjy
02e9d51527
Super tiny fix of dead link ( #128160 )
...
... found when looking at leak tracker today.
By the way, shall we add some kind of automatic link linter, which goes through all links and see whether they are alive?
2023-06-07 03:05:07 +00:00
Michael Goderbauer
6221d5c709
Refactor tests ( #128371 )
...
To make them a little more resilient to changes in the tree shape as the tree will be changing a little bit for multi view.
2023-06-07 03:02:55 +00:00
Polina Cherkasova
a5accb779b
Make inspector weakly referencing the inspected objects. ( #128095 )
2023-06-06 19:33:53 -07:00
Michael Goderbauer
cff67336d0
Add viewId to PointerEvents ( #128287 )
...
Follow-up to https://github.com/flutter/engine/pull/42493 .
2023-06-06 19:16:02 -07:00
fzyzcjy
31e3ae89db
Show error message in release mode when box is not laid out without losing performance ( #126302 )
...
Close https://github.com/flutter/flutter/issues/126303
When I encounter bugs in production environment saying null pointer error on `return _size!`, I wish I could know more information! However, currently the information is revealed by `assert(hasSize, 'RenderBox was not laid out: $this');`, thus *only* in debug mode can I know what is `this` (and/or more information that can be added), while in release mode I can only see a stack trace saying it is `RenderBox.size` that throws - nothing more :/
Therefore, it is intuitive to add this extra information in release mode. However, will it affect performance? We all know this is in critical path and should be quite careful. Thus I did some experiments: https://godbolt.org/z/zPPPf5969 From my naive understanding of assembly, the two versions of code (`size!` vs `size ?? throw`) has the same assembly, except that they throw different types of errors. In other words, when there is no error, both code should be equivalent; when there is an error, surely the new code will be slower since it calls `this.toString()`, but the error handling process is rare and already heavy, so this is not a problem.

2023-06-07 00:29:20 +00:00
Khanh Nguyen
73b1d17953
Update Draggable YouTube video link ( #128078 )
...
The old Draggable video had a mistake in it, we've since uploaded a newer version that's been corrected. Thanks for catching that @gspencergoog!
- [na] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [na] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
- [na] I listed at least one issue that this PR fixes in the description above.
- [na] I added new tests to check the change I am making, or this PR is [test-exempt].
- [na] All existing and new tests are passing.
2023-06-06 22:37:55 +00:00
LongCatIsLooong
8fff6f5d34
Remove more rounding hacks from TextPainter ( #127826 )
...
Add the conditional rounding that I forgot to add in https://github.com/flutter/flutter/pull/127099
2023-06-06 22:17:58 +00:00
Camille Simon
2eef9361ad
[Android] Update plugin and module templates to use Flutter constant for compileSdkVersion
( #128073 )
...
Updates plugin and module templates to use Flutter constant for `compileSdkVersion`.
2023-06-06 21:14:00 +00:00
Renzo Olivares
0e1056f807
handleSelectWord in MultiSelectableSelectionContainerDelegate should handle rects inside of rects ( #127478 )
...
Fixes #127076
Sometimes a `Selectable`s rect may contain another `Selectable`s rect within it. In the case of `handleSelectWord` when choosing which `Selectable` to dispatch the `SelectionEvent` to, the event would be dispatched to the wrong `Selectable` causing an assertion error to be thrown.
<img width="577" alt="Screenshot 2023-05-24 at 2 46 13 AM" src="https://github.com/flutter/flutter/assets/948037/bb246966-acad-4d81-bd87-758c3ea6ea39 ">
In the picture above the red outline shows the rect of a two-line piece of text. And the blue rect shows the rect of a piece of text that is on the second line of the two-line piece of text, but has been separated into its own rect for some case, for example when `TextSpan`s are separated by a `WidgetSpan`.
We should check if the text layout of the selectable that has been dispatched the SelectionEvent contains the word, if not then return `SelectionResult.next`, and continue to look through the list of selectables.
2023-06-06 21:10:02 +00:00
Christopher Fujino
44e7206aa1
[flutter_tools] never tree shake 0x20 (space) font codepoints on web ( #128302 )
...
Always pass the space code point (`0x20`) to the font subsetter when targetting web because the web engine relies on that character to calculate a font's height.
Fixes #127270
2023-06-06 21:06:15 +00:00
LongCatIsLooong
73e1f23426
Remove textScaleFactor
dependent logic from AppBar
( #128112 )
...
I am trying to remove `textScaleFactor`-dependent logic from the framework since it's likely going to be deprecated, hopefully the original logic isn't from the material spec.
I stole the sample code from https://github.com/flutter/flutter/pull/125038 and here are the screenshots (`textScaleFactor = 3.0`).
Internal Tests: **no relevant test failures**
| Medium | Large |
| --------------- | --------------- |
|  |  |
2023-06-06 20:47:40 +00:00
fzyzcjy
eb2d9de07e
Fix Null check operator used on a null value
on TextField with contextMenuBuilder ( #128114 )
...
Close #128113
Fun fact: This is caught by monkey testing I have written (will soon be open sourced as well) that runs on my app!
Without the fix, the test fails as expected:
<details>
```
(base) â flutter git:(feat/text-field-npe) /Volumes/MyExternal/ExternalRefCode/flutter/bin/flutter test test/material/text_field_test.dart --name 'changes from default'
00:06 +0: context menu contextMenuBuilder changes from default to null
âââ¡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
The following _TypeError was thrown building
_OverlayEntryWidget-[LabeledGlobalKey<_OverlayEntryWidgetState>#e3717](state:
_OverlayEntryWidgetState#7666a):
Null check operator used on a null value
When the exception was thrown, this was the stack:
#0 EditableTextState._createSelectionOverlay.<anonymous closure> (package:flutter/src/widgets/editable_text.dart:3331:43)
#1 SelectionOverlay.showToolbar.<anonymous closure> (package:flutter/src/widgets/text_selection.dart:1357:36)
#2 ContextMenuController.show.<anonymous closure> (package:flutter/src/widgets/context_menu_controller.dart:65:54)
#3 _OverlayEntryWidgetState.build (package:flutter/src/widgets/overlay.dart:351:36)
#4 StatefulElement.build (package:flutter/src/widgets/framework.dart:5198:27)
#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5086:15)
#6 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#7 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#8 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#9 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#10 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:6093:32)
#11 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6595:17)
#12 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#14 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#15 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#16 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#17 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#18 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#19 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#20 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#21 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#24 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#25 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#26 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#27 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#28 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#29 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#30 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#31 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#32 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#33 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#34 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#35 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#36 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#38 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#39 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#40 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#41 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#42 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#43 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#44 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#45 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#46 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#47 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#48 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#49 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#50 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#51 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#52 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#53 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#54 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#55 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#56 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#57 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#58 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#59 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#60 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#61 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#62 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#63 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#64 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#65 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#66 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#67 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#68 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#69 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#70 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#71 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#72 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#73 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#74 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#75 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#76 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#77 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#78 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#79 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#80 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#81 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#82 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#83 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#84 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#85 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#86 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#87 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#88 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#89 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#90 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#91 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#92 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#93 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#94 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#95 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#96 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#97 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#98 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#99 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#100 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#101 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#102 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#103 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#104 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#105 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#106 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#107 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#108 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#109 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#110 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#111 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#112 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#113 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#114 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#115 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#116 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#117 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#118 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#119 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#120 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#121 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#122 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#123 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#124 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#125 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#126 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#127 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#128 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#129 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#130 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#131 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#132 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#133 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#134 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#135 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#136 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#137 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#138 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#139 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#140 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#141 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#142 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#143 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#144 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#145 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#146 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#147 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#148 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#149 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#150 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#151 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#152 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#153 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#154 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#155 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#156 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#157 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#158 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#159 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#160 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#161 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#162 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#163 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#164 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#165 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#166 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#167 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#168 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#169 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#170 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#171 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#172 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#173 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#174 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#175 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#176 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#177 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#178 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#179 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#180 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#181 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#182 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#183 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#184 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#185 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#186 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#187 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#188 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#189 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#190 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#191 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#192 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#193 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#194 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#195 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#196 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#197 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#198 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#199 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#200 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#201 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#202 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#203 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#204 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#205 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#206 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#207 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#208 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#209 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#210 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#211 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#212 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#213 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#214 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#215 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#216 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#217 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#218 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#219 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#220 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#221 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#222 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#223 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#224 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#225 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#226 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#227 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#228 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#229 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#230 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#231 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#232 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#233 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#234 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#235 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#236 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#237 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#238 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#239 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#240 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#241 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#242 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#243 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#244 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#245 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#246 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#247 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#248 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#249 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#250 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#251 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#252 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#253 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#254 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#255 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#256 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#257 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#258 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#259 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#260 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#261 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#262 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#263 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#264 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#265 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#266 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#267 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#268 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#269 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#270 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#271 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#272 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#273 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#274 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#275 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#276 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#277 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#278 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#279 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#280 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#281 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#282 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#283 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#284 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#285 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#286 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#287 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#288 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#289 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#290 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#291 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#292 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#293 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#294 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#295 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#296 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#297 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#298 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#299 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#300 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#301 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#302 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#303 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#304 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#305 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#306 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#307 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#308 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#309 StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#310 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#311 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#312 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#313 ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#314 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#315 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#316 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#317 StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#318 Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#319 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1253:16)
#320 RenderObjectToWidgetElement.update (package:flutter/src/widgets/binding.dart:1230:5)
#321 RenderObjectToWidgetElement.performRebuild (package:flutter/src/widgets/binding.dart:1244:7)
#322 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#323 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780:19)
#324 AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:1396:19)
#325 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#326 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1297:15)
#327 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1227:9)
#328 AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:1246:9)
#331 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#332 AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:1232:27)
#333 WidgetTester._pumpWidget (package:flutter_test/src/widget_tester.dart:587:20)
#334 WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:572:14)
#337 TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:68:41)
#338 WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:571:27)
#339 main.<anonymous closure>.<anonymous closure> (file:///Volumes/MyExternal/ExternalRefCode/flutter/packages/flutter/test/material/text_field_test.dart:15687:20)
<asynchronous suspension>
<asynchronous suspension>
(elided 5 frames from dart:async and package:stack_trace)
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
00:06 +0 -1: context menu contextMenuBuilder changes from default to null [E]
Test failed. See exception logs above.
The test description was: contextMenuBuilder changes from default to null
To run this test again: /Volumes/MyExternal/ExternalRefCode/flutter/bin/cache/dart-sdk/bin/dart test /Volumes/MyExternal/ExternalRefCode/flutter/packages/flutter/test/material/text_field_test.dart -p vm --plain-name 'context menu contextMenuBuilder changes from default to null'
00:06 +0 -1: Some tests failed.
(base) â flutter git:(feat/text-field-npe)
```
</details>
2023-06-06 19:37:57 +00:00
Leigha Jarett
32a1c275df
Adding example for migrating to navigation drawer ( #128295 )
...
Fixes https://github.com/flutter/flutter/issues/127214
2023-06-06 19:23:19 +00:00
Michael Goderbauer
4c5db40ff5
Clean-up viewId casts in flutter_test ( #128256 )
...
Follow-up to https://github.com/flutter/engine/pull/42493 .
2023-06-06 17:23:17 +00:00
Hans Muller
e72b4717bf
Use Material3 in the 2D viewport tests ( #128155 )
...
Set `useMaterial3: true' for the MaterialApp used in the 2D tests to enable making `useMaterial3: true' the default for ThemeData in a future PR.
2023-06-06 16:28:31 +00:00
Nate Bosch
d095f10b44
Use a show
over a hide
for test_api
exports ( #128298 )
...
The members which are currently hidden may get removed from `package:test_api` because they have no uses.
https://github.com/dart-lang/test/pull/2030
Switch to a `show` and list all the exported APIs. This is currently a no-op change, and is forward compatible with the breaking change when it lands.
A `show` is also safer than a `hide` when exporting across package boundaries. Adding a new member to a library _can be_ breaking, but is often treated as non-breaking. If a new member is added to `package:test_api/scaffolding.dart` it will need to be manually added to the list to be usable from `package:flutter_test`, but we anyways want to add a CHANGELOG entry for user facing changes.
2023-06-06 16:23:14 +00:00
Leigha Jarett
6c8cf3a9d0
Migration guide for moving from BottomNavigationBar to NavigationBar ( #128263 )
...
Fixes https://github.com/flutter/flutter/issues/127213
2023-06-06 03:52:07 +00:00