84253 Commits

Author SHA1 Message Date
Sarbagya Dhaubanjar
b7e0dd6ff8
Respect calendarDelegate in showDateRangePicker (#168290)
This PR fixes an issue where the `calendarDelegate` parameter was not
respected by `showDateRangePicker`. Although support
for`calendarDelegate` was added in [PR
#161874](https://github.com/flutter/flutter/pull/161874), it was
inadvertently omitted from `showDateRangePicker`, causing
inconsistencies in behavior compared to `showDatePicker`.

## 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.
2025-05-21 21:28:29 +00:00
Gray Mackall
f9795d6f2d
Make build_android_host_app_with_module_aar build using an aar (#169171)
Fixes https://github.com/flutter/flutter/issues/169165.

`build_android_host_app_with_module_aar` was unfortunately not depending
on the module as an aar, but as source (something we have a different
test for, and something that you would not expect given the name of the
test 🤦 )

## 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.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-05-21 20:56:07 +00:00
Jason Simmons
6390356103
Roll Dart SDK from 7c40eba6bf77 to 56940edd099d (#169135) 2025-05-21 18:31:39 +00:00
Kishan Rathore
78df5036d0
Feat: Add full screen dialog support for dialog routes (#167794)
Feat: Add full screen dialog support for dialog routes
fixes: #165478 

## 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-05-21 18:28:23 +00:00
Kishan Rathore
33cdd8ef31
Feat: Add persistentFooterDecoration for scaffold (#167524)
Feat: Add persistentFooterDecoration for scaffold
fixes: #166478 

## 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: Tong Mu <dkwingsmt@users.noreply.github.com>
2025-05-21 18:10:00 +00:00
Damiano Ferrari
f7354da75b
Removed repeated entry in CHANGELOG.md (#165273)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

Just removed a repeated entry in the changelog of the latest release
(3.29.2)

## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-21 17:29:33 +00:00
Daco Harkes
534b250a56
[native assets] Graduate to preview (#169194)
This PR enables native assets on the main and dev channel by default,
and make native assets available on the beta channel.

This PR removes the flag from invocations.

The helper packages (`package:hooks` and `package:code_assets`) will
stay 0.x for now, until the SDK constraint can be bumped to a beta
release and we're happy with the Dart API.

Corresponding Dart CL:
https://dart-review.googlesource.com/c/sdk/+/429920

Issue:

* https://github.com/flutter/flutter/issues/129757

Project: https://github.com/orgs/dart-lang/projects/99/
2025-05-21 16:54:42 +00:00
Jonah Williams
efc27a570e
[Impeller] disable gl ext render to texture on vivante. (#169153)
Found code in ANGLE that seems to indicate there are known crashes with
vivnate drivers using gl_ext_render_to_texture. Landing to see if it
fixes https://github.com/flutter/flutter/issues/167850 which we don't
have a device to test for.
2025-05-21 16:53:08 +00:00
Muhammad Kamel
dd671fae53
fix(widget_inspector): add null check for flex factor property to prevent exception (#167890)
Null check exception appears while opening Widget Inspector as the
attached screenshots and video.



![null_check_flex_factor](https://github.com/user-attachments/assets/325ee0b6-7c95-40bf-a717-e6eb354f9ad6)


https://github.com/user-attachments/assets/a250765a-0bb4-4b45-9451-db4b51347ca2

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Ben Konyi <bkonyi@google.com>
2025-05-21 15:33:24 +00:00
Polina Cherkasova
61fe9b6b67
Unpin leak_tracker. (#169079)
Now, when leak_tracker bots are stable, leak_tracker can be unpinned.
2025-05-21 14:12:01 +00:00
sutes-work
58888f89b7
runtime/dart: fuchsia::io::MODE_TYPE_FILE -> V_TYPE_FILE (#168952)
fuchsia::io::MODE_TYPE_FILE is deprecated and V_TYPE_FILE is the correct
constant anyway.

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

An upcoming change to the Fuchsia SDK will remove the
`fuchsia::io::MODE_TYPE_…` constants. This PR changes
`fuchsia::io::MODE_TYPE_FILE` to `V_TYPE_FILE` (which is actually the
correct constant to use in this case anyway). The constant has the same
value.

## 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]. *n/a: I am a Googler*
- [x] I listed at least one issue that this PR fixes in the description
above. *trivial change*
- [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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-21 14:11:09 +00:00
Matan Lurey
5458f42782
Remove isExplicitPackageDependenciesEnabled: true, it is the default. (#169156)
This flag has been enabled by default for quite some time in `master`,
and in the current `stable`.

This is the first of many PRs to get rid of the flag and the deprecated
code it is guarding.
2025-05-21 04:26:10 +00:00
flutter-pub-roller-bot
cf1004028c
Roll pub packages (#169181)
This PR was generated by `flutter update-packages --force-upgrade`.
2025-05-21 03:22:27 +00:00
yim
86f6c72995
Fix the issue with Tooltip (#168546)
Fixes #168545.
Fixes #168445.

## 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.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-20 20:23:07 +00:00
Daco Harkes
899d6e9df6
[native assets] Roll dependencies (#169073)
Roll deps to the ones released today.
2025-05-20 20:14:16 +00:00
Matan Lurey
e2a6a1fd0b
Add documentation for experimental branches, update artifacts. (#169109)
I still need to get the Firebase short URL, but PTAL.
2025-05-20 20:14:13 +00:00
Kevin Moore
b3130ee78e
[flutter_tool] Remove unused environment flags in JS compiler (#169097)
Removes things left over from refactoring in
5a9fa1e7bf
2025-05-20 20:14:09 +00:00
Ben Konyi
df5f110325
Add support for hiding widget subtrees from the widget inspector (#169007)
This PR introduces two new widgets:

- `DisableWidgetInspectorScope`, which hides its children from the
widget inspector
- `EnableWidgetInspectorScope`, which makes its children available to
the widget inspector

These widgets are used to inform the `WidgetInspectorService`'s
`InspectorSerializationDelegate` when it should be omitting
`DiagnosticableNodes` from the response when building the root widget
tree for the inspector.

This functionality is meant to be used by developer tooling and packages
that want to prevent unnecessary implementation details from polluting
the inspector and possibly confusing end users.

This change also includes some minor updates to the Widget Preview
scaffolding template to hide the scaffold's implementation details and
only show details for the previews defined by the user.

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

**Widget Previewer Demo**
<img width="1606" alt="image"
src="https://github.com/user-attachments/assets/eb23160e-01c5-413f-b1d2-97985ced9ef9"
/>
2025-05-20 20:14:03 +00:00
engine-flutter-autoroll
c04cd2b18e
Roll Fuchsia GN SDK from jsZSHIOmQAs3URvWU... to _tkqOQZ2qB5CxDe57... (#169113)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-gn-sdk-flutter
Please CC aaclarke@google.com,chrome-fuchsia-engprod@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
2025-05-20 06:31:18 +00:00
Matan Lurey
35f337ecb4
Skip running Linux fuchsia_test on non-master channel. (#169106)
We already don't build engine artifacts, so it's a matter of time until
this stopped working.

Towards https://github.com/flutter/flutter/issues/169101.

(Need to CP this into 3.32 and 3.33)
2025-05-20 00:50:19 +00:00
engine-flutter-autoroll
b98b1e3ad4
Roll Skia from c97451da059f to 13a299964c9f (61 revisions) (#169099)
Roll Skia from c97451da059f to 13a299964c9f (61 revisions)

https://skia.googlesource.com/skia.git/+log/c97451da059f..13a299964c9f

2025-05-19 thomsmit@google.com [graphite] Add
AccessPattern::kGpuOnlyCopySrc
2025-05-19
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-19 borenet@google.com [SkPathBuilder] Add missing docstrings and
tests
2025-05-19 bungeman@google.com Change LinearGradientInfo::fColors to
SkColor4f
2025-05-19 kjlubick@google.com Fix implicit copy constructor in
SkRecorder
2025-05-19 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 96085ee3c6cc to f70c1194c173 (1 revision)
2025-05-18 robertphillips@google.com [graphite] Enable
AndroidPrecompileTest on Vulkan jobs
2025-05-18 skia-autoroll@skia-public.iam.gserviceaccount.com Manual roll
ANGLE from db71e8fa7c26 to 5fd79e6a2ce8 (11 revisions)
2025-05-18 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
Update SKP version
2025-05-16 kjlubick@google.com Fix fontations, icu4x, and vello rust
builds
2025-05-16 bungeman@google.com Roll FreeType from 5d4e649f to 7172bd11
(112 commits)
2025-05-16 borenet@google.com [SkPathBuilder] Add methods needed for
migrating Skia call sites
2025-05-16 danieldilan@google.com Implement drawCoverageMask for Ganesh
2025-05-16 kjlubick@google.com Add initial implementation of
SkRasterContext and SkRasterRecorder
2025-05-16 borenet@google.com [SkPathBuilder] Guard SkPath methods with
out-params behind SK_HIDE_PATH_EDIT_METHODS
2025-05-16 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from cc02a537e965 to db71e8fa7c26 (18 revisions)
2025-05-16 jsimmons@google.com Fix shift of the blue component in
store_1010102_xr
2025-05-16 jamesgk@google.com [graphite] Guard solid color expression
lifting
2025-05-15 bungeman@google.com Roll Expat from 624da0f5 to 8e49998f
(3866 commits)
2025-05-15 lehoangquyen@google.com GraphiteDawn: support rendering with
smaller MSAA texture.
2025-05-15 michaelludwig@google.com [graphite] Allow identity CS xforms
in runtime effects
2025-05-15 bungeman@google.com Roll HarfBuzz from ca3cd48f to 4e767271
(792 commits)
2025-05-15 jvanverth@google.com [graphite] Fix for Clip key collision
2025-05-15 thomsmit@google.com [graphite] Fix ARM padding perf
regressions.
2025-05-15 nicolettep@google.com [graphite] Update naming to reflect
that VulkanFramebuffers can be cached
2025-05-15 nicolettep@google.com Fix typo in viewer menu
2025-05-15 thomsmit@google.com [graphite] Make DrawBufferManager buffer
sizes a recorder option.
2025-05-15 jamesgk@google.com [graphite] Set interpolation for lifted
expression varyings
2025-05-15 bungeman@google.com Fix
SkAndroidFrameworkUtils::ShaderAsALinearGradient
2025-05-15
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE
from e4ec23a0e5f2 to cc02a537e965 (14 revisions)
2025-05-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll
SwiftShader from 930d46d31b5d to 96085ee3c6cc (1 revision)
2025-05-15
recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com
Roll recipe dependencies (trivial).
2025-05-14 robertphillips@google.com [graphite] Address oddity in
PaintParamsKey building
2025-05-14 jamesgk@google.com Ignore tests that read pixels in Protected
configs
2025-05-14 kylechar@google.com Change use_user_defined_labels_in_backend
toggle
2025-05-14 bungeman@google.com [pdf] Respect
kInterpolateColorsInPremul_Flag
2025-05-14 jamesgk@google.com [graphite] Support lifting from runtime
shader children
2025-05-14 bungeman@google.com Change GradientInfo::fColors to SkColor4f
2025-05-14 michaelludwig@google.com [sksl] Skip inline statement limit
for modules
2025-05-14 nicolettep@google.com [graphite] Add noncoherent advanced
blend mode support
2025-05-14 robertphillips@google.com [graphite] Add YCbCr to Precompile
2025-05-14 robertphillips@google.com [graphite][vulkan] Simplify render
pass key
2025-05-14 michaelludwig@google.com [graphite] Simplify LocalMatrix
shader expression w/ and w/o perspective
2025-05-14 jamesgk@google.com Reland "[graphite] Lift solid color shader
expressions"
2025-05-14 kjlubick@google.com Document instantiateWasm in
CanvasKitInitOptions
...
2025-05-19 23:13:37 +00:00
maRci002
0b9225afdf
Shared element transition for predictive back (#154718)
This PR adds a shared element transition for predictive back navigation,
based on the specification found here:
https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition.

A new transition builder added:
`PredictiveBackPageSharedElementTransitionsBuilder`, which constructs
the shared element transition version.

<details><summary>Code sample</summary>

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

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        brightness: Brightness.light,
        pageTransitionsTheme: const PageTransitionsTheme(
          builders: {
            TargetPlatform.android: PredictiveBackPageSharedElementTransitionsBuilder(),
          },
        ),
      ),
      home: const FirstScreen(),
    );
  }
}

class FirstScreen extends StatelessWidget {
  const FirstScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('First Screen'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            Navigator.of(context).push(
              MaterialPageRoute(builder: (_) => const SecondScreen()),
            );
          },
          child: const Text('Go to Second Screen'),
        ),
      ),
    );
  }
}

class SecondScreen extends StatelessWidget {
  const SecondScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Theme(
      data: ThemeData(brightness: Brightness.dark),
      child: Scaffold(
        appBar: AppBar(
          title: const Text('Second Screen'),
        ),
        body: const Center(
          child: Text('Hello, Predictive back!'),
        ),
      ),
    );
  }
}
```

</details>


[predictive_back_shared_element.webm](https://github.com/user-attachments/assets/1194cf09-c64f-4b1f-aa3f-10feb0ef12bd)

Partial fix for #153577

---------

Co-authored-by: Justin McCandless <jmccandless@google.com>
2025-05-19 22:06:58 +00:00
Srujan Gaddam
fcfbe83be9
Fix DDC library bundle format test files to correctly pass flags (#169095)
Fixes a couple issues:
- Passes --web-experimental-hot-reload when library bundle format is
enabled.
- Passes chrome id only if chrome is enabled.
- Makes sure common code is run with VM and chrome.

## 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].
- [ ] 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.
2025-05-19 22:05:15 +00:00
Littlegnal
77abe867e8
Clean up redundant new line in the GPUSurfaceGLSkia constructor initializer list (#169031)
Clean up redundant new line in the `GPUSurfaceGLSkia` constructor
initializer list

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2025-05-19 21:23:32 +00:00
Loïc Sharma
4b1d2644cb
Fix keyboard_hot_restart_ios flakes (#168518)
The keyboard hot restart test does these steps:

1. It launches an app that forces the keyboard to be visible
2. It checks that the keyboard is visible by examining the app's logs
3. It updates the app to no longer force the keyboard to be visible and
hot restarts the app
4. It checks that the keyboard is no longer visible by examining the
app's logs

Previously, the test app printed the keyboard status whenever the app
rebuilt. The test would move on as soon as it saw a log that indicates
the keyboard was in the expected state. However, since the app could log
the keyboard's visibility _before_ the Dart VM was available, hot
restart commands could be ignored (or at least, that's my theory from
the DeviceLab logs).

Now, the test app prints the keyboard status non-stop. The test now
waits until the Dart VM is available before checking if the logs
indicate the keyboard is open. Also, the test now waits until the hot
restart has completed before checking if the keyboard is closed. In
theory, this should ensure that hot restart does not happen until after
the Dart VM is available.

Follow-up to: https://github.com/flutter/flutter/pull/167013
Part of: https://github.com/flutter/flutter/issues/10713

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-19 19:05:09 +00:00
Mohellebi abdessalem
ad5c849276
fix android studio lint about lambda argument (#168901)
![ok](https://github.com/user-attachments/assets/f7b3fcb9-def6-49a9-bbbe-365ae8d84ed6)
## 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 followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-19 18:08:03 +00:00
Littlegnal
80f5de5da9
Fix typo in gpu_surface_gl_impeller.cc (#168395)
This PR fixes a typo in `gpu_surface_gl_impeller.cc`
encode_calback -> encode_callback

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-19 18:03:16 +00:00
Emmanuel Ferdman
0bd6394025
Modernize system executable detection across components (#169018)
# PR Summary
This small PR resolves deprecation warnings caused by the use of
`distutils.spawn.find_executable`:
```python
DeprecationWarning: Use shutil.which instead of find_executable
```
Please note that `find_executable` is deprecated from Python 3.10 and
removed in 3.12. `shutil.which` available since Python 3.3.

## 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].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-19 18:03:16 +00:00
Sirui Qu
5bcde8fa7b
Update documentation for Size and Rect classes (#168031)
Update documentation for `Size` and `Rect` classes in geometry.dart to
correct references for `centerRight` and `bottomCenter` methods.

Co-authored-by: stuuupidcat <stuuupidcat.3@gmail.com>
2025-05-19 17:58:15 +00:00
Taha Tesser
559c314ba3
Update the RangeSlider widget to the 2024 Material Design appearance (#163736)
Fixes [Update `RangeSlider` for Material 3
redesign](https://github.com/flutter/flutter/issues/162505)

### Description

This PR updates `RangeSlider` with `year2023` flag which can be used to
opt into the 2024 `RangeSlider design appearance.

### Code Sample

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

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

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

class RangeSliderExampleApp extends StatelessWidget {
  const RangeSliderExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        sliderTheme: const SliderThemeData(
          showValueIndicator: ShowValueIndicator.always,
        ),
      ),
      home: Scaffold(
        appBar: AppBar(title: const Text('RangeSlider Sample')),
        body: const RangeSliderExample(),
      ),
    );
  }
}

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

  @override
  State<RangeSliderExample> createState() => _RangeSliderExampleState();
}

class _RangeSliderExampleState extends State<RangeSliderExample> {
  RangeValues _currentRange1Values = const RangeValues(20.0, 60.0);
  RangeValues _currentRange2Values = const RangeValues(30.0, 80.0);

  @override
  Widget build(BuildContext context) {
    return Column(
      spacing: 20.0,
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        RangeSlider(
          year2023: false,
          values: _currentRange1Values,
          max: 100,
          onChanged: (RangeValues values) {
            setState(() {
              _currentRange1Values = values;
            });
          },
        ),
        RangeSlider(
          year2023: false,
          values: _currentRange2Values,
          max: 100,
          divisions: 10,
          labels: RangeLabels(
            _currentRange2Values.start.round().toString(),
            _currentRange2Values.end.round().toString(),
          ),
          onChanged: (RangeValues values) {
            setState(() {
              _currentRange2Values = values;
            });
          },
        ),
      ],
    );
  }
}
```

</details>

| Preview 1 | Preview 2 |
| --------------- | --------------- |
| <img
src="https://github.com/user-attachments/assets/e14a1b04-4e32-4b37-b2f5-2d2001f53114"/>
| <img
src="https://github.com/user-attachments/assets/aad36529-d576-4ec7-b2e5-49c9387456be"/>
|


# Custom track gap and thumb size 

<img width="343" alt="Screenshot 2025-02-20 at 15 26 09"
src="https://github.com/user-attachments/assets/06c09679-1df8-4380-b3e6-c4add8f0cc42"
/>
<img width="338" alt="Screenshot 2025-02-20 at 15 27 19"
src="https://github.com/user-attachments/assets/6226c515-f96b-412a-b59e-cafd2fba0515"
/>

                

## 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].
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-19 17:10:12 +00:00
engine-flutter-autoroll
25692db528
Roll Packages from 58d401608590 to af0b9a941dd3 (5 revisions) (#169075)
58d4016085...af0b9a941d

2025-05-19 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_android][webview_flutter_wkwebview] Adds support to
respond to recoverable SSL certificate errors (flutter/packages#9281)
2025-05-19 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20250107 to 20250517 in
/packages/in_app_purchase/in_app_purchase_android/example/android/app
(flutter/packages#9283)
2025-05-19 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20250107 to 20250517 in
/packages/in_app_purchase/in_app_purchase/example/android/app
(flutter/packages#9282)
2025-05-16 10687576+bparrishMines@users.noreply.github.com
[webview_flutter_platform_interface] Adds support to respond to
recoverable SSL certificate errors (flutter/packages#9248)
2025-05-16 10687576+bparrishMines@users.noreply.github.com
[webview_flutter] Adds support to control whether to draw scrollbars
(flutter/packages#9024)

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 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
2025-05-19 17:03:37 +00:00
Sigurd Meldgaard
b23840d044
Only bundle assets and plugins from transitive closure of dependencies (#160443)
Fixes https://github.com/dart-lang/pub/issues/4486
Fixes https://github.com/dart-lang/pub/issues/4473
Fixes https://github.com/flutter/flutter/issues/79261
Fixes https://github.com/flutter/flutter/issues/160142
Fixes https://github.com/flutter/flutter/issues/155242

Use the new `.dart_tool/package_graph.json` file to compute the
dependency graph. Determining

* which are transitive dependencies of the main app's direct and
dev-dependencies, (not other packages from the workspace)
* which of these are only in the transitive set of the direct
dependencies

Bundles assets from dev_dependencies when running `flutter test`, but
not otherwise.
2025-05-19 15:30:58 +00:00
Victoria Ashworth
63f9060fb0
Make FlutterGeneratedPluginSwiftPackage an Xcode root package (#168789)
This PR makes the `FlutterGeneratedPluginSwiftPackage` swift package an
Xcode root package. A root package is one that is within the Xcode
project as a file reference. See image below:

![Screenshot 2025-05-14 at 2 54
28 PM](https://github.com/user-attachments/assets/c7cd7738-0f1a-4409-a7d1-f3d914a840d9)

This change makes it so that when the
`FlutterGeneratedPluginSwiftPackage` changes, if Xcode is also open,
Xcode will automatically re-resolve the package. This makes Xcode use
the new version instead of whatever it had cached.

Fixes https://github.com/flutter/flutter/issues/162399 and incremental
change towards https://github.com/flutter/flutter/issues/166489.

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-19 15:27:33 +00:00
Huy
154146d0dd
docs: Update deprecation message for Slider.year2023 (#169053)
Fix https://github.com/flutter/flutter/issues/168637

The `Slider.year2023` documentation in the constructor message wasn't
updated/synced, leading to confusion. It should follow the information
presented in SliderThemeData:


b44f00cca6/packages/flutter/lib/src/material/slider_theme.dart (L302-L307)

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

Signed-off-by: huycozy <huy@nevercode.io>
2025-05-19 07:06:07 +00:00
Chris Bracken
e27377ef4d
macOS: port ResizeSynchronizer to Swift (#168959)
This patch:
* migrates FlutterResizeSynchronizer from Objective-C to Swift.
* reorders the performCommit parameters to support trailing closure
syntax in Swift.
* adds an optional onTimeout parameter to
ResizeSynchronizer.beginResize.
* adds test coverage for the timeout case.
* significantly improves the class documentation.
* adds the first Swift Testing tests for the macOS embedder.
* adds the new tests to run_test.py.

Admittedly, the original purpose was just to add a class that we could
write Swift tests for, but things got a bit out of hand.

Issue: https://github.com/flutter/flutter/issues/168564
Issue: https://github.com/flutter/flutter/issues/144791

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-18 19:07:08 +00:00
engine-flutter-autoroll
a682cf27b2
Roll Dart SDK from dc323ec0c1a3 to 7c40eba6bf77 (3 revisions) (#169024)
https://dart.googlesource.com/sdk.git/+log/dc323ec0c1a3..7c40eba6bf77

2025-05-17 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-138.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-137.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-136.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC aaclarke@google.com,dart-vm-team@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
2025-05-17 04:54:34 +00:00
Parker Lougheed
99159bdcfa
[tool] Remove unused reportNullSafety getter (#168484)
Removes the `FlutterCommand.reportNullSafety` getter and its overrides
as it's no longer used due to Flutter and the tool only supporting sound
null safety.

This PR is automatically test exempt due to only removing code.

## 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.

[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-17 01:21:26 +00:00
jacobsimionato
e74b5da782
Add flag to skip bundling extension safe builds in frameworks for DDM (#168955)
This attempts to resolve an error like:

```
Cannot find extension safe iOS arm64 Framework at /Volumes/Work/s/w/ir/cache/builder/engine/src/out/ci/ios_debug_ddm_extension_safe/Flutter.framework
ERROR: binaries listed in entitlements.txt, without_entitlements.txt, andunsigned_binaries.txt do not match the set of binaries in the files to be zipped
Binaries found in files to be zipped:
    Flutter.xcframework/ios-arm64/Flutter.framework/Flutter
    Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter
    gen_snapshot_arm64
Binaries listed in entitlements.txt, without_entitlements.txt, unsigned_binaries.txt but NOT FOUND:
    extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter
    extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter
```

This was coming from
[create_ios_framework.py](6de5aed91f/engine/src/flutter/sky/tools/create_ios_framework.py)
which assumes that extension safe frameworks are being built.

I verified that this works using the following:

```sh
et build --config ci/ios_debug_sim_ddm && \
    et build --config ci/ios_debug_sim_arm64_ddm && \
    et build --config ci/ios_debug_ddm && \
    et build --config ci/ios_release_ddm

python3 \
  engine/src/flutter/sky/tools/create_ios_framework.py \
  --dst \
  out/debug_ddm \
  --arm64-out-dir \
  out/ci/ios_debug_ddm \
  --simulator-x64-out-dir \
  out/ci/ios_debug_sim_ddm \
  --simulator-arm64-out-dir \
  out/ci/ios_debug_sim_arm64_ddm \
  --no-extension-safe-frameworks
  ```
2025-05-17 00:10:45 +00:00
chunhtai
56bfc03a09
Fixes Navigator calls onPopInvokedWithResult when onPopPage return false (#168567)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

as title

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-16 23:08:21 +00:00
Gray Mackall
8463d5e87d
[hcpp/hc] Fix talkback for HC and HCPP Android platform views (#168939)
See the description here:
https://github.com/flutter/flutter/issues/113626#issuecomment-2884997160

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

Also, I think we can probably improve the behavior here to respect what
the original view's accessibility importance was, by storing what we are
overwriting at creation time, and then using that later when we undo
what we do at creation time. As is it seems like there would be no way
for a developer to _actually_ set their view to be not important for
accessibility, we are basically forcing them in to auto. Can look into
that in a follow up.

## 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.
- [ ] 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md

---------

Co-authored-by: Gray Mackall <mackall@google.com>
2025-05-16 22:46:38 +00:00
Jonah Williams
085ca9ed33
[Impeller] separate immutable sampler descriptors. (#169011)
The descriptor set for the immutable sampler may need to be different
than the non-immutable sampler variant. Make the pipeline key signed and
use the sign bit to indicate immutable sampler.

Fixes https://github.com/flutter/flutter/issues/168114
2025-05-16 22:39:56 +00:00
Onnimanni Hannonen
4065d3c7ee
TextField magnifier stuck on long press cancel (#167881)
<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

## Fixes #167879

This PR fixes bug where magnifier and floating cursor get stuck on
screen when long press is cancelled (eg. by closing the app).

## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-16 22:39:54 +00:00
Bruno Leroux
358e2f003d
Fix Chip delete button semantic bounds (#168310)
## Description

This PR fixes Chip's delete icon semantic tap target.
Chip implementation extends the hit area of the delete icon but it did
not expand the semantic bounds.

### Before


![image](https://github.com/user-attachments/assets/5bcc87dc-6379-456d-a5d6-d3f30c7fda8a)

### After


![image](https://github.com/user-attachments/assets/af9b400c-91b6-4c26-a021-3c812a2b2a78)

## Related Issue

Fixes [Chip delete button tap target does not meet platform recommended
tap target size](https://github.com/flutter/flutter/issues/94098)

## Tests

Adds 1 test.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com>
2025-05-16 22:39:54 +00:00
engine-flutter-autoroll
25e8e074cf
Roll Fuchsia Linux SDK from Jj-iDG5uPOsFgY2_H... to XtPp9bBW49iDJ0wbA... (#169009)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-linux-sdk-flutter
Please CC aaclarke@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
2025-05-16 21:33:26 +00:00
Ben Konyi
4baf4b4d1c
[ Widget Preview ] Refactor @Preview() detection and code generation (#168307)
This change makes the detection of `@Preview(...)` annotations more
robust by converting the analyzer AST directly to generated code rather
than simply copying and pasting the original source. This allows for
proper handling of the following cases WRT import prefixing:

  - The use of `const`
  - String interpolation
  - Other uses of constant variables in non-trivial contexts
  - Etc.
2025-05-16 19:59:25 +00:00
engine-flutter-autoroll
7568202d89
Roll Packages from 2dff6213a892 to 58d401608590 (2 revisions) (#168999)
2dff6213a8...58d4016085

2025-05-16 august.oberhauser@swissinfo.ch [webview_flutter_android]
feat: Expose setUseWideViewPort on Android (#106999)
(flutter/packages#9151)
2025-05-15 engine-flutter-autoroll@skia.org Roll Flutter from
0b9f9288caf3 to 9a78af5eb067 (26 revisions) (flutter/packages#9259)

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 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
2025-05-16 19:23:16 +00:00
Matan Lurey
456071cd00
Remove unittests from windows_host_engine GN targets. (#168991)
Closes https://github.com/flutter/flutter/issues/168990.

Will shave a few minutes off builds, particularly in resource sensitive
environments like releases.
2025-05-16 18:37:05 +00:00
Jessy Yameogo
b41c8e022b
Fix bug with debugging support code not getting injected on edge devices (#168073)
This PR addresses
[flutter/flutter#167102](https://github.com/flutter/flutter/issues/167102),
where debugging support code was not being properly injected when
running on Edge `flutter run -d edge`. The issue was due to missing
conditions in the injection logic that prevented the debugger service
from initializing correctly in this environment.

This change ensures that debugging support is consistently injected when
connected devices are present and the user has selected one of them.

fix https://github.com/flutter/flutter/issues/167102.
2025-05-16 18:33:31 +00:00
engine-flutter-autoroll
3c6f74c799
Roll Dart SDK from a1db62a5dd14 to dc323ec0c1a3 (4 revisions) (#168989)
https://dart.googlesource.com/sdk.git/+log/a1db62a5dd14..dc323ec0c1a3

2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-135.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-134.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-133.0.dev
2025-05-16 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com
Version 3.9.0-132.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter
Please CC aaclarke@google.com,dart-vm-team@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
2025-05-16 18:01:05 +00:00
Mitchell Goodwin
57dd0de38c
Resolve Cupertino textstyle in MaterialBasedCupertinoThemeData (#167597)
Fixes #146864. The overridden resolve was keeping the Cupertino text
styles from resolving their dynamic colors depending on the theme
brightness when in a MaterialApp in most cases. I *believe* that this
was to keep values from the Material theme from changing, but as far as
I can tell that shouldn't affect anything in the current state and that
is 6 year old code. Waiting to see if tests make me a liar.

Update: tests made me a liar.

Before (text should be showing):
<img width="423" alt="Screenshot 2025-04-22 at 1 58 53 PM"
src="https://github.com/user-attachments/assets/0aabf6cf-2c25-4446-8d12-69e745f26be0"
/>

After:
<img width="418" alt="Screenshot 2025-04-22 at 1 59 16 PM"
src="https://github.com/user-attachments/assets/ea9958bb-4470-4f16-b5ca-f149be1301b1"
/>


## 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/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#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/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
2025-05-16 17:29:12 +00:00