1. 22 Jan, 2017 1 commit
  2. 17 Jan, 2017 2 commits
    • Hans Muller's avatar
      60847a1d
    • 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
  3. 13 Jan, 2017 1 commit
    • Adam Barth's avatar
      Add GestureArenaTeam (#7481) · 0139c69c
      Adam Barth authored
      Previously, the Slider used a drag gesture recognizer to move the head
      of the slider, but when the slider was in a vertical scroller, the
      recognizer would wait until the user moved the pointer by enough pixels
      to disambiguate between sliding the slider and scrolling the scroller.
      
      That worked fine for actual drags, but the slider should also move when
      the user taps the track. This patch introduces a tap recognizer to
      handle that behavior.
      
      To avoid the slider's drag and tap recognizers from competing with each
      other in the arena, this patch introduces the notion of a
      GestureArenaTeam, which lets several recognizers combine to form one
      entry in the arena.  If that entry wins, the team picks the first of its
      recognizers as the winner, avoiding latency.
      
      Fixes #7454
      0139c69c
  4. 10 Jan, 2017 1 commit
  5. 06 Jan, 2017 1 commit
    • Ian Hickson's avatar
      Changes to the drag gesture detectors and the velocity tracker (#7363) · 11d1d54c
      Ian Hickson authored
      - more dartdocs for the drag typedefs
      
      - more toStrings to aid debugging
      
      - require the position for DragUpdateDetails since we were omitting it
        in some places
      
      - add the primaryVelocity to DragEndDetails so that consumers don't
        have to themselves track the axis in question
      
      - fix the velocity tracker so that it doesn't walk the null data.
        Previously, near time t=0 (which pretty much only matters in tests,
        but it does matter there) we would walk the velocity data and then
        also walk missing data, treating it as Point.zero with t=0.
      
      - simplify some of the velocity tracker; e.g. instead of trying (and
        failing?) to clear the velocity tracker when the pointer stalls,
        just drop the data before a stall during the velocity estimation
        (where we redundantly had another bigger horizon anyway).
      11d1d54c
  6. 19 Nov, 2016 1 commit
  7. 16 Nov, 2016 2 commits
  8. 15 Nov, 2016 1 commit
  9. 01 Nov, 2016 1 commit
  10. 28 Oct, 2016 1 commit
  11. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Tap above LongPressDraggable should work (#6348) · 61240fe8
      Adam Barth authored
      Previously, we were nulling out the ArenaEntry in MultiDragPointerState
      too early, which was prevent MultiDragPointerState from rejecting the
      gesture in `dispose` if we hadn't accepted by the time the pointer went
      up. Now we properly reject the gesture, which causes the tap gesture to
      win during `sweep` in the arena.
      
      Also, add a bunch of docs and annotations based on information I learned
      while studying this issue. Finally, rename a private member of tap
      recognizer to a name that would have confused me less in my
      investigation.
      
      Fixes #1186
      61240fe8
  12. 16 Oct, 2016 1 commit
  13. 15 Oct, 2016 1 commit
    • Adam Barth's avatar
      Ensure delayed multidrag timer is stopped (#6340) · 034d2fcd
      Adam Barth authored
      Previously we were relying on the gesture arena to call us back to
      cancel our timer. However, in the case where we've already been
      accepted, asking the gesture arena to reject us doesn't lead to a
      callback and we fail to stop the timer (and hence trigger an assert).
      
      Fixes #6156
      034d2fcd
  14. 04 Oct, 2016 1 commit
  15. 03 Oct, 2016 1 commit
  16. 30 Sep, 2016 1 commit
  17. 21 Sep, 2016 1 commit
    • James Robinson's avatar
      Isolate imports of generated Dart code from generated path (#5960) · a95c9fdb
      James Robinson authored
      This rewrites imports of various mojom.dart files from the Flutter
      engine repo to instead import normal-looking dart files from the
      (new) flutter_services package. This package handles exporting the
      correct symbols from generated code wherever that may live.
      
      Includes an engine roll to 3551e7a48e2e336777b15c7637af92fd7605b6c5
      which contains the new flutter_services package.
      a95c9fdb
  18. 15 Sep, 2016 1 commit
  19. 09 Sep, 2016 1 commit
  20. 02 Aug, 2016 1 commit
  21. 07 Jul, 2016 1 commit
  22. 01 Jul, 2016 1 commit
  23. 27 Jun, 2016 2 commits
    • Adam Barth's avatar
      Improve test coverage for gestures.dart (#4773) · bb0c41f2
      Adam Barth authored
      This patch adds tests for some code paths we weren't hitting before and removes
      some dead code that couldn't be tested because it was unreachable.
      bb0c41f2
    • Adam Barth's avatar
      Change how navigator prevents redundant operations (#4769) · 2af668f8
      Adam Barth authored
      * Change how navigator prevents redundant operations
      
      Instead of requiring transactions, we now cancel all active pointers that are
      interacting with the navigator and absorb future pointers until we get a chance
      to build. This approach isn't perfect (e.g., events that trigger off the
      cancelled pointers could still interact with the navigator), but it should be
      better than the current transaction-based approach.
      
      Fixes #4716
      
      * Remove openTransaction
      
      * test
      
      * fixup
      2af668f8
  24. 20 Jun, 2016 1 commit
    • Adam Barth's avatar
      Fix asserts in Draggable dismounting (#4644) · b3780ebc
      Adam Barth authored
      In writing a test for #1927, I found a number of bugs in how Draggable shuts
      down. Previously it would leak its recongizer. Now it disposes its recognizer
      and the recognizer knows how to be disposed cleanly.
      
      Fixes #1927
      b3780ebc
  25. 09 Jun, 2016 1 commit
  26. 07 Jun, 2016 2 commits
  27. 03 Jun, 2016 3 commits
    • Adam Barth's avatar
      Fix DragUpdateDetails docs (#4350) · daa0e7fa
      Adam Barth authored
      I changed the behavior late in the code review but didn't update this dartdoc.
      daa0e7fa
    • Adam Barth's avatar
      Add dartdoc to basic.dart (#4345) · f2ea70d9
      Adam Barth authored
      This patch starts working through the missing dartdocs in widgets.dart.
      f2ea70d9
    • Adam Barth's avatar
      Convert drag gestures to use details objects (#4343) · 2d4acb80
      Adam Barth authored
      Previously we supplied individual parameters to the various drag and pan
      callbacks. However, that approach isn't extensible because each new
      parameter is a breaking change to the API.
      
      This patch makes a one-time breaking change to the API to provide a
      "details" object that we can extend over time as we need to expose more
      information. The first planned extension is adding enough information to
      accurately produce an overscroll glow on Android.
      2d4acb80
  28. 01 Jun, 2016 1 commit
    • Adam Barth's avatar
      Deploy mustCallSuper (#4285) · a0e7cdba
      Adam Barth authored
      This patch starts using the mustCallSuper annotation for several of the key
      lifecycle callbacks in the framework. I haven't added it to didUpdateConfig
      because there are a large number of non-compliant overrides. We should discuss
      whether we want to use it there.
      a0e7cdba
  29. 27 May, 2016 1 commit
  30. 25 May, 2016 1 commit
  31. 18 May, 2016 1 commit
  32. 17 May, 2016 2 commits
  33. 12 May, 2016 1 commit