Skip to content

docs: migrate example app to material_ui - #795

Merged
jokerttu merged 4 commits into
plugin-widgets-importfrom
example-material-ui
Nov 6, 2026
Merged

jokerttu merged 4 commits into
plugin-widgets-importfrom
example-material-ui

Conversation

@jokerttu

@jokerttu jokerttu commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Migrates the example app to package:material_ui, following the official migration guide. The plugin's own requirements are unchanged.

  • example/pubspec.yaml requires sdk: ^3.13.0 and flutter: ">=3.47.0", the environment material_ui declares, and adds material_ui: ^1.10.0.
  • Imports were rewritten with dart fix --apply --code=migrate_design_widgets. The example uses no Cupertino library and no localization delegates, so nothing else needed migrating.
  • Dart 3.13 rejects final on a function parameter; one parameter in navigation.dart drops it.
  • A separate commit applies the Dart 3.13 formatter to the example, since the language version change restyles it. It contains formatting only.

CI

  • All jobs move from Flutter 3.44.x to 3.47.x, because melos resolves the example in every job and the example now needs 3.47.
  • A new job, Run Dart analysis and unit tests on minimum Flutter, keeps checking the plugin on 3.44.x, the minimum in the root pubspec.yaml. It runs flutter pub get --no-example, flutter analyze --no-pub lib test --fatal-infos and flutter test --no-pub. Native unit tests and builds now run on 3.47.x only.

Stacked on #794.

Checks run

  • Flutter 3.47.9: flutter analyze . --fatal-infos clean in the plugin and the example, dart format reports no changes, 268 Dart tests pass.
  • Flutter 3.44.9: the minimum-Flutter job's three steps pass locally.
  • Workflow YAML parses.
  • Not yet run with this change: example builds and Patrol integration tests on Android and iOS. A full run on both platforms will follow on the top of the stack.

Map taps on iOS with Flutter 3.47. Flutter 3.47's iOS engine asks PlatformDispatcher.onHitTest whether a touch belongs to a platform view, and blocks the touch when no callback answers. GestureBinding installs that callback, but flutter_test's TestPlatformDispatcher doesn't forward it to the real dispatcher, so under Patrol every tap on the map was blocked, and both t06 "Test map UI settings" variants failed. The patrol() wrapper in patrol_test/shared.dart now installs the same answer GestureBinding gives in an app. Apps aren't affected; this only changes the test binding. With it, t06_map_test.dart passes 12/12 on the iOS 26.5 simulator with Flutter 3.47.9.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation
  • I added new tests to check the change I am making
  • All existing and new tests are passing.

@jokerttu
jokerttu added this pull request to stack #788 November 4, 2026 14:17
@jokerttu jokerttu changed the title example material ui docs: migrate example app to material_ui Nov 4, 2026
@jokerttu jokerttu mentioned this pull request Nov 5, 2026
4 of 6 tasks
@jokerttu
jokerttu marked this pull request as ready for review November 5, 2026 11:46
@jokerttu
jokerttu force-pushed the example-material-ui branch 2 times, most recently from d366a50 to f07eb08 Compare November 5, 2026 12:12
@jokerttu
jokerttu force-pushed the example-material-ui branch from f07eb08 to a259a61 Compare November 5, 2026 14:38
@jokerttu
jokerttu merged commit e014bf4 into main Nov 6, 2026
17 of 19 checks passed
@jokerttu
jokerttu deleted the example-material-ui branch November 6, 2026 05:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants