1. 24 Jan, 2019 2 commits
  2. 10 Jan, 2019 1 commit
  3. 08 Jan, 2019 1 commit
    • Marco Scannadinari's avatar
      Add Robert Penner’s easing functions (#25788) · 57318fa3
      Marco Scannadinari authored
      * Add Robert Penner’s easing functions
      
      These easing functions are the most popular functions in use on the web
      and other platforms. Including them in Flutter will encourage users to
      create more engaging and attractive animations.
      57318fa3
  4. 16 Oct, 2018 2 commits
  5. 23 Sep, 2018 1 commit
  6. 12 Sep, 2018 1 commit
  7. 07 Sep, 2018 1 commit
  8. 29 Aug, 2018 1 commit
  9. 23 Aug, 2018 1 commit
  10. 06 Aug, 2018 1 commit
  11. 02 Aug, 2018 1 commit
  12. 27 Jul, 2018 1 commit
  13. 23 Jul, 2018 1 commit
  14. 16 Jul, 2018 2 commits
  15. 14 Mar, 2018 1 commit
  16. 12 Mar, 2018 1 commit
  17. 22 Feb, 2018 1 commit
  18. 02 Feb, 2018 1 commit
  19. 01 Feb, 2018 1 commit
  20. 17 Jan, 2018 1 commit
  21. 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
  22. 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.
      Unverified
      c97fc206
  23. 04 Aug, 2017 3 commits
  24. 21 Jun, 2017 1 commit
  25. 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
  26. 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
  27. 16 Mar, 2017 1 commit
  28. 15 Mar, 2017 1 commit
  29. 04 Mar, 2017 1 commit
  30. 18 Feb, 2017 1 commit
  31. 09 Feb, 2017 1 commit
  32. 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
  33. 19 Jan, 2017 2 commits