-
Notifications
You must be signed in to change notification settings - Fork 27.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhanced enum features for AnimationStatus
#147801
Conversation
controller.dispose(); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed that a controller was being reassigned here without a .dispose()
call, so I added this as well.
/// | ||
/// Useful for toggling animations back and forth. | ||
/// {@endtemplate} | ||
bool get aimedForward => switch (this) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not super in love with this name. I wish I had a better suggestion...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
me too 🥲
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked gemini, it came up with the very explicit isForwardOrCompleted
name. Still not great, I like it slightly better then aimedForward, though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm good with that!
/// The most recently returned [TickerFuture], if any, is marked as having been | ||
/// canceled, meaning the future never completes and its [TickerFuture.orCancel] | ||
/// derivative future completes with a [TickerCanceled] error. | ||
TickerFuture toggle({ double? from }) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you document the parameter?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure can!
I copied the documentation over from the forward
/reverse
functions, so I'll document the parameter for those as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/// | ||
/// Useful for toggling animations back and forth. | ||
/// {@endtemplate} | ||
bool get aimedForward => switch (this) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked gemini, it came up with the very explicit isForwardOrCompleted
name. Still not great, I like it slightly better then aimedForward, though.
flutter/flutter@0d22d91...00425ef 2024-05-17 [email protected] Roll Flutter Engine from d575e511f9e5 to a19d3722922d (2 revisions) (flutter/flutter#148534) 2024-05-17 [email protected] Roll Flutter Engine from 8d1a1d8d7b48 to d575e511f9e5 (5 revisions) (flutter/flutter#148529) 2024-05-17 [email protected] Manual roll Flutter Engine from 6fa734d68688 to 8d1a1d8d7b48 (8 revisions) (flutter/flutter#148528) 2024-05-17 [email protected] Add test for material_banner.0.dart and material_banner.1.dart (flutter/flutter#148452) 2024-05-17 [email protected] `switch` statement cleanup (flutter/flutter#148382) 2024-05-16 [email protected] const vs. non-const widget build benchmark (flutter/flutter#148261) 2024-05-16 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.1.5 to 4.1.6 (flutter/flutter#148516) 2024-05-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (#148507)" (flutter/flutter#148517) 2024-05-16 [email protected] Add PrivacyInfo.xcprivacy to plugin template (flutter/flutter#148485) 2024-05-16 [email protected] Fix iOS reference in macOS Cocoapods error (flutter/flutter#148506) 2024-05-16 [email protected] Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (flutter/flutter#148507) 2024-05-16 [email protected] Roll Flutter Engine from 460df6caef0e to 6fa734d68688 (4 revisions) (flutter/flutter#148500) 2024-05-16 [email protected] Enhanced enum features for `AnimationStatus` (flutter/flutter#147801) 2024-05-16 [email protected] [macOS] codesign native assets during embed (flutter/flutter#148310) 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],[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
PR #147801 introduced some convenient `AnimationStatus` getters, but I just realized that `AnimationController` now has 2 getters for the same thing: `isAnimating` and `isRunning`. The intent of this pull request is to correct that mistake, and implement the getters in the appropriate places.
flutter/flutter@0d22d91...00425ef 2024-05-17 [email protected] Roll Flutter Engine from d575e511f9e5 to a19d3722922d (2 revisions) (flutter/flutter#148534) 2024-05-17 [email protected] Roll Flutter Engine from 8d1a1d8d7b48 to d575e511f9e5 (5 revisions) (flutter/flutter#148529) 2024-05-17 [email protected] Manual roll Flutter Engine from 6fa734d68688 to 8d1a1d8d7b48 (8 revisions) (flutter/flutter#148528) 2024-05-17 [email protected] Add test for material_banner.0.dart and material_banner.1.dart (flutter/flutter#148452) 2024-05-17 [email protected] `switch` statement cleanup (flutter/flutter#148382) 2024-05-16 [email protected] const vs. non-const widget build benchmark (flutter/flutter#148261) 2024-05-16 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.1.5 to 4.1.6 (flutter/flutter#148516) 2024-05-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (#148507)" (flutter/flutter#148517) 2024-05-16 [email protected] Add PrivacyInfo.xcprivacy to plugin template (flutter/flutter#148485) 2024-05-16 [email protected] Fix iOS reference in macOS Cocoapods error (flutter/flutter#148506) 2024-05-16 [email protected] Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (flutter/flutter#148507) 2024-05-16 [email protected] Roll Flutter Engine from 460df6caef0e to 6fa734d68688 (4 revisions) (flutter/flutter#148500) 2024-05-16 [email protected] Enhanced enum features for `AnimationStatus` (flutter/flutter#147801) 2024-05-16 [email protected] [macOS] codesign native assets during embed (flutter/flutter#148310) 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],[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@0d22d91...00425ef 2024-05-17 [email protected] Roll Flutter Engine from d575e511f9e5 to a19d3722922d (2 revisions) (flutter/flutter#148534) 2024-05-17 [email protected] Roll Flutter Engine from 8d1a1d8d7b48 to d575e511f9e5 (5 revisions) (flutter/flutter#148529) 2024-05-17 [email protected] Manual roll Flutter Engine from 6fa734d68688 to 8d1a1d8d7b48 (8 revisions) (flutter/flutter#148528) 2024-05-17 [email protected] Add test for material_banner.0.dart and material_banner.1.dart (flutter/flutter#148452) 2024-05-17 [email protected] `switch` statement cleanup (flutter/flutter#148382) 2024-05-16 [email protected] const vs. non-const widget build benchmark (flutter/flutter#148261) 2024-05-16 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.1.5 to 4.1.6 (flutter/flutter#148516) 2024-05-16 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (#148507)" (flutter/flutter#148517) 2024-05-16 [email protected] Add PrivacyInfo.xcprivacy to plugin template (flutter/flutter#148485) 2024-05-16 [email protected] Fix iOS reference in macOS Cocoapods error (flutter/flutter#148506) 2024-05-16 [email protected] Roll Flutter Engine from 6fa734d68688 to 1850def2ccff (1 revision) (flutter/flutter#148507) 2024-05-16 [email protected] Roll Flutter Engine from 460df6caef0e to 6fa734d68688 (4 revisions) (flutter/flutter#148500) 2024-05-16 [email protected] Enhanced enum features for `AnimationStatus` (flutter/flutter#147801) 2024-05-16 [email protected] [macOS] codesign native assets during embed (flutter/flutter#148310) 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],[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
Based on issue #147799, this pull request adds two
AnimationStatus
getters.I also added a
.toggle()
method for animation controllers that makes use ofaimedForward
.