Loïc Sharma
d248a651b6
Add flutter_lints to samples ( #179091 )
...
I recommend reviewing each commit individually.
The following were suppressed instead of migrated to minimize the time
the tree is closed:
1. The [`Radio` -> `RadioGroup`
migration](https://docs.flutter.dev/release/breaking-changes/radio-api-redesign ).
Tracked by: https://github.com/flutter/flutter/issues/179088 .
Part of: https://github.com/flutter/flutter/issues/178827
## 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].
**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code ).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.
<!-- 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-11-26 22:11:20 +00:00
Justin McCandless
2c031ed023
Reland predictive back route transitions by default ( #173860 )
...
Relands https://github.com/flutter/flutter/pull/165832 by reverting
flutter/flutter#173809 .
2025-08-15 22:40:14 +00:00
auto-submit[bot]
0e57a627f5
Reverts "Predictive back route transitions by default ( #165832 )" ( #173809 )
...
<!-- start_original_pr_link -->
Reverts: flutter/flutter#165832
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: matanlurey
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Breaks `Linux_pixel_7pro
embedded_android_views_integration_test`:
-
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20embedded_android_views_integration_test/8918/overview
-
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_pixel_7pro%20embedded_android_views_integration_test/8917/overview
```txt
[2025-08-14 16:01:17.600761] [STDOUT] stdout: [ +1 ms] Expecte
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: justinmc
<!-- end_original_pr_author -->
<!-- start_reviewers -->
Reviewed By: {QuncCccccc}
<!-- end_reviewers -->
<!-- start_revert_body -->
This change reverts the following previous change:
This PR turns on predictive back route transitions by default on supported Android devices.
With https://github.com/flutter/flutter/pull/154718 , the default (PredictiveBackPageTransitionsBuilder) is the [shared element transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition ). The [full screen transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#full-screen-surfaces ) is also available by using PredictiveBackFullScreenPageTransitionsBuilder.
Original PR: https://github.com/flutter/flutter/pull/146788
Depends on: https://github.com/flutter/flutter/pull/154718
When this lands in stable, the docs should be updated: https://docs.flutter.dev/platform-integration/android/predictive-back
<!-- end_revert_body -->
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2025-08-14 23:38:48 +00:00
Justin McCandless
d1e2019a94
Predictive back route transitions by default ( #165832 )
...
This PR turns on predictive back route transitions by default on
supported Android devices.
With https://github.com/flutter/flutter/pull/154718 , the default
(PredictiveBackPageTransitionsBuilder) is the [shared element
transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#shared-element-transition ).
The [full screen
transition](https://developer.android.com/design/ui/mobile/guides/patterns/predictive-back#full-screen-surfaces )
is also available by using
PredictiveBackFullScreenPageTransitionsBuilder.
Original PR: https://github.com/flutter/flutter/pull/146788
Depends on: https://github.com/flutter/flutter/pull/154718
When this lands in stable, the docs should be updated:
https://docs.flutter.dev/platform-integration/android/predictive-back
2025-08-14 20:39:12 +00:00
Justin McCandless
9b93519698
Route transition duration ( #171109 )
...
We need a robust way to get the duration of a route transition in tests,
so that tests can remain independent of the type of route transition and
its duration.
With this PR, this will be the canonical way to pump until a page
transition has finished:
```dart
testWidgets('example', (WidgetTester tester) async {
final TransitionDurationObserver observer = TransitionDurationObserver();
await tester.pumpWidget(
MaterialApp(
navigatorObservers: <NavigatorObserver>[observer],
onGenerateRoute: (RouteSettings settings) { ... },
),
);
expect(find.text('Page 1'), findsOneWidget);
expect(find.text('Page 2'), findsNothing);
// Pump through the whole transition.
await tester.tap(find.text('Next'));
await observer.pumpPastTransition(tester);
expect(find.text('Page 1'), findsNothing);
expect(find.text('Page 2'), findsOneWidget);
// Or, pump through part of a transition with the duration.
await tester.tap(find.text('Back'));
await tester.pump(observer.transitionDuration ~/ 2);
expect(find.text('Page 1'), findsOneWidget);
expect(find.text('Page 2'), findsOneWidget);
});
```
This was spun out of https://github.com/flutter/flutter/pull/165832 ,
where updating the default route transition and its duration broke tests
in the framework, in customer tests, and in Google tests.
FYI @chrisbobbe
---------
Co-authored-by: Jing Shao <87506348+jingshao-code@users.noreply.github.com>
2025-07-14 22:49:04 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework ( #160545 )
...
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.
**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.
---------
Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Hans Muller
0d4b5ae122
Dev, examples/api, etc updated for Material 3 by default ( #129683 )
...
Updated tests in dev, examples/api, and tests/widgets to ensure that
they continue to pass when the default for `ThemeData.useMaterial3` is
changed to true.
This is the final set of changes required for
https://github.com/flutter/flutter/issues/127064 .
2023-06-28 09:41:58 -07:00
Qun Cheng
c0c3874c77
Revert "Reland: Set IconButton.visualDensity default to VisualDensity.standard ( #109432 )" ( #110119 )
...
This reverts commit 79013b2be8d5e726bb4447bce665f63b5eb9308a.
2022-08-23 15:41:03 -07:00
Qun Cheng
79013b2be8
Reland: Set IconButton.visualDensity default to VisualDensity.standard ( #109432 )
...
* Revert "Revert "Set `IconButton.visualDensity` default to `VisualDensity.standard` (#109349 )" (#109421 )"
Co-authored-by: Qun Cheng <quncheng@google.com>
2022-08-18 09:46:13 -07:00
Qun Cheng
625d96a1c6
Revert "Set IconButton.visualDensity default to VisualDensity.standard ( #109349 )" ( #109421 )
...
This reverts commit 3070baf17581b50b6b9327fd2b682a6742db04e0.
2022-08-11 15:29:19 -07:00
Qun Cheng
3070baf175
Set IconButton.visualDensity default to VisualDensity.standard ( #109349 )
...
* Set IconButton's visualDensity to standard
Co-authored-by: Qun Cheng <quncheng@google.com>
2022-08-11 10:59:51 -07:00
Taha Tesser
eef4aa7caa
Hero: Add an example for createRectTween (#102650 )
2022-04-29 12:39:09 -07:00