1. 16 Oct, 2018 2 commits
  2. 23 Sep, 2018 1 commit
  3. 12 Sep, 2018 1 commit
  4. 07 Sep, 2018 1 commit
  5. 29 Aug, 2018 1 commit
  6. 23 Aug, 2018 1 commit
  7. 06 Aug, 2018 1 commit
  8. 02 Aug, 2018 1 commit
  9. 27 Jul, 2018 1 commit
  10. 23 Jul, 2018 1 commit
  11. 16 Jul, 2018 2 commits
  12. 14 Mar, 2018 1 commit
  13. 12 Mar, 2018 1 commit
  14. 22 Feb, 2018 1 commit
  15. 02 Feb, 2018 1 commit
  16. 01 Feb, 2018 1 commit
  17. 17 Jan, 2018 1 commit
  18. 22 Nov, 2017 1 commit
    • Kyle Bradshaw's avatar
      AnimationController reset() method (#13044) · 3dc32873
      Kyle Bradshaw authored
      * AnimationController reset() method
      
      Just a simple convenience method to fix #13039
      
      * Added `reset()` test
      
      * More test expectations
      
      Per feedback.
      
      * Removed test print
      
      * Improved documentation of reset()
      
      * Add controller.reverse to test
      3dc32873
  19. 16 Nov, 2017 1 commit
    • Ian Hickson's avatar
      ExpansionPanel animation fixes (#13032) · c97fc206
      Ian Hickson authored
      Previously, ExpansionPanel would do weird things if interacted with
      when it was already animating. This is fixed and there's now a test.
      
      Also:
      
       * Minor fixes to make the gallery work in RTL, not that there's
         any way to see that without hard-coding the framework to RTL.
         But at least I'll be less annoyed when doing that.
      
       * Some trivial code and documentation cleanup.
      c97fc206
  20. 04 Aug, 2017 3 commits
  21. 21 Jun, 2017 1 commit
  22. 02 May, 2017 1 commit
    • Ian Hickson's avatar
      Flush microtasks after transient callbacks are run. (#9702) · e8c46927
      Ian Hickson authored
      This splits the frame pipeline into two, beginFrame and drawFrame.
      
      As part of making this change I added some debugging hooks that helped
      debug the issues that came up:
      
       * I added debugPrintScheduleFrameStacks which prints a stack whenever
         a frame is actually scheduled, so you can see why frames are being
         scheduled.
      
       * I added some toString output to EditableText and RawKeyboardListener.
      
       * I added a scheduler_tester.dart library for scheduler library tests.
      
       * I changed the test framework to flush microtasks before pumping.
      
       * Some asserts that had the old string literal form were replaced by
         asserts with messages.
      
      I also fixed a few subtle bugs that this uncovered:
      
       * setState() now calls `ensureVisualUpdate`, rather than
         `scheduleFrame`. This means that calling it from an
         AnimationController callback does not actually schedule an extra
         redundant frame as it used to.
      
       * I corrected some documentation.
      e8c46927
  23. 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
  24. 16 Mar, 2017 1 commit
  25. 15 Mar, 2017 1 commit
  26. 04 Mar, 2017 1 commit
  27. 18 Feb, 2017 1 commit
  28. 09 Feb, 2017 1 commit
  29. 20 Jan, 2017 2 commits
    • 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
    • Adam Barth's avatar
      Improve test coverage (#7564) · 3b104a81
      Adam Barth authored
      Also, fix some minor bugs with SynchronousFuture.
      3b104a81
  30. 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
  31. 17 Jan, 2017 1 commit
    • Adam Barth's avatar
      Fix several minor bugs and add many tests (#7506) · 2b742289
      Adam Barth authored
      * MultiTapGestureRecognizer previously would assert if there was no
         competition.
       * GestureArenaTeam would always select the first recongizer as the
         winner even if a later recognizer actually accepted the pointer
         sequence.
       * debugPrintStack would fail a type check if maxFrames was non-null.
       * FractionalOffset.lerp would throw a null-pointer exception if its
         second argument was null.
      
      Also, add a number of tests for previously untested lines of code.
      2b742289
  32. 11 Jan, 2017 1 commit