41299 Commits

Author SHA1 Message Date
Greg Price
5e448f4ce5
Support failures-only and silent reporters in flutter test (#148739)
Fixes #148738.

Also add some tests for this part of the `flutter test` CLI.
2024-06-03 19:44:39 +00:00
Tong Mu
691a18df5f
[CupertinoActionSheet] Fix overflow of the overscroll section when the user scrolls far (#149542)
When I implemented https://github.com/flutter/flutter/pull/149334, there was a bug that if the actions section is overscrolled for too far (typically due to a fling), the overscroll background might be so long that it overflows the actions section. This PR fixes this bug.
2024-06-03 19:12:11 +00:00
Bruno Leroux
e02d29d52e
Fix InputDecorator.prefixIcon color when disabled (#149595)
## Description

This PRs makes the `InputDecoration.prefixIcon` color compliant with the M3 spec.

From M3 spec, the color should be `onSurface.withOpacity(0.38)`, see https://m3.material.io/components/text-fields/specs#e4964192-72ad-414f-85b4-4b4357abb83c

![image](https://github.com/flutter/flutter/assets/840911/298d9aaf-fcda-479a-a8dd-0ee84db98242)

## Related Issue

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

## Tests

Updates 2 tests.
2024-06-03 18:53:16 +00:00
Dacian Florea
a92318dd98
Added filter callback on dropdown menu (#143939)
DropdownMenu can now customize its filter using the new parameter DropdownMenu.filterCallback, similar to DropdownMenu.searchCallback.
2024-06-03 11:19:29 -07:00
Andrew Kolos
be724796aa
update generated localized message files in the stocks test app (#148741)
Fixes https://github.com/flutter/flutter/issues/149386. Fixes https://github.com/flutter/flutter/issues/106150.

The stocks test app includes Dart files containing localized messages generated by `package:flutter_localizations`. However, these files appear to have become out of date. Running `pub get` in the project will regenerate these files and generate a diff, which can be annoying when working on the repo.

This PR generates the files. ~~It also updates the templates for these files to be compliant with flutter/flutter repo lint rules, including `noop_primitive_operations` and `use_super_parameters`.~~ It also adds `// ignore_for_file: type=lint` to these files to disable linting for these files. This avoids issues like  https://github.com/flutter/flutter/issues/106150 and [this](https://github.com/flutter/flutter/pull/148741#issuecomment-2141161753).
2024-06-03 18:08:19 +00:00
Aditya Dwivedi
0e7295fd18
Add a simplified SimpleCascadingMenuApp example (#149147)
The current MenuAnchor example in the API Docs is comprehensive and complicated for beginners. I have added a simple bare bone example without shortcuts, enums, etc in examples/api/lib/material/menu_anchor/ as `menu_anchor.3.dart`. The example is contributed by @mafreud

Fixes https://github.com/flutter/flutter/issues/148104
2024-06-03 17:11:36 +00:00
LongCatIsLooong
8e15e56c81
Reland "Prevent LayoutBuilder from rebuilding more than once (#147856)" (#149303)
Diff commit: a3f7acab0c

In the failing tests the debugger treated the exception thrown by `Element.rebuild` as a caught exception in the absence of the vm pragma.
2024-06-03 16:45:23 +00:00
Zachary Anderson
31c8222eed
Move some benchmarks from MotoG4 to Mokey (#149567)
On Linux hosts, there are currently 5 mokey's in staging and 7 in prod.
On Linux hosts, there is currently 1 MotoG4 in staging and 11 in prod.

This PR shifts the ~5 tests that have been running on mokey's for awhile
now from staging to prod, and shifts about half of the MotoG4 benchmarks
from MotoG4's in prod to mokey's in staging.

Following this change, we can disconnect half of the Linux/MotoG4's in
the prod pool and replace them with mokey's in the prod pool.

Part of https://github.com/flutter/flutter/issues/148085
2024-06-03 08:51:58 -07:00
engine-flutter-autoroll
0b7396824f
Roll Packages from d8e8e8cee712 to 11e192a86db3 (2 revisions) (#149596)
d8e8e8cee7...11e192a86d

2024-06-01 engine-flutter-autoroll@skia.org Roll Flutter from c85fa6abf4ff to 7eebe2992aba (26 revisions) (flutter/packages#6836)
2024-05-31 737941+loic-sharma@users.noreply.github.com [image_picker_ios] Re-adds Swift Package Manager compatibility (flutter/packages#6833)

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-06-03 15:50:34 +00:00
Kate Lovett
a6ff7123e5
Cleanup triage reports from docs/ (#149545)
Part of https://github.com/flutter/flutter/issues/145009

Meeting notes are some thing that will continue in the wiki, so they do not need to be checked in here.
2024-06-03 15:16:20 +00:00
engine-flutter-autoroll
1be51f8c61
Roll Flutter Engine from d81edf635a9f to ea72558be758 (1 revision) (#149590)
d81edf635a...ea72558be7

2024-06-03 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from c-Sm5-fy8c2YM7Myk... to lKBLxel8iBaHpT5q6... (flutter/engine#53167)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from c-Sm5-fy8c2Y to lKBLxel8iBaH

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-06-03 13:32:24 +00:00
engine-flutter-autoroll
124aacbaef
Roll Flutter Engine from b0f4d7459708 to d81edf635a9f (1 revision) (#149468)
b0f4d74597...d81edf635a

2024-06-01 chinmaygarde@google.com [Impeller] Revert support for multi-arch shader archives. (flutter/engine#53158)

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-06-01 02:32:25 +00:00
engine-flutter-autoroll
1dbf953a5a
Roll Flutter Engine from 40b868efcc46 to b0f4d7459708 (1 revision) (#149467)
40b868efcc...b0f4d74597

2024-05-31 skia-flutter-autoroll@skia.org Roll Dart SDK from 2976c1694eed to 53c41325c29f (5 revisions) (flutter/engine#53159)

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-06-01 01:45:06 +00:00
engine-flutter-autoroll
ec6714427e
Roll Flutter Engine from 990f1ceac5d5 to 40b868efcc46 (2 revisions) (#149462)
990f1ceac5...40b868efcc

2024-05-31 jonahwilliams@google.com [Impeller] make strokes < 0.5 physical pixels visually thinner. (flutter/engine#53154)
2024-05-31 jonahwilliams@google.com [Impeller] Replace Impeller opacity peephole delegate with DL variant. (flutter/engine#52707)

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-06-01 00:49:16 +00:00
engine-flutter-autoroll
ae549d054c
Roll Flutter Engine from 181403102dc2 to 990f1ceac5d5 (3 revisions) (#149457)
181403102d...990f1ceac5

2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 7193eec6a492 to 337c3c4d1f1b (4 revisions) (flutter/engine#53157)
2024-05-31 codefu@google.com Remove RBE crud compile_commands.json (flutter/engine#53135)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from f1f13534b0c2 to 7193eec6a492 (3 revisions) (flutter/engine#53153)

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-05-31 23:49:26 +00:00
engine-flutter-autoroll
3bc1f517c0
Roll Flutter Engine from fa3065875564 to 181403102dc2 (5 revisions) (#149447)
fa30658755...181403102d

2024-05-31 lhkbob@gmail.com Remove SK_RESOLVE_FILTERS_BEFORE_RESTORE flag (flutter/engine#49563)
2024-05-31 jonahwilliams@google.com Remove complexity calculator with Slimpeller (flutter/engine#53140)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 208469d270b7 to f1f13534b0c2 (1 revision) (flutter/engine#53152)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from ce975ddfd9fb to 208469d270b7 (1 revision) (flutter/engine#53150)
2024-05-31 reidbaker@google.com Google java format relocation and formatting update  (flutter/engine#53118)

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-05-31 23:02:39 +00:00
dependabot[bot]
c8c495e0ee
Bump github/codeql-action from 3.25.6 to 3.25.7 (#149444)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.6 to 3.25.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a href="https://github.com/github/codeql-action/releases">releases page</a> for the relevant changes to the CodeQL CLI and language packs.</p>
<p>Note that the only difference between <code>v2</code> and <code>v3</code> of the CodeQL Action is the node version they support, with <code>v3</code> running on node 20 while we continue to release <code>v2</code> to support running on node 16. For example <code>3.22.11</code> was the first <code>v3</code> release and is functionally identical to <code>2.22.11</code>. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>3.25.7 - 31 May 2024</h2>
<ul>
<li>We are rolling out a feature in May/June 2024 that will reduce the Actions cache usage of the Action by keeping only the newest TRAP cache for each language. <a href="https://redirect.github.com/github/codeql-action/pull/2306">#2306</a></li>
</ul>
<h2>3.25.6 - 20 May 2024</h2>
<ul>
<li>Update default CodeQL bundle version to 2.17.3. <a href="https://redirect.github.com/github/codeql-action/pull/2295">#2295</a></li>
</ul>
<h2>3.25.5 - 13 May 2024</h2>
<ul>
<li>Add a compatibility matrix of supported CodeQL Action, CodeQL CLI, and GitHub Enterprise Server versions to the <a href="https://github.com/github/codeql-action/blob/main/README.md">https://github.com/github/codeql-action/blob/main/README.md</a>. <a href="https://redirect.github.com/github/codeql-action/pull/2273">#2273</a></li>
<li>Avoid printing out a warning for a missing <code>on.push</code> trigger when the CodeQL Action is triggered via a <code>workflow_call</code> event. <a href="https://redirect.github.com/github/codeql-action/pull/2274">#2274</a></li>
<li>The <code>tools: latest</code> input to the <code>init</code> Action has been renamed to <code>tools: linked</code>. This option specifies that the Action should use the tools shipped at the same time as the Action. The old name will continue to work for backwards compatibility, but we recommend that new workflows use the new name. <a href="https://redirect.github.com/github/codeql-action/pull/2281">#2281</a></li>
</ul>
<h2>3.25.4 - 08 May 2024</h2>
<ul>
<li>Update default CodeQL bundle version to 2.17.2. <a href="https://redirect.github.com/github/codeql-action/pull/2270">#2270</a></li>
</ul>
<h2>3.25.3 - 25 Apr 2024</h2>
<ul>
<li>Update default CodeQL bundle version to 2.17.1. <a href="https://redirect.github.com/github/codeql-action/pull/2247">#2247</a></li>
<li>Workflows running on <code>macos-latest</code> using CodeQL CLI versions before v2.15.1 will need to either upgrade their CLI version to v2.15.1 or newer, or change the platform to an Intel MacOS runner, such as <code>macos-12</code>. ARM machines with SIP disabled, including the newest <code>macos-latest</code> image, are unsupported for CLI versions before 2.15.1. <a href="https://redirect.github.com/github/codeql-action/pull/2261">#2261</a></li>
</ul>
<h2>3.25.2 - 22 Apr 2024</h2>
<p>No user facing changes.</p>
<h2>3.25.1 - 17 Apr 2024</h2>
<ul>
<li>We are rolling out a feature in April/May 2024 that improves the reliability and performance of analyzing code when analyzing a compiled language with the <code>autobuild</code> <a href="https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes">build mode</a>. <a href="https://redirect.github.com/github/codeql-action/pull/2235">#2235</a></li>
<li>Fix a bug where the <code>init</code> Action would fail if <code>--overwrite</code> was specified in <code>CODEQL_ACTION_EXTRA_OPTIONS</code>. <a href="https://redirect.github.com/github/codeql-action/pull/2245">#2245</a></li>
</ul>
<h2>3.25.0 - 15 Apr 2024</h2>
<ul>
<li>
<p>The deprecated feature for extracting dependencies for a Python analysis has been removed. <a href="https://redirect.github.com/github/codeql-action/pull/2224">#2224</a></p>
<p>As a result, the following inputs and environment variables are now ignored:</p>
<ul>
<li>The <code>setup-python-dependencies</code> input to the <code>init</code> Action</li>
<li>The <code>CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION</code> environment variable</li>
</ul>
</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f079b84933"><code>f079b84</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/2317">#2317</a> from github/update-v3.25.7-a095bf2a1</li>
<li><a href="e1a42688db"><code>e1a4268</code></a> Update changelog for v3.25.7</li>
<li><a href="a095bf2a16"><code>a095bf2</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/2313">#2313</a> from github/revert-2312-update-bundle/codeql-bundle-...</li>
<li><a href="bbd4e19f51"><code>bbd4e19</code></a> Revert &quot;Update default bundle to 2.17.4&quot;</li>
<li><a href="9ab5d16a3d"><code>9ab5d16</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/2312">#2312</a> from github/update-bundle/codeql-bundle-v2.17.4</li>
<li><a href="028346e1ff"><code>028346e</code></a> Add changelog note</li>
<li><a href="5fe08473f8"><code>5fe0847</code></a> Update default bundle to codeql-bundle-v2.17.4</li>
<li><a href="9550da953d"><code>9550da9</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/2311">#2311</a> from github/henrymercer/pack-missing-auth-config-error</li>
<li><a href="6548a4d65c"><code>6548a4d</code></a> Add configuration error for missing auth to package registry</li>
<li><a href="7927df07e2"><code>7927df0</code></a> Bump micromatch from 4.0.5 to 4.0.7 in the npm group (<a href="https://redirect.github.com/github/codeql-action/issues/2310">#2310</a>)</li>
<li>Additional commits viewable in <a href="9fdb3e4972...f079b84933">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.25.6&new-version=3.25.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>
2024-05-31 22:38:04 +00:00
auto-submit[bot]
fc8ab3b4b4
Reverts "Fix InputDecorator default hint text style on M3 (#148944)" (#149448)
Reverts: flutter/flutter#148944
Initiated by: loic-sharma
Reason for reverting: This caused Skia golden changes that might be unexpected. We can reland once we confirm these changes are expected, or, fixed the changes to the floating label.
Original PR Author: bleroux

Reviewed By: {Renzo-Olivares, guidezpl}

This change reverts the following previous change:
## Description

This PRs makes the `InputDecoration.hintText` style compliant with the M3 spec.
The hint style is not clearly specified in https://m3.material.io/components/text-fields/specs, but it is in the M3 Figma kit.
('hint' terminology came from the Material1 specification, since M2 the terminology is 'Placeholder').

See this Figma screenshot taken while focusing on the 'Placeholder' text (which corresponds to hint).

![image](https://github.com/flutter/flutter/assets/840911/58d3d5c9-0984-497a-9d47-4724dcd7b2b3)

It seems that the intention is that the 'Placeholder' colors should be the same as the 'supporting text' ones, that is why is reused 'supporting text' tokens.

## Related Issue

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

## Tests

Updates several tests.
2024-05-31 22:06:26 +00:00
Bruno Leroux
df17f36238
InputDecorator M3 tests migration - prefixIcon/suffixIcon (#149437)
## Description

This PR adds several tests tp check M3 specification compliance for `InputDecorator.prefixIcon` and `InputDecorator.suffixIcon`.

This is somewhat repetitive but it helped me to catch several styling and positionning issues, I added TODOs because I will file the fixes once this PR is merged (just in case the fixes break some Google tests). 

## Related Issue

Part of https://github.com/flutter/flutter/issues/139076
2024-05-31 21:13:24 +00:00
Kevin Moore
dd2d123806
_NoOpCodec review feedback (#149442) 2024-05-31 21:03:27 +00:00
engine-flutter-autoroll
86321ed229
Manual roll Flutter Engine from e19d7cde4686 to fa3065875564 (2 revisions) (#149436)
Manual roll requested by jacksongardner@google.com

e19d7cde46...fa30658755

2024-05-31 skia-flutter-autoroll@skia.org Manual roll Dart SDK from ef405fbe3917 to 2976c1694eed (6 revisions) (flutter/engine#53149)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from b1e59e25696a to ce975ddfd9fb (1 revision) (flutter/engine#53147)

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-05-31 20:59:53 +00:00
Bruno Leroux
b201fbdee5
Fix InputDecorator default hint text style on M3 (#148944)
## Description

This PRs makes the `InputDecoration.hintText` style compliant with the M3 spec.
The hint style is not clearly specified in https://m3.material.io/components/text-fields/specs, but it is in the M3 Figma kit.
('hint' terminology came from the Material1 specification, since M2 the terminology is 'Placeholder').

See this Figma screenshot taken while focusing on the 'Placeholder' text (which corresponds to hint).

![image](https://github.com/flutter/flutter/assets/840911/58d3d5c9-0984-497a-9d47-4724dcd7b2b3)

It seems that the intention is that the 'Placeholder' colors should be the same as the 'supporting text' ones, that is why is reused 'supporting text' tokens.

## Related Issue

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

## Tests

Updates several tests.
2024-05-31 20:56:07 +00:00
Tong Mu
2b700dda38
Rewrite CupertinoActionSheet, and fix layout deviation (#149334)
This PR rewrite `CupertinoActionSheet` to be based on layout widgets instead of the custom layout code in `_CupertinoDialogRenderWidget`, making it much easier to understand. It also fixes a layout deviation from SwiftUI, and add a few tests.

`_CupertinoDialogRenderWidget` is a custom layout widget that contains too much boilerplate code and is hard to understand where is customized. The plan is to replace it with widgets as much as possible. (Since this widget is used by both `CupertinoActionSheet` and `CupertinoAlertDialog`, this PR only removes the branches related to `isActionSheet`).

The need to use custom layout widget probably came from the following difficulties:
1. The parent needs to know whether an action button is being pressed to correctly render or hide each divider, but the action button is provided by the user as a built widget that also needs to respond to the tap gesture.
2. The main sheet's column needs to _prioritize_ allocating the space to the content section before allocating the remaining to the actions section, while also leaving the actions section a minimum height. This is not supported by simply `Column`.
3. The minimum height of the action section is a non-trivial algorithm.

Luckily, I've found out that all these problems are solvable with widgets.

All existing tests pass.
2024-05-31 20:56:04 +00:00
Dawid Wenderski
84cff3166d
Fix incorrect behavior of ScrollViewKeyboardDismissBehavior.onDrag for ScrollViewers with Drawer (#148948)
Fixes https://github.com/flutter/flutter/issues/141542
Fixes https://github.com/flutter/flutter/issues/103544
Fixes https://github.com/flutter/flutter/issues/54277
2024-05-31 20:30:09 +00:00
Kevin Moore
de26ec8360
DRY up FakeCodec (#149381)
- dedupe the same class in two places
- renamed it to not clash with `FakeCodec` defined somewhere else
2024-05-31 20:24:20 +00:00
Yegor
6193615f90
Wire up SemanticsAction.focus to the framework (#149374)
Wire up `SemanticsAction.focus` to `Semantics` and `CustomPaint`. Reenable respective tests, and add `focus` tests to them.

Contributes to a fix for https://github.com/flutter/flutter/issues/83809
2024-05-31 19:30:18 +00:00
engine-flutter-autoroll
8c38366979
Roll Packages from 910fabb4886b to d8e8e8cee712 (3 revisions) (#149429)
910fabb488...d8e8e8cee7

2024-05-31 linxunfeng@yeah.net [image_picker] Adds comment for the limit parameter (flutter/packages#6678)
2024-05-30 jonahwilliams@google.com Revert "Migrate CameraX from SurfaceTexture to SurfaceProducer." (flutter/packages#6838)
2024-05-30 10687576+bparrishMines@users.noreply.github.com [pigeon] Updates `PigeonInstanceMangerApi` to use the shared api channel code in Dart (flutter/packages#6831)

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-05-31 18:27:30 +00:00
Runar Heggset
b7169ed5be
Use correct type for abi version code (#149087)
After upgrading flutter to the latest version (3.22.1), I encountered an error when building with `--split-per-abi`:

```
[   +1 ms] FAILURE: Build failed with an exception.
[        ] * Where:
[        ] Script '/home/runar/snap/flutter/common/flutter/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy' line: 1182
[        ] * What went wrong:
[        ] A problem occurred evaluating root project 'android'.
[        ] > A problem occurred configuring project ':app'.
[        ]    > org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'null' with class 'null' to class 'int'.
Try 'java.lang.Integer' instead
```

This PR changes the type used from `ìnt` to `Integer` which is what's used in the `ABI_VERSION` map.
2024-05-31 17:49:16 +00:00
engine-flutter-autoroll
bffd97be13
Roll Flutter Engine from f3d6fe51fbba to e19d7cde4686 (2 revisions) (#149424)
f3d6fe51fb...e19d7cde46

2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from ddc7ed3f0767 to b1e59e25696a (1 revision) (flutter/engine#53146)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 8cc93368482b to ddc7ed3f0767 (1 revision) (flutter/engine#53145)

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-05-31 17:44:20 +00:00
engine-flutter-autoroll
80f2dd4431
Roll Flutter Engine from df719e66bd36 to f3d6fe51fbba (3 revisions) (#149412)
df719e66bd...f3d6fe51fb

2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 64aae6958cc9 to 8cc93368482b (1 revision) (flutter/engine#53144)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 47bbc9c6d5f5 to 64aae6958cc9 (1 revision) (flutter/engine#53143)
2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from 9930cf1449fd to 47bbc9c6d5f5 (3 revisions) (flutter/engine#53142)

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-05-31 14:38:22 +00:00
engine-flutter-autoroll
bc30104be0
Roll Flutter Engine from abb4c95e679c to df719e66bd36 (1 revision) (#149389)
abb4c95e67...df719e66bd

2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from b34e5dd89e9d to 9930cf1449fd (1 revision) (flutter/engine#53141)

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-05-31 07:45:23 +00:00
engine-flutter-autoroll
fd43c83790
Roll Flutter Engine from 2158748627c7 to abb4c95e679c (1 revision) (#149385)
2158748627...abb4c95e67

2024-05-31 jonahwilliams@google.com Remove assorted bad logs. (flutter/engine#53139)

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-05-31 06:28:10 +00:00
Michael Goderbauer
8bed1cbe42
Switch to FilterQuality.medium for images (#148799)
https://github.com/flutter/flutter/issues/148253
2024-05-31 03:50:30 +00:00
engine-flutter-autoroll
1658e2af26
Roll Flutter Engine from 6ea4f6ec577c to 2158748627c7 (1 revision) (#149377)
6ea4f6ec57...2158748627

2024-05-31 skia-flutter-autoroll@skia.org Roll Skia from c6cf8be050c0 to b34e5dd89e9d (1 revision) (flutter/engine#53133)

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-05-31 02:32:37 +00:00
Benji Farquhar
51168862fb
Add support for ExpansionPanel custom splash color (#147126)
Relates to https://github.com/flutter/flutter/pull/147098 and https://github.com/flutter/flutter/issues/147097

Aside from fixing the expland/collapse icon color in the other PR, I noticed the splash color on both the icon button and the full expansion panel (if ExpansionPanel.canTapOnHeader is set to true) is just `Theme.of(context).splashColor` on the `InkWell` and `Theme.of(context).highlightColor` on the `IconButton` which may not suit the color scheme of the `ExpansionPanel`, so I have added a custom field `splashColor`, which will effect both the `IconButton` and the full panel `Inkwell`.
2024-05-31 01:44:32 +00:00
engine-flutter-autoroll
cc783cf28a
Roll Flutter Engine from 4956e98ab4cc to 6ea4f6ec577c (1 revision) (#149371)
4956e98ab4...6ea4f6ec57

2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from a058f601e1fb to c6cf8be050c0 (2 revisions) (flutter/engine#53132)

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-05-31 01:21:26 +00:00
engine-flutter-autoroll
47091bfdde
Roll Flutter Engine from bf2e32dfd5a2 to 4956e98ab4cc (4 revisions) (#149367)
bf2e32dfd5...4956e98ab4

2024-05-30 yjbanov@google.com [semantics] fix dartdoc grammar (flutter/engine#53121)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from 188ad395c3e7 to a058f601e1fb (1 revision) (flutter/engine#53131)
2024-05-30 daniel.l@hpcnt.com Replace several NSAssert with FML_CHECK/DCHECK to unblock the build (flutter/engine#53048)
2024-05-30 30870216+gaaclarke@users.noreply.github.com [Impeller] make sure buffers are 4 aligned for foreground color blending (flutter/engine#53077)

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-05-31 00:36:27 +00:00
gaaclarke
a1423723ff
Rounded Rect Blur Benchmark: Made the number of circles a fixed number (#149323)
This will make the results more comparable across devices.

## 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-05-30 16:37:47 -07:00
Gray Mackall
d89ae48520
Manual pub roll w/ gradle lockfile regeneration (#149342)
Manual recreation of https://github.com/flutter/flutter/pull/148911

Entire PR is just the output of 
```
flutter update-packages --force-upgrade
```
followed by (run from the root of the flutter repo)
```
find . -type d -name 'android' | dart dev/tools/bin/generate_gradle_lockfiles.dart --no-gradle-generation --no-exclusion
```
2024-05-30 23:04:08 +00:00
gaaclarke
c0c284c72b
Fixed typo in devicelab test name (#149327)
Should fix devicelab failures in dashboard.
2024-05-30 23:02:03 +00:00
Victor Sanni
3496b1d397
Add feedback for long press on iOS (#148922)
Adds the click system sound and heavy-impact haptic feedback to iOS on long presses.

Fixes #148391
2024-05-30 23:00:21 +00:00
engine-flutter-autoroll
53ced2a5fd
Roll Flutter Engine from de07179371f8 to bf2e32dfd5a2 (14 revisions) (#149357)
de07179371...bf2e32dfd5

2024-05-30 flar@google.com DisplayList SaveLayer (and root layer) read-back flags (flutter/engine#53104)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from 7cfb0898ac15 to 188ad395c3e7 (2 revisions) (flutter/engine#53127)
2024-05-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Dart SDK from ef405fbe3917 to 2976c1694eed (6 revisions) (#53119)" (flutter/engine#53128)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from 75cf7d351b02 to 7cfb0898ac15 (3 revisions) (flutter/engine#53126)
2024-05-30 jonnywang@google.com Fuchsia api level 18 (flutter/engine#53115)
2024-05-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] enable Impeller by default on Android. (#53099)" (flutter/engine#53125)
2024-05-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Disable Impeller when the manifest explicitly disables it (#53108)" (flutter/engine#53124)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from eadc654480ed to 75cf7d351b02 (2 revisions) (flutter/engine#53120)
2024-05-30 skia-flutter-autoroll@skia.org Roll Dart SDK from ef405fbe3917 to 2976c1694eed (6 revisions) (flutter/engine#53119)
2024-05-30 yjbanov@google.com add SemanticsAction.focus (flutter/engine#53094)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from 693d9362f0f6 to eadc654480ed (3 revisions) (flutter/engine#53117)
2024-05-30 bdero@google.com [Flutter GPU] Upload `flutter_gpu.zip` upon successful completion of ci/android_debug. (flutter/engine#53107)
2024-05-30 skia-flutter-autoroll@skia.org Roll Skia from 949b8cefbf87 to 693d9362f0f6 (2 revisions) (flutter/engine#53114)
2024-05-30 jiahaog@users.noreply.github.com Disable Impeller when the manifest explicitly disables it (flutter/engine#53108)

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-05-30 22:48:34 +00:00
Lau Ching Jun
557a959547
Adding a default case to unblock engine roll. (#149353)
Similar to https://github.com/flutter/flutter/pull/149274
2024-05-30 15:01:56 -07:00
Kostia Sokolovskyi
488fb09582
Add tests for tween_animation_builder.0.dart API example. (#148902)
This PR contributes to https://github.com/flutter/flutter/issues/130459

### Description
- Adds tests for `examples/api/lib/widgets/tween_animation_builder/tween_animation_builder.0.dart`
2024-05-30 20:17:04 +00:00
Ian Hickson
5933e99c6c
Remove hidden dependency on ABI. (#148987)
This is part 17 of a broken down version of the #140101 refactor (though this particular dependency didn't actually exist back then).

This only makes one dependency explicit. Further PRs will do the same for other dependencies, until these APIs have no hidden dependencies.

I also snuck in a minor stylistic change, using interpolation instead of explicit `toString`, to make the code more idiomatic. (I'm actually surprised that that didn't trigger a lint, I thought we had a lint to catch that. I must be thinking of something else though.)

This PR makes no effort to keep the order of parameters reasonable. There is an existing TODO to do a refactor sweep later that does nothing but reorder arguments/parameters/fields to be consistent.
2024-05-30 19:12:22 +00:00
hangyu
1aba3a66f5
[GAR] [a11y] Update text button page in a11y assessment app (#148905)
internal: b/317125569

If the text button label contains its role and state, it will be confusing for tester.

it will be announced like "xxx button button" :

<img src="https://github.com/flutter/flutter/assets/108393416/16f5a996-b0f1-4f04-bd99-caa3cacd4182" width=50% height=50%> 

updated screen and label: 
<img src="https://github.com/flutter/flutter/assets/108393416/1de55cec-8a18-4c36-9dac-84ae7d151fd6" width=50% height=50%>
2024-05-30 18:34:07 +00:00
Mitchell Goodwin
54573bc875
Have Material widgets in a Cupertino App partially use Cupertino theme (#139253)
Fixes #138621

Fixes and issue where if a Material widget is used in a Cupertino App, then some parts of it's default Material 3 theming would show up as purplish. This could be fixed by wrapping your app with a Material theme, but that's a little awkward.

Material and Cupertino themes interact with each other a little oddly. If a theme of either is searched for but does not exist, then a default one is generated. So if a Material widget is in a Cupertino app that does not already have a Material theme, then a fallback Material theme will be created. This PR makes it so that, in this case when that Material theme is created, it's default colors will be based on the Cupertino theme.

Another oddity is that a Material theme always wraps itself with a Cupertino theme that's values are based on the Material theme. So before this change, a Material widget would theoretically add a new Material based Cupertino theme to the tree. So I added logic that would have the Material theme check to see if a Cupertino theme exists, before it overwrites it.

Before:
![image](https://github.com/flutter/flutter/assets/58190796/95874076-e943-48fa-ba9d-1d7b0f5a2f38)

After:
<img width="386" alt="Screenshot 2023-11-29 at 10 37 09 AM" src="https://github.com/flutter/flutter/assets/58190796/959ccfd9-3439-438e-ad36-20597334837a">

Update:
I changed it to not rely on the Material 3 flag. Instead, if a Material theme is searched for and there is already a Cupertino theme in the tree, then it will use that Cupertino theme instead of generating a new. Also, if a Material theme is searched for, and it does not find one already in the tree, but does find a Cupertino theme, then it will generate one with a color palette based off of that Cupertino theme's colors.

After with this change:
<img width="390" alt="Screenshot 2024-05-09 at 10 16 22 AM" src="https://github.com/flutter/flutter/assets/58190796/79765d04-a7a3-4eb5-9477-11668ed138e5">

We should still probably suggest for developers to include a Material theme in their Cupertino app if they wish to use widgets from both packages.
2024-05-30 17:54:53 +00:00
Nate
ee3557afe0
Refactor Material build method (#147430)
Only a code quality change, improves readability using `switch`.
2024-05-30 10:54:17 -07:00
MajdSallora
df95cb2984
Add locale in DatePickerThemeData (#148292)
*This PR changes the date picker were add locale in DatePickerThemeData*

*List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.*
Fixes #148202 

*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-05-30 17:53:03 +00:00
auto-submit[bot]
3d4fd550c2
Reverts "Enable explicitChildNodes for the AlertDialog content (#149130)" (#149333)
Reverts: flutter/flutter#149130
Initiated by: Piinks
Reason for reverting: Google testing did not run on this PR and multiple semantics screen shots from internal testing look incorrect. 
Original PR Author: TahaTesser

Reviewed By: {goderbauer}

This change reverts the following previous change:
fixes [AlertDialog content semantics merged](https://github.com/flutter/flutter/issues/147574)

### 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 StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      // showSemanticsDebugger: true,
      home: Scaffold(
        body: SafeArea(
          child: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: <Widget>[
                const Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Text('Some text'),
                    Text('More text'),
                  ],
                ),
                Builder(builder: (BuildContext context) {
                  return ElevatedButton(
                    onPressed: () {
                      showDialog<void>(
                        context: context,
                        builder: (BuildContext context) {
                          return AlertDialog(
                            title: const Text('Dialog Title'),
                            content: const Column(
                              children: <Widget>[
                                Text('Some text'),
                                Text('More text'),
                              ],
                            ),
                            actions: <Widget>[
                              TextButton(
                                onPressed: () {
                                  Navigator.of(context).pop();
                                },
                                child: const Text('Close'),
                              ),
                            ],
                          );
                        },
                      );
                    },
                    child: const Text('Open Dialog'),
                  );
                }),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
```

</details>

### Before vs After

![Screenshot 2024-05-27 at 14 59 57](https://github.com/flutter/flutter/assets/48603081/3b231a7a-db71-4dbf-bd4a-dd44a537cae8)

![Screenshot 2024-05-27 at 14 56 04](https://github.com/flutter/flutter/assets/48603081/219c1de5-ad35-49b3-a80f-4f036184e22b)
2024-05-30 17:43:26 +00:00