1. 03 May, 2017 1 commit
  2. 20 Apr, 2017 1 commit
  3. 19 Apr, 2017 1 commit
  4. 15 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Support chaining await calls on controllers (#9389) · 14e728d0
      Ian Hickson authored
      With this patch, you can do:
      
      ```dart
         Future<Null> foo() async {
           try {
             await controller.forward().orCancel;
             await controller.reverse().orCancel;
             await controller.forward().orCancel;
           } on TickerCanceled {
             // did not complete
           }
         }
      ```
      
      ...in a State's async method, and so long as you dispose of the
      controller properly in your dispose, you'll have a nice way of doing
      animations in sequence without leaking the controller. try/finally
      works as well, if you need to allocate resources and discard them when
      canceled.
      
      Simultaneously, you can do:
      
      ```dart
         Future<Null> foo() async {
           await controller.forward().orCancel;
           await controller.reverse().orCancel;
           await controller.forward().orCancel;
         }
      ```
      
      ...and have the same effect, where the method will just silently hang
      (and get GC'ed) if the widget is disposed, without leaking anything,
      if you don't need to catch the controller being killed.
      
      And all this, without spurious errors for uncaught exceptions on
      controllers.
      14e728d0
  5. 31 Mar, 2017 1 commit
  6. 17 Mar, 2017 1 commit
  7. 16 Mar, 2017 1 commit
  8. 04 Mar, 2017 1 commit
  9. 18 Feb, 2017 1 commit
  10. 20 Jan, 2017 1 commit
    • Adam Barth's avatar
      Strengthen animation listener iteration patterns (#7566) · 0f1d9775
      Adam Barth authored
      This patch aligns the iteration patterns used by animations and
      ChangeNotifier. They now both respect re-entrant removal of listeners
      and coalesce duplication registrations. (Also, ChangeNotifier
      notification is no longer N^2).
      
      This patch introduces ObserverList to avoid the performance regression that the
      previous version of this patch caused.
      
      Fixes #7533
      0f1d9775
  11. 19 Jan, 2017 4 commits
    • Adam Barth's avatar
    • Adam Barth's avatar
      Strengthen animation listener iteration patterns (#7537) · 3312af7d
      Adam Barth authored
      This patch aligns the iteration patterns used by animations and
      ChangeNotifier. They now both respect re-entrant removal of listeners
      and coalesce duplication registrations. (Also, ChangeNotifier
      notification is no longer N^2).
      
      Fixes #7533
      3312af7d
    • Adam Barth's avatar
      Improve Route lifecycle (#7526) · 23361d5a
      Adam Barth authored
      Previously the navigator wouldn't always call Route.dispose when it was
      removed from the tree. After this patch, the navigator remembers popped
      routes so that it can call dispose on them when it is removed from the
      tree.
      
      Also, improve some error messages around calling dispose() more than
      once on routes and AnimationControllers.
      
      Fixes #7457
      23361d5a
    • Adam Barth's avatar
      Remove Force and SpringForce (#7532) · 7d5f172a
      Adam Barth authored
      The only client of this machinery was AnimationController.fling, but
      it's easier for that function to just create the simulation it needs
      directly.
      
      Fixes #7216
      7d5f172a
  12. 05 Jan, 2017 3 commits
  13. 16 Dec, 2016 1 commit
    • Ian Hickson's avatar
      Curves.decelerate (#7284) · 3e3d2192
      Ian Hickson authored
      Port DecelerateInterpolator to Flutter.
      
      Also, hide the Curve subclasses that you can't extend and that have no
      statics and are generally not useful.
      3e3d2192
  14. 19 Nov, 2016 1 commit
  15. 17 Nov, 2016 1 commit
  16. 28 Sep, 2016 2 commits
    • Adam Barth's avatar
      Rename Interval.start to begin (#6115) · c621ec82
      Adam Barth authored
      For consistency with Tween.
      
      Fixes #5169
      c621ec82
    • Ian Hickson's avatar
      Fix globalToLocal and update spinning_mixed (#6035) · e01592a0
      Ian Hickson authored
      * globalToLocal was just broken when there was a rotation and a
        translation at the same time. This fixes that and adds a test.
      
      * update graphic used by spinning_mixed since the old one went 404.
      
      * simplify some of the code in the demo.
      
      * fix MatrixUtils.transformPoint to be consistent with how we transform
        points elsewhere.
      
      * stop transforming points elsewhere, just use
        MatrixUtils.transformPoint.
      
      * make the Widget binding handle not having a root element.
      
      * make the spinning_mixed demo update its widget tree.
      e01592a0
  17. 26 Sep, 2016 2 commits
  18. 22 Sep, 2016 1 commit
  19. 16 Sep, 2016 1 commit
  20. 15 Sep, 2016 1 commit
  21. 07 Sep, 2016 1 commit
  22. 25 Aug, 2016 1 commit
  23. 04 Aug, 2016 1 commit
  24. 26 Jul, 2016 2 commits
  25. 30 Jun, 2016 1 commit
  26. 23 Jun, 2016 1 commit
  27. 14 Jun, 2016 2 commits
    • pq's avatar
      Added asserts. · f5a4e632
      pq authored
      f5a4e632
    • pq's avatar
      Add missing returns. · 7a955487
      pq authored
      As of `1.18.0-dev-0`, these cases will get flagged.  In the meantime, the
      7a955487
  28. 13 Jun, 2016 1 commit
  29. 09 Jun, 2016 1 commit
    • Adam Barth's avatar
      DropDownMenu should animation away when interrupted (#4485) · 2be1eb48
      Adam Barth authored
      If you tap outside the drop down menu while its animating in, we should
      animate it away smoothly. Previously, we jumped to the reverseCurve,
      which made the menu disappear immediately. Now we hold the animations as
      state, which means we keep their _curveDirection property and don't
      switch curves unless the animation actually finishes.
      
      Also, fix a subtle bug in CurvedAnimation whereby we'd never set the
      _curveDirection if we didn't see a status change in the parent
      animation. Now we initialize _curveDirection based on the current value
      of the parent's status.
      
      Fixes #4379
      2be1eb48
  30. 25 May, 2016 1 commit
  31. 17 May, 2016 1 commit