Skip to content

Allow Passing an AnimationController to CircularProgressIndicator (Fix #165741) - #170380

Closed
Sten435 wants to merge 31 commits into
flutter:masterfrom
Sten435:main
Closed

Sten435 wants to merge 31 commits into
flutter:masterfrom
Sten435:main

Conversation

@Sten435

@Sten435 Sten435 commented Jun 10, 2025

Copy link
Copy Markdown
Contributor

Pull request for issue: #165741
I also added support, to use an inherited controller, using the controller prop in progress_indicator_theme.dart.

fix.progress.indic.mp4

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making
  • All existing and new tests are passing.

@github-actions github-actions Bot added framework flutter/packages/flutter repository. See also f: labels. p: material_ui material_ui package in flutter/packages labels Jun 10, 2025
@dkwingsmt
dkwingsmt self-requested a review June 10, 2025 20:19
@Sten435

Sten435 commented Jun 10, 2025 •

Copy link
Copy Markdown
Contributor Author

Shit i merged into main, i will change it to master.

👍 Fixed ✅

@Sten435
Sten435 changed the base branch from main to master June 10, 2025 21:33
@stan-at-work

stan-at-work commented Jun 11, 2025 •

Copy link
Copy Markdown

@dkwingsmt The Linux analyze check fails, when i look into the docs this is what it say's:

You may find the errors by searching for "╡ERROR #" in the logs.
╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════
║ Command: dart --enable-asserts /b/s/w/ir/x/w/flutter/dev/bots/analyze.dart
║ Command exited with exit code 1 but expected zero exit code.
║ Working directory: /b/s/w/ir/x/w/flutter
╚═══════════════════════════════════════════════════════════════════════════════
▌23:20:10▐ Test failed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The error messages reported above are repeated here:
  -- This line intentionally left blank --  
Command: dart --enable-asserts /b/s/w/ir/x/w/flutter/dev/bots/analyze.dart
Command exited with exit code 1 but expected zero exit code.
Working directory: /b/s/w/ir/x/w/flutter

image

This is not something I changed with my pull request. Does that mean this is not an issue for me, or what should I do to address it?

@dkwingsmt

Copy link
Copy Markdown
Contributor

If you click the detail link and see the full log (https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8712382049978374001/+/u/run_test.dart_for_analyze_shard_and_subshard_None/stdout?format=raw ) you'll find an error at ~45% of the file. I think it's just the eol space. Anyway, such errors can typically be solved by dart format packages/flutter.

@stan-at-work

Copy link
Copy Markdown

If you click the detail link and see the full log (https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8712382049978374001/+/u/run_test.dart_for_analyze_shard_and_subshard_None/stdout?format=raw ) you'll find an error at ~45% of the file. I think it's just the eol space. Anyway, such errors can typically be solved by dart format packages/flutter.

O thanks, don't know how you figured that out, from the logs. But thanks.

When i have access to my pc i will update the pull req ✅

@dkwingsmt

dkwingsmt commented Jun 11, 2025 •

Copy link
Copy Markdown
Contributor

image
The full log is here :) Yeah it can be a bit hidden

@Sten435

Sten435 commented Jun 11, 2025

Copy link
Copy Markdown
Contributor Author

If you click the detail link and see the full log (https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8712382049978374001/+/u/run_test.dart_for_analyze_shard_and_subshard_None/stdout?format=raw ) you'll find an error at ~45% of the file. I think it's just the eol space. Anyway, such errors can typically be solved by dart format packages/flutter.

You were indeed right, I ran the command you provided and what happend.... 1 change... 🥳

Screenshot 2025-06-11 at 20 45 51

@stan-at-work

stan-at-work commented Jun 13, 2025 •

Copy link
Copy Markdown

@dkwingsmt Does this pull request fall into the category of pull requests that the team will not merge until they have figured the Material and Cupertino styling out? I heard that something like that was going on at the moment.

Otherwise, I will close this pull request, and reopen it in a couple of months.

Thanks. 😃

@dkwingsmt

Copy link
Copy Markdown
Contributor

Hi! I don't think so. Although I'm currently on vacation and will review your PR when I'm back next week.

Also if there were such cases we would definitely tell the author right away instead of having you suspecting. :)

@stan-at-work

Copy link
Copy Markdown

Hi! I don't think so. Although I'm currently on vacation and will review your PR when I'm back next week.

Also if there were such cases we would definitely tell the author right away instead of having you suspecting. :)

I'm sorry thanks,

Have a nice vacation ☀️🌊

Comment thread packages/flutter/lib/src/material/progress_indicator.dart
Comment thread packages/flutter/lib/src/material/progress_indicator.dart Outdated
Comment thread packages/flutter/test/material/progress_indicator_test.dart Outdated
Comment thread packages/flutter/test/material/radio_list_tile_test.dart Outdated
Comment thread packages/flutter/test/widgets/tap_region_test.dart
expect(tester.binding.transientCallbackCount, 0);
});

testWidgets('LinearProgressIndicator reflects controller value', (WidgetTester tester) async {

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.

This can't be done because everything is private in the class.

Testing in the framework focuses on observable behavior, not implementation details.

In progress_indicator_test.dart, there are tests that check what is painted by the progress indicators. A good test could have multiple progress indicators aligned in a Column, inserted at different times. Then some of them can have the same controller, and the ones with the same controller can be observed to have the same progress (i.e by the same paint extent, indicating a synchronized animation) while the others have a different paint extent.

@dkwingsmt

Copy link
Copy Markdown
Contributor

Hi! @Sten435 Are you able to address the comments above so we can work together to get this landed? This is a great addition and I'm looking forward to it!

@stan-at-work

Copy link
Copy Markdown

Hi! @Sten435 Are you able to address the comments above so we can work together to get this landed? This is a great addition and I'm looking forward to it!

👋 Yeah, I’ve tried a couple of things over the week, but none worked. I’m new to testing—definitely to animation testing—so I have to learn everything about widget testing. It’s taking some time, but I think I’ll get there.

@stan-at-work

stan-at-work commented Jul 31, 2025 •

Copy link
Copy Markdown

Hi! @Sten435 Are you able to address the comments above so we can work together to get this landed? This is a great addition and I'm looking forward to it!

I got the LinearProgressIndicator to work using a shared theming controller, but the CircularProgressIndicator is a whole other level to test.

@victorsanni victorsanni left a comment

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.

I'm beginning to wonder if this change is even needed. Why can't multiple progress indicators be supplied the same animation controller value directly in order to synchronize them? Do they need an entire AnimationController?

@dkwingsmt

dkwingsmt commented Aug 8, 2025 •

Copy link
Copy Markdown
Contributor

I think it's because it's a very common demand for progress indicators to stay in sync when multiple are present, so much that the widget is pretty much unusable if there isn't such a feature (i.e. all developers will have to build it by themselves.) The progress indicators are typically scattered across the widget tree and supplying values directly will cause the entire tree to be rebuilt every frame.

@stan-at-work

Copy link
Copy Markdown

I think it's because it's a very common demand for progress indicators to stay in sync when multiple are present, so much that the widget is pretty much unusable if there isn't such a feature (i.e. all developers will have to build it by themselves.) The progress indicators are typically scattered across the widget tree and supplying values directly will cause the entire tree to be rebuilt every frame.

I'm sorry for the delay. This will be done. But i'm verrry busy atm.

@dkwingsmt

dkwingsmt commented Aug 11, 2025 •

Copy link
Copy Markdown
Contributor

No worries, take you time!

Edit: If it makes you feel better, feel free to turn it into a draft or close it for now, and we can always come back to this.

@stan-at-work

Copy link
Copy Markdown

No worries, take you time!

Edit: If it makes you feel better, feel free to turn it into a draft or close it for now, and we can always come back to this.

No, i rather not close it.

@Sten435

Sten435 commented Aug 17, 2025 •

Copy link
Copy Markdown
Contributor Author

@dkwingsmt I have added a test, but after several days of effort, I was unable to create one for the circular progress indicator. This task is beyond my current experience with Flutter widget testing.

I invested considerable effort into the linear progress indicator test and managed to complete it, showing my commitment to delivering quality work. I have poured my heart and soul into this pull request. It may seem unusual, but I have learned a lot—and also suffered quite a bit—in the process. I don’t want to give up on this change, but I will not attempt a circular progress indicator test because I don’t want to drain myself further with Flutter widget tests.

I genuinely believe this change brings value and hope it can be merged. If the lack of this specific test prevents that, I understand, but I want to assure you that I have given my best effort. Sometimes, progress means recognizing the limits of what can reasonably be achieved while still giving your full effort.

It has been 148 days since I proposed this issue, and I have made my peace with the possibility that it may not be merged any time soon.

If the test is really needed, I accept that this pull request will be closed and hopefully picked up by someone else in the future. Hopefully.

@dkwingsmt

dkwingsmt commented Aug 25, 2025 •

Copy link
Copy Markdown
Contributor

Don't worry, I'll take a look and write a unit test for it. It's not your problem that CircularProgressIndicator isn't testable.

Thank you for your progress so far!

@stan-at-work

Copy link
Copy Markdown

Don't worry, I'll take a look and write a unit test for it. It's not your problem that CircularProgressIndicator isn't testable.

Thank you for your progress so far!

Thank You.

@dkwingsmt

Copy link
Copy Markdown
Contributor

I've created another PR #174605 that completes this one with unit tests, docs, and bug fixes.

Closing this one.

@dkwingsmt dkwingsmt closed this Aug 28, 2025
github-merge-queue Bot pushed a commit that referenced this pull request Sep 16, 2025
… LinearProgressIndicator (#174605)

_This PR is based on #170380,
completing it with unit tests and docs._

Fix #165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
dixita0607 pushed a commit to dixita0607/flutter that referenced this pull request Sep 17, 2025
… LinearProgressIndicator (flutter#174605)

_This PR is based on flutter#170380,
completing it with unit tests and docs._

Fix flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
… LinearProgressIndicator (flutter#174605)

_This PR is based on flutter#170380,
completing it with unit tests and docs._

Fix flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
@stan-at-work

Copy link
Copy Markdown

@dkwingsmt In what version of flutter will this me included ?

Jaineel-Mamtora pushed a commit to Jaineel-Mamtora/flutter_forked that referenced this pull request Sep 24, 2025
… LinearProgressIndicator (flutter#174605)

_This PR is based on flutter#170380,
completing it with unit tests and docs._

Fix flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
… LinearProgressIndicator (flutter#174605)

_This PR is based on flutter#170380,
completing it with unit tests and docs._

Fix flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
justinmc pushed a commit to flutter/packages that referenced this pull request Apr 17, 2026
… LinearProgressIndicator (#174605)

_This PR is based on flutter/flutter#170380,
completing it with unit tests and docs._

Fix flutter/flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
justinmc pushed a commit to flutter/packages that referenced this pull request Apr 17, 2026
… LinearProgressIndicator (#174605)

_This PR is based on flutter/flutter#170380,
completing it with unit tests and docs._

Fix flutter/flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
chunhtai pushed a commit to chunhtai/packages that referenced this pull request Jun 12, 2026
… LinearProgressIndicator (#174605)

_This PR is based on flutter/flutter#170380,
completing it with unit tests and docs._

Fix flutter/flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
Nakiha pushed a commit to Nakiha/VoidPlayer-Flutter that referenced this pull request Sep 28, 2026
… LinearProgressIndicator (#174605)

_This PR is based on flutter/flutter#170380,
completing it with unit tests and docs._

Fix flutter/flutter#165741

Adding this property to the indicators allows all indicators on a same
screen to have synchronized progress, an essential feature for progress
indicators.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] 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.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- 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

---------

Co-authored-by: Stan Persoons <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

framework flutter/packages/flutter repository. See also f: labels. p: material_ui material_ui package in flutter/packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants