40146 Commits

Author SHA1 Message Date
Furkan Acar
e868e2b383
Add SegmentedButton expand feature (#142804)
fix #139486

The `expandedInsets` property enhancement for the `SegmentedButton` widget introduces flexibility in button layout design within Flutter applications. When `expandedInsets` is not null, this property allows the `SegmentedButton` to expand, filling the available horizontal space of its parent container and also have the specified insets, thus ensuring a uniform distribution of segment widths across the button. Conversely, with `expandedInsets` is null, the widget sizes itself based on the intrinsic sizes of its segments, preserving the natural width of each segment. This addition enhances the adaptability of the `SegmentedButton` to various UI designs, enabling developers to achieve both expansive and compact button layouts seamlessly.

### Setting expandedInsets = null
<img width="724" alt="image" src="https://github.com/flutter/flutter/assets/65075121/f173b327-a34b-49f0-a7b1-a212a376c5e3">

### Setting expandedInsets = EdgeInsets.zero
<img width="724" alt="image" src="https://github.com/flutter/flutter/assets/36861262/f141a3d3-80e3-4aeb-b7c8-d56ca77ca049">
2024-04-03 16:16:52 +00:00
engine-flutter-autoroll
b63196def2
Roll Flutter Engine from e36b9b10c36f to 56fa2c33a5f7 (1 revision) (#146205)
e36b9b10c3...56fa2c33a5

2024-04-03 skia-flutter-autoroll@skia.org Roll Dart SDK from 36b6628190e2 to 85adde7d4b5a (1 revision) (flutter/engine#51862)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 16:10:06 +00:00
engine-flutter-autoroll
4077984ead
Roll Packages from 83f3842c27b5 to 0e848facdb53 (3 revisions) (#146201)
83f3842c27...0e848facdb

2024-04-03 stuartmorgan@google.com [in_app_purchase] Mostly convert to Android Pigeon (flutter/packages#6262)
2024-04-02 goderbauer@google.com [various] Remove all traces of the `_ambiguate` workaround (flutter/packages#6449)
2024-04-02 engine-flutter-autoroll@skia.org Roll Flutter from 7fa932be5c12 to a418568a6498 (5 revisions) (flutter/packages#6450)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 16:06:18 +00:00
Ian Hickson
950ec1c405
Enhance ColorScheme.fromSeed with a new variant parameter (#144805)
Fixes #144649

This PR is to add an enhancement for `ColorScheme.fromSeed()`.  When we input a brighter color with a high chroma and we want the resulting `ColorScheme` respects the source color, we can achieve this by setting

```dart
ColorScheme.fromSeed(
  seedColor: sourceColor,
  variant: Variant.fidelity,
  ...
)
```

Here is a demo for `ColorScheme` constructed by all 9 variants:
![Screenshot 2024-03-13 at 4 33 02 PM](https://github.com/flutter/flutter/assets/36861262/2cdbe559-67ff-4f8b-bd48-ccff5131b949)
![Screenshot 2024-03-13 at 4 33 07 PM](https://github.com/flutter/flutter/assets/36861262/e6af2362-c501-499b-8880-06a321de91e6)
2024-04-03 15:54:34 +00:00
engine-flutter-autoroll
a46ed4ee07
Roll Flutter Engine from 0280de5be276 to e36b9b10c36f (1 revision) (#146200)
0280de5be2...e36b9b10c3

2024-04-03 skia-flutter-autoroll@skia.org Roll Skia from a247f8cc2a66 to ce3b5e8eb59b (24 revisions) (flutter/engine#51861)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 15:24:08 +00:00
Bruno Leroux
1326c8ee53
Fix typos in bottom_sheet.dart (#146188)
This PR fixes some typos in material/bottom_sheet.dart file.
2024-04-03 15:18:06 +00:00
engine-flutter-autoroll
bd4c17155d
Roll Flutter Engine from 979030d81f8d to 0280de5be276 (2 revisions) (#146199)
979030d81f...0280de5be2

2024-04-03 skia-flutter-autoroll@skia.org Roll Skia from cd75e4672719 to a247f8cc2a66 (1 revision) (flutter/engine#51840)
2024-04-03 skia-flutter-autoroll@skia.org Roll Dart SDK from 892ec6169844 to 36b6628190e2 (1 revision) (flutter/engine#51860)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 14:25:53 +00:00
engine-flutter-autoroll
394e2a9bae
Roll Flutter Engine from bef3bbe3f74e to 979030d81f8d (1 revision) (#146186)
bef3bbe3f7...979030d81f

2024-04-03 skia-flutter-autoroll@skia.org Roll Dart SDK from 091dd9120d35 to 892ec6169844 (3 revisions) (flutter/engine#51859)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 08:16:09 +00:00
engine-flutter-autoroll
434451c107
Roll Flutter Engine from 5fc83bc24b2e to bef3bbe3f74e (1 revision) (#146183)
5fc83bc24b...bef3bbe3f7

2024-04-03 matanlurey@users.noreply.github.com Use non-deprecated replacements for Android JUnit and test instrumentation (flutter/engine#51854)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 06:18:11 +00:00
engine-flutter-autoroll
8761788442
Roll Flutter Engine from 0da1b2eb370a to 5fc83bc24b2e (1 revision) (#146180)
0da1b2eb37...5fc83bc24b

2024-04-03 jonahwilliams@google.com [Impeller] make color source a variant instead of a closure. (flutter/engine#51853)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 05:29:30 +00:00
LongCatIsLooong
3295a48f17
Avoid calling TextPainter.plainText for simple static text (#146084)
`InlineSpan.toPlainText` is surprisingly expensive even for a simple `TextSpan` like `TextSpan(text: 'AAA', children: [TextSpan(text: char * 10), TextSpan(text: char * 20)])` 

![image](https://github.com/flutter/flutter/assets/31859944/60014acb-78bd-4dbb-a48d-74295aeb612c)
2024-04-03 05:22:56 +00:00
engine-flutter-autoroll
bf7deff765
Roll Flutter Engine from e603f89844a9 to 0da1b2eb370a (2 revisions) (#146179)
e603f89844...0da1b2eb37

2024-04-03 zanderso@users.noreply.github.com Revert "Prevent `solo: true` from being committed" (flutter/engine#51858)
2024-04-03 skia-flutter-autoroll@skia.org Roll Dart SDK from e6e6d5fe3fb0 to 091dd9120d35 (4 revisions) (flutter/engine#51845)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 04:42:28 +00:00
engine-flutter-autoroll
cc7b418a63
Roll Flutter Engine from ef60a95d78c1 to e603f89844a9 (3 revisions) (#146177)
ef60a95d78...e603f89844

2024-04-03 goderbauer@google.com Remove outdated `deprecated_member_use` ignores (flutter/engine#51836)
2024-04-03 matanlurey@users.noreply.github.com Use internal retries for SurfaceTexture and Impeller tests too. (flutter/engine#51856)
2024-04-03 zanderso@users.noreply.github.com [et] Prepare local_engine.json for CI, teach et to understand local build names (flutter/engine#51803)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 04:03:25 +00:00
LongCatIsLooong
bb7977e3be
Fix chip baseline implementation (#146162)
It didn't include the label's Y offset. Also fixes the nullability of the slotted children: it seems `avatar`, `label`, `deleteIcon` can't be null when `_RenderChip` is in the render tree. We were using 
```dart
    _boxParentData(avatar!).offset = theme.padding.topLeft + avatarOffset;
    _boxParentData(label!).offset = theme.padding.topLeft + labelOffset + theme.labelPadding.topLeft;
    _boxParentData(deleteIcon!).offset = theme.padding.topLeft + deleteIconOffset;
```
in `performLayout` anyway.
2024-04-03 03:11:04 +00:00
engine-flutter-autoroll
1088e517bd
Roll Flutter Engine from bb4ec2d7eb39 to ef60a95d78c1 (1 revision) (#146176)
bb4ec2d7eb...ef60a95d78

2024-04-02 30870216+gaaclarke@users.noreply.github.com [Impeller] fixes PlusAdvanced alpha blending / adds alpha blending tests (flutter/engine#51787)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 03:09:08 +00:00
Kostia Sokolovskyi
e6f078fff5
Add tests for material_state_mouse_cursor.0.dart API example. (#145987)
This PR contributes to https://github.com/flutter/flutter/issues/130459

### Description
- Updates `examples/api/lib/material/material_state/material_state_mouse_cursor.0.dart` to allow enable/disable `ListTile` in tests;
- Adds tests for `examples/api/lib/material/material_state/material_state_mouse_cursor.0.dart`.
2024-04-03 02:39:46 +00:00
Qun Cheng
69db714fbb
Update material_color_utilities package version to latest 0.11.1 (#145959)
This PR is to update material_color_utilities package version to the latest. `material_color_utilities/scheme/scheme_fruit_salad.dart` and `material_color_utilities/scheme/scheme_rainbow.dart` are exported after version 0.9.0.

Once this PR is merged, we don't need to explicitly import these two files like the change in PR #144805, which breaks some dependencies in `Google testing`.
2024-04-03 02:16:13 +00:00
engine-flutter-autoroll
2c0d9eab8e
Roll Flutter Engine from 5f6dec8bd877 to bb4ec2d7eb39 (4 revisions) (#146169)
5f6dec8bd8...bb4ec2d7eb

2024-04-02 jason-simmons@users.noreply.github.com Add an engine switch that controls whether the platform isolate API is available. (flutter/engine#51784)
2024-04-02 matanlurey@users.noreply.github.com Run `DrawSolidBlueScreenTest` 20x in a row in `bringup` (up from 5x) (flutter/engine#51850)
2024-04-02 jason-simmons@users.noreply.github.com Return an empty optional in HardwareBuffer::GetSystemUniqueID if the underlying NDK API is unavailable (flutter/engine#51839)
2024-04-02 matanlurey@users.noreply.github.com Use `fml::ScopedCleanupClosure` instead of `DeathRattle`. (flutter/engine#51834)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 00:48:24 +00:00
engine-flutter-autoroll
74449284e9
Roll Flutter Engine from 5dbcfdc2a456 to 5f6dec8bd877 (1 revision) (#146163)
5dbcfdc2a4...5f6dec8bd8

2024-04-02 dkwingsmt@users.noreply.github.com Remove the view ID check in `macOS/FlutterCompositor` (flutter/engine#51852)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-03 00:01:06 +00:00
Polina Cherkasova
96a491ceef
Dispose FocusNode in tests. (#146161) 2024-04-02 16:51:16 -07:00
Kallen Tu
972725332f
Add none language strings to code blocks. (#146154)
Part 2 from https://github.com/flutter/flutter/pull/146085
In preparation to add the lint
`missing_code_block_language_in_doc_comment`, added `none` info strings
to a bunch of fenced code blocks that have miscellaneous text or output
text.

Related to issue: https://github.com/dart-lang/linter/issues/4904

## 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] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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
[Data Driven Fixes]:
https://github.com/flutter/flutter/wiki/Data-driven-Fixes
2024-04-02 16:42:25 -07:00
Jesse
8b83371e20
Refactor docs (#145998)
Refactor docs testing suite in order to reduce testing logic in test.dart and allow for later implementing package:test onto the existing docs tests

Part of https://github.com/flutter/flutter/issues/145482
2024-04-02 23:26:51 +00:00
engine-flutter-autoroll
5705881f63
Roll Flutter Engine from c60b00a20fc3 to 5dbcfdc2a456 (3 revisions) (#146159)
c60b00a20f...5dbcfdc2a4

2024-04-02 matanlurey@users.noreply.github.com Do not use `adb shell screenrecord` during CI runs. (flutter/engine#51848)
2024-04-02 737941+loic-sharma@users.noreply.github.com [Embedder API] Add view (flutter/engine#51523)
2024-04-02 jacksongardner@google.com [skwasm] Fix `Paragraph.getLineBoundary` (flutter/engine#51846)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 23:01:07 +00:00
Flutter GitHub Bot
3a3026c5c9
Marks Linux_pixel_7pro complex_layout_scroll_perf_impeller__timeline_summary to be unflaky (#140038)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro complex_layout_scroll_perf_impeller__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20complex_layout_scroll_perf_impeller__timeline_summary%22).
This test can be marked as unflaky.
2024-04-02 22:54:42 +00:00
engine-flutter-autoroll
91be988d36
Roll Flutter Engine from 5bf8b94505a4 to c60b00a20fc3 (2 revisions) (#146157)
5bf8b94505...c60b00a20f

2024-04-02 chinmaygarde@google.com Allow creating slimpeller engine variants. (flutter/engine#51824)
2024-04-02 jonahwilliams@google.com [Impeller] fix plus blend mode in porterduff shader. (flutter/engine#51792)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 21:47:29 +00:00
Jesse
d35c2553ae
Refactor analyze (#146138)
Refactor the analyze testing suite in order to reduce testing logic in test.dart and allow for later implementing package:test onto the existing analyze tests

Part of https://github.com/flutter/flutter/issues/145482
2024-04-02 21:13:14 +00:00
Renzo Olivares
2a37c6f307
Implement SelectionArea triple click gestures (#144563)
This change adds support for triple click to select a paragraph at the clicked position and triple click + drag to extend the selection paragraph-by-paragraph when using the SelectionArea widget.

This PR also:
* Makes `Text` widgets a `SelectionContainer` if a parent `SelectionRegistrar` exists.
* Fixes issues with selectable ordering involving `WidgetSpan`s.

Fixes: https://github.com/flutter/flutter/issues/104552
2024-04-02 21:10:52 +00:00
engine-flutter-autoroll
6fe56362e5
Roll Flutter Engine from 6883f7313da0 to 5bf8b94505a4 (2 revisions) (#146152)
6883f7313d...5bf8b94505

2024-04-02 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Replace `WindowInsetsController...` with `adb shell` commands (#51843)" (flutter/engine#51847)
2024-04-02 matanlurey@users.noreply.github.com Replace `WindowInsetsController...` with `adb shell` commands (flutter/engine#51843)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 21:04:54 +00:00
Bruno Leroux
0ed26dc81d
Fix border color is wrong for a focused and hovered TextField (#146127)
## Description

This PRs fixes the active indicator color for a filled text field and the border color for an outlined text field.
Previously, when a text field was focused and hovered, the hover color was used. With this PR the focus color is used.

Screenshots for a focused and hovered text field:

| Before | After |
|--------|--------|
| ![image](https://github.com/flutter/flutter/assets/840911/aeca2b25-e28b-4609-bd47-9d72b3cfb80d) | ![image](https://github.com/flutter/flutter/assets/840911/f4331178-8f1e-4cb8-a93f-7052a6770af7)| 

</details> 

## Related Issue

Fixes https://github.com/flutter/flutter/issues/145897

## Tests

Adds 4 tests.
2024-04-02 20:08:11 +00:00
Michael Goderbauer
e41881ade2
Sync lints and enable annotate_redeclares (#146144)
Now that extension types are being used in this repository, `annotate_redeclares` seems useful.
2024-04-02 20:01:23 +00:00
LongCatIsLooong
fd98a2f70b
Implements RenderBox.computeDryBaseline for material render boxes (#146027)
`RenderChip` and `RenderInputDecorator` changes are larger so they are not included.
2024-04-02 18:37:05 +00:00
engine-flutter-autoroll
06106901d4
Roll Flutter Engine from 523fc953ebc8 to 6883f7313da0 (2 revisions) (#146140)
523fc953eb...6883f7313d

2024-04-02 kjlubick@users.noreply.github.com Use moved GrBackendTexture factories for Skia's Metal backend (flutter/engine#51828)
2024-04-02 skia-flutter-autoroll@skia.org Roll Dart SDK from aa6544b48523 to e6e6d5fe3fb0 (1 revision) (flutter/engine#51837)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 17:28:59 +00:00
Taha Tesser
8d9dcc48ec
Fix MenuItemButton overflow (#143932)
fixes [MenuItemButton does not constrain its child](https://github.com/flutter/flutter/issues/129439)
fixes [DropdownMenuEntry Text Overflow when width of DropdownMenu is not specified](https://github.com/flutter/flutter/issues/140596)

### Description

- This PR continues the fix from https://github.com/flutter/flutter/pull/141314#issuecomment-1945804640 and adds controlled widths for the `MenuBar` children to fix the unbounded width issue which blocked the PR earlier. (Widgets  with non-zero flex value cannot be laid out in a horizontal scroll view which is created by `MenuBar` widget)
- Added tests coverage.
- Added documentation.

### Code sample

<details>
<summary>expand to view the code sample</summary> 

```dart
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  MenuController menuController = MenuController();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              DropdownMenu<int>(
                expandedInsets: EdgeInsets.zero,
                dropdownMenuEntries: <DropdownMenuEntry<int>>[
                  DropdownMenuEntry<int>(
                    value: 0,
                    label:
                        'This is a long text that is multiplied by 10. ' * 10,
                    style: const ButtonStyle(
                      textStyle: MaterialStatePropertyAll(
                        TextStyle(overflow: TextOverflow.ellipsis),
                      ),
                    ),
                  ),
                ],
              ),
              SizedBox(
                width: 200,
                child: MenuItemButton(
                  onPressed: () {},
                  leadingIcon: const Icon(Icons.menu),
                  trailingIcon: const Icon(Icons.arrow_forward_ios),
                  child: const Text(
                    'This is a very long text that will wrap to the multiple lines.',
                    maxLines: 1,
                    overflow: TextOverflow.ellipsis,
                  ),
                ),
              ),
              // MenuBar(
              //   children: [
              //     MenuItemButton(
              //       onPressed: () {

              //       },
              //       child: Text('Short Text Menu'),
              //     ),
              //     MenuItemButton(
              //       onPressed: () {},
              //       child: Text('Very very very very very long text menu'),
              //     ),
              //   ],
              // ),
            ],
          ),
        ),
      ),
    );
  }
}

```

</details>

### Before

![before](https://github.com/flutter/flutter/assets/48603081/27879cf6-4567-442d-a355-7f8492612fa4)

### After
![after](https://github.com/flutter/flutter/assets/48603081/25e5ab90-e2a1-4080-a7e1-51cd98ff0a77)
2024-04-02 17:27:26 +00:00
engine-flutter-autoroll
174e0b1ac6
Roll Packages from d5aff1980bc8 to 83f3842c27b5 (4 revisions) (#146134)
d5aff1980b...83f3842c27

2024-04-02 engine-flutter-autoroll@skia.org Manual roll Flutter from 9d32f07e34c3 to 7fa932be5c12 (19 revisions) (flutter/packages#6448)
2024-04-01 49699333+dependabot[bot]@users.noreply.github.com [in_app_pur]: Bump org.json:json from 20231013 to 20240303 in /packages/in_app_purchase/in_app_purchase_android/android (flutter/packages#6241)
2024-04-01 reidbaker@google.com [camera_android_camerax] Move integration_test dependency to tests (flutter/packages#6445)
2024-04-01 engine-flutter-autoroll@skia.org Roll Flutter from d12ba5c270d8 to 9d32f07e34c3 (3 revisions) (flutter/packages#6441)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 15:44:15 +00:00
engine-flutter-autoroll
a418568a64
Roll Flutter Engine from decca6b8bf45 to 523fc953ebc8 (1 revision) (#146118)
decca6b8bf...523fc953eb

2024-04-02 49699333+dependabot[bot]@users.noreply.github.com Bump actions/setup-python from 5.0.0 to 5.1.0 (flutter/engine#51841)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC matanl@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 08:31:26 +00:00
engine-flutter-autoroll
3b2652b735
Roll Flutter Engine from 370e325098fb to decca6b8bf45 (1 revision) (#146111)
370e325098...decca6b8bf

2024-04-02 skia-flutter-autoroll@skia.org Roll Skia from fe64c32d7f2e to cd75e4672719 (1 revision) (flutter/engine#51833)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 04:37:23 +00:00
engine-flutter-autoroll
d7e408ab23
Roll Flutter Engine from 9a513de65251 to 370e325098fb (1 revision) (#146109)
9a513de652...370e325098

2024-04-02 matanlurey@users.noreply.github.com Move scenario_app integration tests back to `max_attempts: 2`. (flutter/engine#51838)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 03:29:25 +00:00
engine-flutter-autoroll
0ee25923ae
Manual roll Flutter Engine from e6f19409b613 to 9a513de65251 (12 revisions) (#146108)
Manual roll requested by jacksongardner@google.com

Cannot build log URL because revision "9a513de65251" is invalid: Luci builds of "Linux linux_android_emulator_skia_tests" for 9a513de65251f83a43d979bb0b2d4c8ee2f8c417 was FAILURE

2024-04-01 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Avoid loading redundant Vulkan extensions. (#51818)" (flutter/engine#51835)
2024-04-01 matanlurey@users.noreply.github.com Run and record `adb shell screenrecord` during Android scenario app (flutter/engine#51832)
2024-04-01 skia-flutter-autoroll@skia.org Roll Skia from 0b0ed6ca101b to fe64c32d7f2e (4 revisions) (flutter/engine#51831)
2024-04-01 matanlurey@users.noreply.github.com Run the `DrawSolidBlueScreenTest` 5x in a row in bringup builds. (flutter/engine#51829)
2024-04-01 matanlurey@users.noreply.github.com Remove tests related to StrictMode that were never running on CI. (flutter/engine#51827)
2024-04-01 jonahwilliams@google.com [Impeller] Ignore warnign about shader stages not consuming outputs. (flutter/engine#51822)
2024-04-01 jacksongardner@google.com [Skwasm] Forward text height from paragraph height to default text style (flutter/engine#51819)
2024-04-01 matanlurey@users.noreply.github.com Remove log statements that did not help. (flutter/engine#51825)
2024-04-01 skia-flutter-autoroll@skia.org Roll Skia from 40c436a785fa to 0b0ed6ca101b (6 revisions) (flutter/engine#51823)
2024-04-01 jason-simmons@users.noreply.github.com [Impeller] Add a TextureGLES API for wrapping a framebuffer and use it to implement OpenGL FBO targets in the embedder library (flutter/engine#51269)
2024-04-01 matanlurey@users.noreply.github.com Remove `testing/android_background_image` which does not run/exist on CI. (flutter/engine#51815)
2024-04-01 chinmaygarde@google.com [Impeller] Avoid loading redundant Vulkan extensions. (flutter/engine#51818)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-02 01:22:29 +00:00
auto-submit[bot]
38b2c5bf41
Reverts "Roll Flutter Engine from e6f19409b613 to ea93c5d91b12 (3 revisions) (#146100)" (#146106)
Reverts: flutter/flutter#146100
Initiated by: LongCatIsLooong
Reason for reverting: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20hello_world_impeller/3118/overview
Original PR Author: engine-flutter-autoroll

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:

e6f19409b6...ea93c5d91b

2024-04-01 jason-simmons@users.noreply.github.com [Impeller] Add a TextureGLES API for wrapping a framebuffer and use it to implement OpenGL FBO targets in the embedder library (flutter/engine#51269)
2024-04-01 matanlurey@users.noreply.github.com Remove `testing/android_background_image` which does not run/exist on CI. (flutter/engine#51815)
2024-04-01 chinmaygarde@google.com [Impeller] Avoid loading redundant Vulkan extensions. (flutter/engine#51818)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 22:54:49 +00:00
engine-flutter-autoroll
7fa932be5c
Roll Flutter Engine from e6f19409b613 to ea93c5d91b12 (3 revisions) (#146100)
e6f19409b6...ea93c5d91b

2024-04-01 jason-simmons@users.noreply.github.com [Impeller] Add a TextureGLES API for wrapping a framebuffer and use it to implement OpenGL FBO targets in the embedder library (flutter/engine#51269)
2024-04-01 matanlurey@users.noreply.github.com Remove `testing/android_background_image` which does not run/exist on CI. (flutter/engine#51815)
2024-04-01 chinmaygarde@google.com [Impeller] Avoid loading redundant Vulkan extensions. (flutter/engine#51818)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 21:50:46 +00:00
Jesse
f8a06f6418
Refactor realm_checker (#145905)
Refactor realm_checker suite in order to reduce testing logic in test.dart and allow for later implementing package:test onto the existing realm_checker tests

Part of https://github.com/flutter/flutter/issues/145482

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2024-04-01 21:49:19 +00:00
Kallen Tu
9fd9f042fc
Add info strings to code blocks. (#146085)
In preparation to add the lint
`missing_code_block_language_in_doc_comment`, added info strings to a
bunch of fenced code blocks.

Related to issue: https://github.com/dart-lang/linter/issues/4904

## 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] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [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
[Data Driven Fixes]:
https://github.com/flutter/flutter/wiki/Data-driven-Fixes
2024-04-01 14:05:16 -07:00
Kostia Sokolovskyi
5850651d60
Add test for animated_container.0.dart API example. (#145995)
This PR contributes to https://github.com/flutter/flutter/issues/130459

### Description
- Adds test for `examples/api/test/widgets/implicit_animations/animated_container.0_test.dart`
2024-04-01 20:25:40 +00:00
engine-flutter-autoroll
1e20714e78
Roll Flutter Engine from 8dff6b833fe2 to e6f19409b613 (2 revisions) (#146093)
8dff6b833f...e6f19409b6

2024-04-01 skia-flutter-autoroll@skia.org Roll Skia from dacd62255b8d to 40c436a785fa (3 revisions) (flutter/engine#51817)
2024-04-01 matanlurey@users.noreply.github.com Remove unused and untested timeline data branch for `scenario_app` (flutter/engine#51816)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 20:25:38 +00:00
engine-flutter-autoroll
8c3575d610
Roll Flutter Engine from d33666d90916 to 8dff6b833fe2 (3 revisions) (#146087)
d33666d909...8dff6b833f

2024-04-01 jason-simmons@users.noreply.github.com Use the stripped Vulkan validation library in Android engine builds by default (flutter/engine#51628)
2024-04-01 jason-simmons@users.noreply.github.com [Impeller] Set RGBA8888 as the default Vulkan color format before the app acquires a surface (flutter/engine#51770)
2024-04-01 matanlurey@users.noreply.github.com Never panic in `finally { ... }`, check output logs on success only. (flutter/engine#51814)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 19:13:39 +00:00
Kate Lovett
6d7922f3f5
Fix SliverMainAxisGroup layout in reverse (#145572)
Fixes https://github.com/flutter/flutter/issues/145068

The original tests for SliverMainAxisGroup did not actually check where the child was painted (#126596).

Followed the same pattern in RenderSliverMultiBoxAdaptor:

11c034f037/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart (L666)
2024-04-01 19:06:07 +00:00
engine-flutter-autoroll
bd909542a3
Roll Flutter Engine from dd4f5cd5c9d5 to d33666d90916 (3 revisions) (#146083)
dd4f5cd5c9...d33666d909

2024-04-01 skia-flutter-autoroll@skia.org Roll Skia from da4cd3390be9 to dacd62255b8d (1 revision) (flutter/engine#51813)
2024-04-01 zanderso@users.noreply.github.com Roll buildroot to dcd71b5b237e1e58f2ad8a7e51bead0c2a3755a9 (flutter/engine#51812)
2024-04-01 skia-flutter-autoroll@skia.org Roll Dart SDK from b735974580e7 to aa6544b48523 (1 revision) (flutter/engine#51810)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 18:25:50 +00:00
engine-flutter-autoroll
181b69b06e
Roll Packages from 51faaa156b61 to d5aff1980bc8 (3 revisions) (#146081)
51faaa156b...d5aff1980b

2024-03-30 engine-flutter-autoroll@skia.org Roll Flutter from 85288818b59e to d12ba5c270d8 (21 revisions) (flutter/packages#6440)
2024-03-29 engine-flutter-autoroll@skia.org Roll Flutter from 89ea49204b37 to 85288818b59e (11 revisions) (flutter/packages#6436)
2024-03-29 katelovett@google.com [two_dimensional_scrollables] Infinite TableView (flutter/packages#6411)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
2024-04-01 18:05:13 +00:00
Dimil Kalathiya
a187cc7255
Fixes some gesture recognizers are not disposed. (#146072) 2024-04-01 09:50:59 -07:00
Bartek Pacia
ec82f0d895
Flutter Gradle Plugin: add versionName and versionCode to FlutterExtension (#146044)
This PR is a follow-up of a previous PR of mine:
https://github.com/flutter/flutter/pull/141417. It was unfinished, i.e.
I only implemented it and used it in `examples/hello_world`. No "flutter
create" templates were modified.

This change is theoretically breaking, but in practice, I am pretty sure
nobody uses this. It was not accounced anywhere, the only app using it
is `examples/hello_world`. I did not do that (that=update docs and
templates) because I wanted a solution that is idiomatic in both Gradle
and Kotlin, and only now I found time to do this.

### Without this change

```groovy
defaultConfig {
    applicationId = "io.flutter.examples.hello_world"
    minSdk = flutter.minSdkVersion
    targetSdk = flutter.targetSdkVersion
    versionCode = flutter.versionCode()
    versionName = flutter.versionName()
}
```

### With this change

```groovy
defaultConfig {
    applicationId = "io.flutter.examples.hello_world"
    minSdk = flutter.minSdkVersion
    targetSdk = flutter.targetSdkVersion
    versionCode = flutter.versionCode
    versionName = flutter.versionName
}
```

Idiomatic getter - yay! It's consistent between assignment of all four
props.

### Issue

fixes https://github.com/flutter/flutter/issues/146067

## 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] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.

---------

Co-authored-by: Reid Baker <reidbaker@google.com>
2024-04-01 18:09:13 +02:00