1. 27 Apr, 2016 1 commit
  2. 20 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Reset _simulation at the end of a fling (#3435) · 112f2cc3
      Ian Hickson authored
      Also a bit of code cleanup.
      
      The key part of this patch is the addition in `_endScroll` to reset
      `_simulation`. It seems like this was the one place where it's possible
      for us to end the animation but not reset our state. Since we assert
      that are state is coherent, we were hitting asserts when a fling
      finished and then you interacted with the widget again.
      112f2cc3
  3. 14 Apr, 2016 1 commit
    • pq's avatar
      Adding `@optionalTypeArgs`. · de25ea22
      pq authored
      With the new dev build we've got the updated linter and so can use the `@optionalTypeArgs` annotation (in `meta 0.12.0`).
      
      Bonus: this lets us clean up one more Regexp in the `analyze` command! :)
      de25ea22
  4. 12 Apr, 2016 2 commits
  5. 09 Apr, 2016 1 commit
  6. 07 Apr, 2016 1 commit
  7. 06 Apr, 2016 4 commits
    • Hans Muller's avatar
      Overscroll indicator for MaterialList · c058cf2e
      Hans Muller authored
      Overscroll indicator for MaterialList
      c058cf2e
    • Adam Barth's avatar
      Remove MixedViewport · 2d49e807
      Adam Barth authored
      Also, port the MixedViewport tests to LazyBlockViewport. Fix bugs found by the tests.
      2d49e807
    • Ian Hickson's avatar
      Fix analyzer warnings · 798dfa2b
      Ian Hickson authored
      Fix some legit uses of GlobalKey to specify the type they want.
      
      
      
      Fix some sketchy uses of GlobalKey in tests to fake it with "as
      
      dynamic".
      
      
      
      Remove some extraneous imports that made the build red.
      798dfa2b
    • Adam Barth's avatar
      LazyBlock docs and physics · 6fd68597
      Adam Barth authored
      This patch adds dartdoc to LazyBlock. Also, this patch fixes the scrolling
      physics of LazyBlock. Previously, we updated a running simulation only when the
      change in scroll behavior changed the current scroll offset. Now we update
      running simulations every time the behavior changes because the simulation
      might depend on quantities other than the current scroll offset.
      6fd68597
  8. 05 Apr, 2016 1 commit
    • Adam Barth's avatar
      Adds a first draft of LazyBlock · 618e7e49
      Adam Barth authored
      LazyBlock is intended as a replacement for MixedViewport. Rather than
      
      maintaining a table of all the observed child sizes (like
      
      MixedViewport), LazyBlock works by dead reckoning the location of the
      
      children based on the existing viewport. This approach makes it easier
      
      to resize children because LazyBlock doesn't cache any additional
      
      information that would need to be invalidated.
      
      
      
      This patch contains a first draft of LazyBlock that works in a simple
      
      usage scenario. Subsequent patches will replace
      
      ScrollableMixedWidgetList with LazyBlock and port the existing
      
      ScrollableMixedWidgetList tests over to LazyBlock.
      
      
      
      Related to #3075
      618e7e49
  9. 04 Apr, 2016 1 commit
  10. 31 Mar, 2016 1 commit
  11. 23 Mar, 2016 1 commit
    • Adam Barth's avatar
      Scrollable physics should be reasonable when sizes change · f7f1259b
      Adam Barth authored
      Previously, when the content extent changed during a scroll interaction, we'd
      stop the current scroll interaction and reset the scroll offset. Now we try to
      continue the scroll interaction (e.g., drag, fling, or overscroll) even through
      the underlying scroll behavior has changed.
      
      For physics-based scroll interactions, we keep the current position and
      velocity and recompute the operative forces. For drag interactions, we keep the
      current position and continue to let the user drag the scroll offset.
      
      After this patch, we still disrupt non-physical scroll animations that are
      operating outside the new scroll bounds because it's not clear how we can
      sensibly modify them to work with the new scroll bounds.
      f7f1259b
  12. 22 Mar, 2016 1 commit
  13. 21 Mar, 2016 1 commit
    • Adam Barth's avatar
      Scrollable sometimes pushes frames forever · 5a5fcb95
      Adam Barth authored
      We were setting a negative velocity tolerance, which never triggered because we
      assume tolerances are positive numbers. Now we use a positive tolerance and
      assert to catch this case in the future.
      
      Fixes #2765
      5a5fcb95
  14. 18 Mar, 2016 1 commit
  15. 15 Mar, 2016 1 commit
    • Adam Barth's avatar
      Tapping drawer during animation causes it to stick · a710676d
      Adam Barth authored
      The problem was we were using a tap gesture to stop the motion of the
      drawer and a drag gesture to settle it. That can cause a broken
      lifecycle. Now we use a single drag recognizer to drive the whole
      lifecycle.
      
      Fixes #775
      Fixes #1276
      a710676d
  16. 14 Mar, 2016 2 commits
  17. 12 Mar, 2016 9 commits
  18. 06 Mar, 2016 1 commit
  19. 03 Mar, 2016 1 commit
  20. 27 Feb, 2016 1 commit
  21. 26 Feb, 2016 2 commits
  22. 25 Feb, 2016 1 commit
    • Hixie's avatar
      Remove size observers from scrollables. · f8080557
      Hixie authored
      Also:
       - add operator==/hashCode/toString to ViewportDimensions
       - add toString to BindingBase
       - add toString and debugFillDescription to ScrollBehavior
       - fix a bug in the RawGestureDetectorState's replaceGestureRecognizers
       - rename MixedViewport's onExtentsUpdate to onExtentChanged
       - replace ExtentsUpdateCallback with ValueChanged<double>
       - remove a microtask for dispatching scroll start, since it
         did not appear to have any purpose
       - added dartdocs to Instrumentation until I understood it
       - made all event dispatch in Instrumentation drain microtasks
      f8080557
  23. 14 Feb, 2016 1 commit
    • Adam Barth's avatar
      Add a Velocity class to be explicit about units · 4fb47600
      Adam Barth authored
      We were using an Offset, which represented pixels/second, but it wasn't
      clear to clients whether that was pixels/ms. Now we use a Velocity class
      that is explict about the units.
      
      Fixes #1510
      Fixes #785
      4fb47600
  24. 12 Feb, 2016 1 commit
    • Hixie's avatar
      SizeObserver crusade: snap alignment · fd7be69d
      Hixie authored
      Remove the SizeObserver you need to use snap alignment in lists by
      having the lists provide the size themselves in the callback.
      
      Also, remove snapAlignmentOffset since we couldn't figure out how to
      explain it and it's not really needed.
      fd7be69d
  25. 11 Feb, 2016 1 commit
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      Ian Hickson authored
      Each layer is supposed to reexport the parts of the previous layer
      that are part of its API.
      
      - In painting.dart, export from dart:ui all the Canvas-related APIs
        that make sense to be used at higher levels, e.g. PaintingStyle.
      
      - Delete painting/shadows.dart. It was dead code.
      
      - In rendering/object.dart, export all of painting.dart.
      
      - In widgets/basic.dart, export all of painting.dart and
        animation.dart. Some classes in animation/ are renamed to make this
        less disruptive and confusing to the namespace.
      
      - Split out Stocks back into an import model rather than a part model,
        so that it's easier to manage its dependencies on a per-file basis.
      
      - Move Ticker to scheduler library.
      
      - Remove as many redundant imports as possible now.
      
      - Some minor nit picking cleanup in various files.
      a94999ba
  26. 09 Feb, 2016 1 commit