Repository navigation
[material_ui] Migrate M3 ListTile template to use new gen_defaults - #13056
Conversation
There was a problem hiding this comment.
Code Review
This pull request migrates the Material 3 ListTile defaults to the token-based generator by introducing ListTileTemplateM3, enabling it in the generator tool, and replacing the manually written _LisTileDefaultsM3 class with a generated part file. A review comment identifies a typo in the class name _LisTileDefaultsM3 (missing 't') and suggests renaming it to _ListTileDefaultsM3 across the template, main code, and tests.
| static const TokenColorRole _legacySelectedColor = TokenColorRole.primary; | ||
|
|
||
| @override | ||
| String get className => '_LisTileDefaultsM3'; |
There was a problem hiding this comment.
There is a typo in the class name _LisTileDefaultsM3 (missing the letter 't' in ListTile). Since this is a private class, it should be corrected to _ListTileDefaultsM3 to improve code readability and maintainability. Note: If you apply this suggestion, you will also need to manually update the reference in packages/material_ui/lib/src/list_tile.dart (line 889) and the test assertion in packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart (line 614) to avoid compilation errors.
| String get className => '_LisTileDefaultsM3'; | |
| String get className => '_ListTileDefaultsM3'; |
| minLeadingWidth: 24.0, | ||
| minVerticalPadding: 8, |
There was a problem hiding this comment.
It's a bit strange that minLeadingWidth is a double (with .0) and minVerticalPadding is an int. I wonder if we could keep minLeadingWidth as an int somehow?
| $className(this.context) | ||
| : super( | ||
| contentPadding: const EdgeInsetsDirectional.only(start: 16.0, end: 24.0), | ||
| minLeadingWidth: ${number(TokenList.listItemLeadingIconSize)}, |
There was a problem hiding this comment.
We might need to modify number so we can specify whether it should format the number as an int or a double.
There was a problem hiding this comment.
I feel the number helper function is a bit useless. Maybe we should remove it. For this PR, I'll remove the use of number() because the result is identical no matter we use it or not.
…ts_migration # Conflicts: # packages/material_ui/tool/gen_defaults/bin/gen_defaults.dart # packages/material_ui/tool/gen_defaults/test/gen_defaults_test.dart
…er#193641) flutter/packages@0ba9a82...d5ec6db 2026-10-01 [email protected] [tool] Enforce README package table order (flutter/packages#12316) 2026-09-30 [email protected] [various] Allow plugin example apps to build and test on JDK 25 (flutter/packages#13031) 2026-09-30 [email protected] [go_router] Expose Navigator clipBehavior on ShellRoute and StatefulShellBranch (flutter/packages#12646) 2026-09-30 [email protected] [google_maps_flutter] Convert unit tests to Kotlin (flutter/packages#13072) 2026-09-30 [email protected] [material_ui] Migrate M3 ListTile template to use new gen_defaults (flutter/packages#13056) 2026-09-30 [email protected] Allow tests to use macOS 15.7 or macOS 26.6 (flutter/packages#13007) 2026-09-30 [email protected] [camera_android_camerax] Fix exposure offset setting error thrown when canceled by a new request (flutter/packages#12582) 2026-09-30 [email protected] Roll Flutter from 55b8f88 to d649d2b (27 revisions) (flutter/packages#13080) 2026-09-30 [email protected] [material_ui] Migrate M3 InputDecorator template to use new gen_defaults (flutter/packages#13024) 2026-09-30 [email protected] [pigeon] Fix JNI/FFI typed data memory lifetime bugs and update docs (flutter/packages#13061) 2026-09-30 [email protected] [camera_android_camerax] Correct `pre-push` skill version validation logic (flutter/packages#12371) If this roll has caused a breakage, revert this CL and set the roller to dry run mode using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] 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
Work toward flutter/flutter#187899.
Fixes flutter/flutter#188420.
This PR migrates the M3 ListTile defaults template to use the new gen_defaults in material_ui.
The generated defaults remain unchanged.
Pre-Review Checklist
[shared_preferences]///).