Skip to content

Make multiple_windows follow repo analyzer rules#184753

Merged
auto-submit[bot] merged 3 commits intoflutter:masterfrom
goderbauer:multipleWindowsExample
Apr 15, 2026
Merged

Make multiple_windows follow repo analyzer rules#184753
auto-submit[bot] merged 3 commits intoflutter:masterfrom
goderbauer:multipleWindowsExample

Conversation

@goderbauer
Copy link
Copy Markdown
Member

The default analysis_options.yaml file created by flutter create was accidentally checked in for the multiple_windows example. It disables the repo-level analyzer rules. This deletes the custom file and adjusts the code to follow the global rules. All code fixes were implemented by Gemini.

@github-actions github-actions Bot added the d: examples Sample code and demos label Apr 8, 2026
@goderbauer goderbauer added the CICD Run CI/CD label Apr 8, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the multiple_windows example by removing the local analysis_options.yaml, reordering imports, and applying consistent formatting across the project. The changes introduce explicit type annotations for variables and constants, add const modifiers to various widgets, and simplify dialog implementations by removing unnecessary async keywords and default parameters. Review feedback focuses on maintaining consistent type annotations and explicit typing for dialog calls to comply with the repository's style guidelines.

final WindowRegistry windowRegistry = WindowRegistry.of(context);

late final WindowEntry entry;
final controller = DialogWindowController(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To adhere to the repository's coding standards (specifically the always_specify_types rule), please provide an explicit type for the controller variable.

Suggested change
final controller = DialogWindowController(
final DialogWindowController controller = DialogWindowController(

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

_trackers,
growable: false,
);
final trackersCopy = List<ElementPositionTracker>.from(_trackers, growable: false);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Please specify the explicit type for trackersCopy to follow the repository's style guide regarding type annotations.

Suggested change
final trackersCopy = List<ElementPositionTracker>.from(_trackers, growable: false);
final List<ElementPositionTracker> trackersCopy = List<ElementPositionTracker>.from(_trackers, growable: false);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

final tracker = ElementPositionTracker(
element: _popupButtonKey.currentContext!,
);
final tracker = ElementPositionTracker(element: _popupButtonKey.currentContext!);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The always_specify_types rule is followed throughout this PR. Please add the explicit type for the tracker variable here for consistency.

Suggested change
final tracker = ElementPositionTracker(element: _popupButtonKey.currentContext!);
final ElementPositionTracker tracker = ElementPositionTracker(element: _popupButtonKey.currentContext!);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

Comment on lines +28 to +29
const lowerBound = 32;
const span = 160;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

In the Flutter repository, it is preferred to explicitly specify types for constants. Please add int to these declarations.

Suggested change
const lowerBound = 32;
const span = 160;
const int lowerBound = 32;
const int span = 160;

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

final tracker = ElementPositionTracker(
element: _tooltipButtonKey.currentContext!,
);
final tracker = ElementPositionTracker(element: _tooltipButtonKey.currentContext!);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Please provide an explicit type for the tracker variable to maintain consistency with the repository's analyzer rules.

Suggested change
final tracker = ElementPositionTracker(element: _tooltipButtonKey.currentContext!);
final ElementPositionTracker tracker = ElementPositionTracker(element: _tooltipButtonKey.currentContext!);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

Comment thread examples/multiple_windows/lib/app/window_settings_dialog.dart Outdated
void main() {
if (!isWindowingEnabled) {
const String windowingDisabledErrorMessage = '''
const windowingDisabledErrorMessage = '''
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The explicit type String was removed here, but the repository's style guide generally requires explicit types for all declarations. Please restore it.

Suggested change
const windowingDisabledErrorMessage = '''
const String windowingDisabledErrorMessage = '''

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessary, type is obvious from the right side.

@github-actions github-actions Bot removed the CICD Run CI/CD label Apr 8, 2026
@goderbauer goderbauer added the CICD Run CI/CD label Apr 8, 2026
@goderbauer goderbauer requested a review from justinmc April 8, 2026 09:12
Copy link
Copy Markdown
Contributor

@justinmc justinmc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this @goderbauer! I'm kind of embarrassed that I didn't notice any of these analyzer problems when I reviewed this, I guess I just rely on it to be there.

@justinmc justinmc added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 14, 2026
@auto-submit auto-submit Bot added this pull request to the merge queue Apr 14, 2026
Merged via the queue into flutter:master with commit 11c4a63 Apr 15, 2026
51 of 52 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Apr 15, 2026
@goderbauer goderbauer deleted the multipleWindowsExample branch April 15, 2026 07:21
master-wayne7 pushed a commit to master-wayne7/flutter that referenced this pull request Apr 15, 2026
The default `analysis_options.yaml` file created by `flutter create` was
accidentally checked in for the `multiple_windows` example. It disables
the repo-level analyzer rules. This deletes the custom file and adjusts
the code to follow the global rules. All code fixes were implemented by
Gemini.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 15, 2026
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Apr 16, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Apr 16, 2026
Roll Flutter from c1b14e92dcfb to 31f1802cb859 (46 revisions)

flutter/flutter@c1b14e9...31f1802

2026-04-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#185083)" (flutter/flutter#185145)
2026-04-16 evanwall@buffalo.edu Add oval drawing support to the SDF uber shader (flutter/flutter#184903)
2026-04-16 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#185083)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from 2c49b3f9c3c2 to 391cdbe3ffe9 (2 revisions) (flutter/flutter#185138)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 4ee990654146 to fbddcbe0cd96 (1 revision) (flutter/flutter#185137)
2026-04-16 engine-flutter-autoroll@skia.org Roll Skia from f4e3cd2c2159 to 2c49b3f9c3c2 (14 revisions) (flutter/flutter#185131)
2026-04-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 87b7c87e7207 to 4ee990654146 (5 revisions) (flutter/flutter#185108)
2026-04-15 jacksongardner@google.com Use the `flutteractionsbot` token to push the release branch. (flutter/flutter#184833)
2026-04-15 63195100+tjoengCRC@users.noreply.github.com Allow period characters in iOS and macOS framework names (flutter/flutter#184335)
2026-04-15 zemanux@users.noreply.github.com Fix SliverResizingHeader semantic focus (flutter/flutter#179690)
2026-04-15 srawlins@google.com ignore avoid_type_to_string lint rule in flutter_tools (flutter/flutter#184766)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from bda7232e6772 to f4e3cd2c2159 (4 revisions) (flutter/flutter#185063)
2026-04-15 stuartmorgan@google.com Add initial AI guidance for issues (flutter/flutter#184885)
2026-04-15 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from rB8LAuZL_DwHMssTU... to IdBT8fSMYrYSip65j... (flutter/flutter#185064)
2026-04-15 jason-simmons@users.noreply.github.com Fix an ordering dependency in the services/system_chrome_test.dart test suite (flutter/flutter#185086)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ios][platform_view]Reland hitTest approach (with a few 2026 update) (#183484)" (flutter/flutter#185082)
2026-04-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (#179810)" (flutter/flutter#185067)
2026-04-15 dacoharkes@google.com Agent rule: Dart editing (flutter/flutter#185045)
2026-04-15 41930132+hellohuanlin@users.noreply.github.com [ios][platform_view]Reland hitTest approach (with a few 2026 update) (flutter/flutter#183484)
2026-04-15 okorohelijah@google.com Run all flutter/flutter macOS tests using Xcode 26 and iOS 26 simulator (flutter/flutter#179810)
2026-04-15 engine-flutter-autoroll@skia.org Roll Dart SDK from ee5afcef0596 to 87b7c87e7207 (4 revisions) (flutter/flutter#185060)
2026-04-15 engine-flutter-autoroll@skia.org Roll Skia from 4c382df6a25a to bda7232e6772 (7 revisions) (flutter/flutter#185057)
2026-04-15 brackenavaron@gmail.com Remove material import from toggleable_test.dart + draggable_test.dart + obscured_animated_image_test.dart + sliver_constraints_test.dart (flutter/flutter#181774)
2026-04-15 120367427+master-wayne7@users.noreply.github.com refactor: Remove material imports from Widget tests  (flutter/flutter#184877)
2026-04-14 52160996+FMorschel@users.noreply.github.com Adds missing `await`s on forgotten cases (flutter/flutter#183466)
2026-04-14 srawlins@google.com Use an if-element in a collection literal instead of a conditional expression (flutter/flutter#184830)
2026-04-14 50643541+Mairramer@users.noreply.github.com update popular issues documentation (flutter/flutter#183196)
2026-04-14 43054281+camsim99@users.noreply.github.com [Android] Add integration test for setting engine flags via the manifest (flutter/flutter#182241)
2026-04-14 rmacnak@google.com [fuchsia] Ask for both ambient-replace and VMEX to allow for a softer transition. (flutter/flutter#185042)
2026-04-14 goderbauer@google.com Make `multiple_windows` follow repo analyzer rules (flutter/flutter#184753)
2026-04-14 58529443+srujzs@users.noreply.github.com Ignore incoming deprecated_web_configuration lint (flutter/flutter#184130)
2026-04-14 jesswon@google.com [AGP 9] Update AGP Error (flutter/flutter#185043)
2026-04-14 magder@google.com Move widget_preview_scaffold into pub workspace (flutter/flutter#182627)
2026-04-14 planetmarshall@users.noreply.github.com Fix gles interactive tests (flutter/flutter#181389)
2026-04-14 katelovett@google.com Update customer tests.version (flutter/flutter#185044)
2026-04-14 mdebbar@google.com [SKILL] upgrade-browser (flutter/flutter#184894)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard dart_data_asset_test.dart (flutter/flutter#185021)
2026-04-14 mr-peipei@web.de Hold startup lock until after `pub get` to prevent races (flutter/flutter#184294)
2026-04-14 6226493+andeart@users.noreply.github.com Add `--include-example` flag to `flutter clean` for package example projects (flutter/flutter#183455)
2026-04-14 15619084+vashworth@users.noreply.github.com Disable multi-pack-index when calling flutter from Xcode (flutter/flutter#184998)
2026-04-14 42123156+nvi9@users.noreply.github.com Fix icon tree shaking when building for desktop (flutter/flutter#184249)
2026-04-14 15619084+vashworth@users.noreply.github.com Fix killing wrong xcrun command (flutter/flutter#184831)
2026-04-14 alex.medinsh@gmail.com Allow Xcode build configuration to not contain flavor name (flutter/flutter#183398)
2026-04-14 mdebbar@google.com [web] Async rendering for benchmarks (flutter/flutter#184677)
2026-04-14 dacoharkes@google.com [ci] Split up integration.shard native_assets_test.dart (flutter/flutter#185020)
2026-04-14 737941+loic-sharma@users.noreply.github.com Skip flutter widget-preview test that times out frequently (flutter/flutter#184988)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD d: examples Sample code and demos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants