11 Commits

Author SHA1 Message Date
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