Repository navigation
Fix TabBar glitchy elastic Tab animation - #161514
Conversation
justinmc
left a comment
There was a problem hiding this comment.
LGTM 👍 minus some failures. Looks great in the video. And good use of AnimationSheetBuilder.
|
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Fixes [M3 TabBar indicator animation broken both when swiping or tapping](flutter#160631) ### Description This refactors the elastic `Tab` animation. Added additional tests that follows the elastic animation frame by frame and generates a golden file. ### Code Sample <details> <summary>expand to view the code sample</summary> ```dart import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({super.key}); @OverRide Widget build(BuildContext context) { // timeDilation = 10; return MaterialApp( home: ScrollConfiguration( behavior: ScrollConfiguration.of(context).copyWith(dragDevices: <PointerDeviceKind>{ PointerDeviceKind.touch, PointerDeviceKind.mouse, }), child: Directionality( textDirection: TextDirection.ltr, child: DefaultTabController( length: 8, child: Scaffold( appBar: AppBar( bottom: const TabBar( isScrollable: true, tabAlignment: TabAlignment.start, tabs: <Widget>[ Tab(text: 'Home'), Tab(text: 'Search'), Tab(text: 'Add'), Tab(text: 'Favorite'), Tab(text: 'The longest text...'), Tab(text: 'Short'), Tab(text: 'Longer text...'), Tab(text: 'Profile'), ], ), ), body: const TabBarView( children: <Widget>[ Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), ], ), ), ), ), ), ); } } ``` </details> ### Before (`timeDilation = 10`) https://github.com/user-attachments/assets/4f69f94b-0bcf-4813-b49f-06ff411435ca ### After (`timeDilation = 10`) https://github.com/user-attachments/assets/65801c1c-d28f-4b42-870a-7140d5d3c4c3 | Before Test Results | After Test Results | | --------------- | --------------- | | <img src="https://github.com/user-attachments/assets/72ae9fbe-fef9-44a0-9b86-5a4c31fd39cf" /> | <img src="https://github.com/user-attachments/assets/2545f35e-ac03-495d-a33b-72b9bc71299b" /> | ## 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]. - [ ] 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
flutter/flutter@40c2b86...5517cc9 2025-01-15 [email protected] feat: Change default value of keyboardDismissBehavior (flutter/flutter#158580) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161680) 2025-01-15 [email protected] Revert "Autocomplete Options Width" (flutter/flutter#161666) 2025-01-15 [email protected] Update two_dimensional_scrollables triage routing (flutter/flutter#161667) 2025-01-15 [email protected] [DisplayList] Migrate from SkRSXform to Impeller RSTransform (flutter/flutter#161652) 2025-01-15 [email protected] Roll Packages from d1fd623 to f73cb00 (2 revisions) (flutter/flutter#161672) 2025-01-15 [email protected] Fix DropdownMenu isCollapsed decoration does not Reduce height (flutter/flutter#161427) 2025-01-15 [email protected] Manual roll of Skia to e7b8d078851f (flutter/flutter#161609) 2025-01-15 [email protected] Fix `TabBar` glitchy elastic `Tab` animation (flutter/flutter#161514) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161643) 2025-01-15 [email protected] Exclude the top-level `engine` directory from `generate_gradle_lockfiles`. (flutter/flutter#161635) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161632) 2025-01-15 [email protected] Refactor `android_engine_test`, make it easier to debug/deflake locally. (flutter/flutter#161534) 2025-01-15 [email protected] [Impeller] null check device buffer in image encoding. (flutter/flutter#161194) 2025-01-15 [email protected] Feature/twitter keyboard (flutter/flutter#161025) 2025-01-15 [email protected] Fixed XiaoMi statusBar Bug (flutter/flutter#161271) 2025-01-15 [email protected] Clean up engine's analysis_options.yaml (flutter/flutter#161554) 2025-01-14 [email protected] Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (flutter/flutter#161622) 2025-01-14 [email protected] [deps] remove no-longer-used repo deps (flutter/flutter#161605) 2025-01-14 [email protected] [DisplayList] remove obsolete use of Skia goemetry objects in DL utils (flutter/flutter#161553) 2025-01-14 [email protected] [Engine] Support asymmetrical rounded superellipses (flutter/flutter#161409) 2025-01-14 [email protected] [SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (flutter/flutter#161464) 2025-01-14 [email protected] [canvaskit] Fix GIF decode failure (flutter/flutter#161536) 2025-01-14 [email protected] [Impeller] fixes for AHB swapchains. (flutter/flutter#161562) 2025-01-14 [email protected] Last Engine<>Framework lint sync (flutter/flutter#161560) 2025-01-14 [email protected] Check that localization files of stocks app are up-to-date (flutter/flutter#161608) 2025-01-14 [email protected] [Android] Actually remove dev dependencies from release builds (flutter/flutter#161343) 2025-01-14 [email protected] Update package revisions to latest (flutter/flutter#161525) 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 Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
) Original PR: (flutter#161514) Fixes [M3 TabBar indicator animation broken both when swiping or tapping](flutter#160631) This refactors the elastic `Tab` animation. Added additional tests that follows the elastic animation frame by frame and generates a golden file. <details> <summary>expand to view the code sample</summary> ```dart import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({super.key}); @OverRide Widget build(BuildContext context) { // timeDilation = 10; return MaterialApp( home: ScrollConfiguration( behavior: ScrollConfiguration.of(context).copyWith(dragDevices: <PointerDeviceKind>{ PointerDeviceKind.touch, PointerDeviceKind.mouse, }), child: Directionality( textDirection: TextDirection.ltr, child: DefaultTabController( length: 8, child: Scaffold( appBar: AppBar( bottom: const TabBar( isScrollable: true, tabAlignment: TabAlignment.start, tabs: <Widget>[ Tab(text: 'Home'), Tab(text: 'Search'), Tab(text: 'Add'), Tab(text: 'Favorite'), Tab(text: 'The longest text...'), Tab(text: 'Short'), Tab(text: 'Longer text...'), Tab(text: 'Profile'), ], ), ), body: const TabBarView( children: <Widget>[ Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), ], ), ), ), ), ), ); } } ``` </details> https://github.com/user-attachments/assets/4f69f94b-0bcf-4813-b49f-06ff411435ca https://github.com/user-attachments/assets/65801c1c-d28f-4b42-870a-7140d5d3c4c3 | Before Test Results | After Test Results | | --------------- | --------------- | | <img src="https://github.com/user-attachments/assets/72ae9fbe-fef9-44a0-9b86-5a4c31fd39cf" /> | <img src="https://github.com/user-attachments/assets/2545f35e-ac03-495d-a33b-72b9bc71299b" /> | - [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]. - [ ] 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
Original PR: #161514 Cherry-pick issue: #161664 Original PR description below: Fixes [M3 TabBar indicator animation broken both when swiping or tapping](#160631) This refactors the elastic `Tab` animation. Added additional tests that follows the elastic animation frame by frame and generates a golden file. <details> <summary>expand to view the code sample</summary> ```dart import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({super.key}); @OverRide Widget build(BuildContext context) { // timeDilation = 10; return MaterialApp( home: ScrollConfiguration( behavior: ScrollConfiguration.of(context).copyWith(dragDevices: <PointerDeviceKind>{ PointerDeviceKind.touch, PointerDeviceKind.mouse, }), child: Directionality( textDirection: TextDirection.ltr, child: DefaultTabController( length: 8, child: Scaffold( appBar: AppBar( bottom: const TabBar( isScrollable: true, tabAlignment: TabAlignment.start, tabs: <Widget>[ Tab(text: 'Home'), Tab(text: 'Search'), Tab(text: 'Add'), Tab(text: 'Favorite'), Tab(text: 'The longest text...'), Tab(text: 'Short'), Tab(text: 'Longer text...'), Tab(text: 'Profile'), ], ), ), body: const TabBarView( children: <Widget>[ Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), Center(child: Text('Page')), ], ), ), ), ), ), ); } } ``` </details> https://github.com/user-attachments/assets/4f69f94b-0bcf-4813-b49f-06ff411435ca https://github.com/user-attachments/assets/65801c1c-d28f-4b42-870a-7140d5d3c4c3 | Before Test Results | After Test Results | | --------------- | --------------- | | <img src="https://github.com/user-attachments/assets/72ae9fbe-fef9-44a0-9b86-5a4c31fd39cf" /> | <img src="https://github.com/user-attachments/assets/2545f35e-ac03-495d-a33b-72b9bc71299b" /> | 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/ 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
flutter/flutter@40c2b86...5517cc9 2025-01-15 [email protected] feat: Change default value of keyboardDismissBehavior (flutter/flutter#158580) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161680) 2025-01-15 [email protected] Revert "Autocomplete Options Width" (flutter/flutter#161666) 2025-01-15 [email protected] Update two_dimensional_scrollables triage routing (flutter/flutter#161667) 2025-01-15 [email protected] [DisplayList] Migrate from SkRSXform to Impeller RSTransform (flutter/flutter#161652) 2025-01-15 [email protected] Roll Packages from d1fd623 to f73cb00 (2 revisions) (flutter/flutter#161672) 2025-01-15 [email protected] Fix DropdownMenu isCollapsed decoration does not Reduce height (flutter/flutter#161427) 2025-01-15 [email protected] Manual roll of Skia to e7b8d078851f (flutter/flutter#161609) 2025-01-15 [email protected] Fix `TabBar` glitchy elastic `Tab` animation (flutter/flutter#161514) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161643) 2025-01-15 [email protected] Exclude the top-level `engine` directory from `generate_gradle_lockfiles`. (flutter/flutter#161635) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161632) 2025-01-15 [email protected] Refactor `android_engine_test`, make it easier to debug/deflake locally. (flutter/flutter#161534) 2025-01-15 [email protected] [Impeller] null check device buffer in image encoding. (flutter/flutter#161194) 2025-01-15 [email protected] Feature/twitter keyboard (flutter/flutter#161025) 2025-01-15 [email protected] Fixed XiaoMi statusBar Bug (flutter/flutter#161271) 2025-01-15 [email protected] Clean up engine's analysis_options.yaml (flutter/flutter#161554) 2025-01-14 [email protected] Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (flutter/flutter#161622) 2025-01-14 [email protected] [deps] remove no-longer-used repo deps (flutter/flutter#161605) 2025-01-14 [email protected] [DisplayList] remove obsolete use of Skia goemetry objects in DL utils (flutter/flutter#161553) 2025-01-14 [email protected] [Engine] Support asymmetrical rounded superellipses (flutter/flutter#161409) 2025-01-14 [email protected] [SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (flutter/flutter#161464) 2025-01-14 [email protected] [canvaskit] Fix GIF decode failure (flutter/flutter#161536) 2025-01-14 [email protected] [Impeller] fixes for AHB swapchains. (flutter/flutter#161562) 2025-01-14 [email protected] Last Engine<>Framework lint sync (flutter/flutter#161560) 2025-01-14 [email protected] Check that localization files of stocks app are up-to-date (flutter/flutter#161608) 2025-01-14 [email protected] [Android] Actually remove dev dependencies from release builds (flutter/flutter#161343) 2025-01-14 [email protected] Update package revisions to latest (flutter/flutter#161525) 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 Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
flutter/flutter@40c2b86...5517cc9 2025-01-15 [email protected] feat: Change default value of keyboardDismissBehavior (flutter/flutter#158580) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161680) 2025-01-15 [email protected] Revert "Autocomplete Options Width" (flutter/flutter#161666) 2025-01-15 [email protected] Update two_dimensional_scrollables triage routing (flutter/flutter#161667) 2025-01-15 [email protected] [DisplayList] Migrate from SkRSXform to Impeller RSTransform (flutter/flutter#161652) 2025-01-15 [email protected] Roll Packages from d1fd623 to f73cb00 (2 revisions) (flutter/flutter#161672) 2025-01-15 [email protected] Fix DropdownMenu isCollapsed decoration does not Reduce height (flutter/flutter#161427) 2025-01-15 [email protected] Manual roll of Skia to e7b8d078851f (flutter/flutter#161609) 2025-01-15 [email protected] Fix `TabBar` glitchy elastic `Tab` animation (flutter/flutter#161514) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161643) 2025-01-15 [email protected] Exclude the top-level `engine` directory from `generate_gradle_lockfiles`. (flutter/flutter#161635) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161632) 2025-01-15 [email protected] Refactor `android_engine_test`, make it easier to debug/deflake locally. (flutter/flutter#161534) 2025-01-15 [email protected] [Impeller] null check device buffer in image encoding. (flutter/flutter#161194) 2025-01-15 [email protected] Feature/twitter keyboard (flutter/flutter#161025) 2025-01-15 [email protected] Fixed XiaoMi statusBar Bug (flutter/flutter#161271) 2025-01-15 [email protected] Clean up engine's analysis_options.yaml (flutter/flutter#161554) 2025-01-14 [email protected] Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (flutter/flutter#161622) 2025-01-14 [email protected] [deps] remove no-longer-used repo deps (flutter/flutter#161605) 2025-01-14 [email protected] [DisplayList] remove obsolete use of Skia goemetry objects in DL utils (flutter/flutter#161553) 2025-01-14 [email protected] [Engine] Support asymmetrical rounded superellipses (flutter/flutter#161409) 2025-01-14 [email protected] [SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (flutter/flutter#161464) 2025-01-14 [email protected] [canvaskit] Fix GIF decode failure (flutter/flutter#161536) 2025-01-14 [email protected] [Impeller] fixes for AHB swapchains. (flutter/flutter#161562) 2025-01-14 [email protected] Last Engine<>Framework lint sync (flutter/flutter#161560) 2025-01-14 [email protected] Check that localization files of stocks app are up-to-date (flutter/flutter#161608) 2025-01-14 [email protected] [Android] Actually remove dev dependencies from release builds (flutter/flutter#161343) 2025-01-14 [email protected] Update package revisions to latest (flutter/flutter#161525) 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 Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
flutter/flutter@40c2b86...5517cc9 2025-01-15 [email protected] feat: Change default value of keyboardDismissBehavior (flutter/flutter#158580) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161680) 2025-01-15 [email protected] Revert "Autocomplete Options Width" (flutter/flutter#161666) 2025-01-15 [email protected] Update two_dimensional_scrollables triage routing (flutter/flutter#161667) 2025-01-15 [email protected] [DisplayList] Migrate from SkRSXform to Impeller RSTransform (flutter/flutter#161652) 2025-01-15 [email protected] Roll Packages from d1fd623 to f73cb00 (2 revisions) (flutter/flutter#161672) 2025-01-15 [email protected] Fix DropdownMenu isCollapsed decoration does not Reduce height (flutter/flutter#161427) 2025-01-15 [email protected] Manual roll of Skia to e7b8d078851f (flutter/flutter#161609) 2025-01-15 [email protected] Fix `TabBar` glitchy elastic `Tab` animation (flutter/flutter#161514) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161643) 2025-01-15 [email protected] Exclude the top-level `engine` directory from `generate_gradle_lockfiles`. (flutter/flutter#161635) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161632) 2025-01-15 [email protected] Refactor `android_engine_test`, make it easier to debug/deflake locally. (flutter/flutter#161534) 2025-01-15 [email protected] [Impeller] null check device buffer in image encoding. (flutter/flutter#161194) 2025-01-15 [email protected] Feature/twitter keyboard (flutter/flutter#161025) 2025-01-15 [email protected] Fixed XiaoMi statusBar Bug (flutter/flutter#161271) 2025-01-15 [email protected] Clean up engine's analysis_options.yaml (flutter/flutter#161554) 2025-01-14 [email protected] Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (flutter/flutter#161622) 2025-01-14 [email protected] [deps] remove no-longer-used repo deps (flutter/flutter#161605) 2025-01-14 [email protected] [DisplayList] remove obsolete use of Skia goemetry objects in DL utils (flutter/flutter#161553) 2025-01-14 [email protected] [Engine] Support asymmetrical rounded superellipses (flutter/flutter#161409) 2025-01-14 [email protected] [SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (flutter/flutter#161464) 2025-01-14 [email protected] [canvaskit] Fix GIF decode failure (flutter/flutter#161536) 2025-01-14 [email protected] [Impeller] fixes for AHB swapchains. (flutter/flutter#161562) 2025-01-14 [email protected] Last Engine<>Framework lint sync (flutter/flutter#161560) 2025-01-14 [email protected] Check that localization files of stocks app are up-to-date (flutter/flutter#161608) 2025-01-14 [email protected] [Android] Actually remove dev dependencies from release builds (flutter/flutter#161343) 2025-01-14 [email protected] Update package revisions to latest (flutter/flutter#161525) 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 Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
flutter/flutter@40c2b86...5517cc9 2025-01-15 [email protected] feat: Change default value of keyboardDismissBehavior (flutter/flutter#158580) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161680) 2025-01-15 [email protected] Revert "Autocomplete Options Width" (flutter/flutter#161666) 2025-01-15 [email protected] Update two_dimensional_scrollables triage routing (flutter/flutter#161667) 2025-01-15 [email protected] [DisplayList] Migrate from SkRSXform to Impeller RSTransform (flutter/flutter#161652) 2025-01-15 [email protected] Roll Packages from 708b585 to d4bc414 (2 revisions) (flutter/flutter#161672) 2025-01-15 [email protected] Fix DropdownMenu isCollapsed decoration does not Reduce height (flutter/flutter#161427) 2025-01-15 [email protected] Manual roll of Skia to e7b8d078851f (flutter/flutter#161609) 2025-01-15 [email protected] Fix `TabBar` glitchy elastic `Tab` animation (flutter/flutter#161514) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161643) 2025-01-15 [email protected] Exclude the top-level `engine` directory from `generate_gradle_lockfiles`. (flutter/flutter#161635) 2025-01-15 [email protected] Roll pub packages (flutter/flutter#161632) 2025-01-15 [email protected] Refactor `android_engine_test`, make it easier to debug/deflake locally. (flutter/flutter#161534) 2025-01-15 [email protected] [Impeller] null check device buffer in image encoding. (flutter/flutter#161194) 2025-01-15 [email protected] Feature/twitter keyboard (flutter/flutter#161025) 2025-01-15 [email protected] Fixed XiaoMi statusBar Bug (flutter/flutter#161271) 2025-01-15 [email protected] Clean up engine's analysis_options.yaml (flutter/flutter#161554) 2025-01-14 [email protected] Remove `gradle_deprecated_settings` test app, and remove reference from lockfile exclusion yaml (flutter/flutter#161622) 2025-01-14 [email protected] [deps] remove no-longer-used repo deps (flutter/flutter#161605) 2025-01-14 [email protected] [DisplayList] remove obsolete use of Skia goemetry objects in DL utils (flutter/flutter#161553) 2025-01-14 [email protected] [Engine] Support asymmetrical rounded superellipses (flutter/flutter#161409) 2025-01-14 [email protected] [SwiftPM] Make 'flutter build ios-framework' generate an empty Package.swift (flutter/flutter#161464) 2025-01-14 [email protected] [canvaskit] Fix GIF decode failure (flutter/flutter#161536) 2025-01-14 [email protected] [Impeller] fixes for AHB swapchains. (flutter/flutter#161562) 2025-01-14 [email protected] Last Engine<>Framework lint sync (flutter/flutter#161560) 2025-01-14 [email protected] Check that localization files of stocks app are up-to-date (flutter/flutter#161608) 2025-01-14 [email protected] [Android] Actually remove dev dependencies from release builds (flutter/flutter#161343) 2025-01-14 [email protected] Update package revisions to latest (flutter/flutter#161525) 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 Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: 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
Fixes M3 TabBar indicator animation broken both when swiping or tapping
Description
This refactors the elastic
Tabanimation. Added additional tests that follows the elastic animation frame by frame and generates a golden file.Code Sample
expand to view the code sample
Before (
timeDilation = 10)before.mp4
After (
timeDilation = 10)fixed.mp4
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.