1. 23 Oct, 2018 1 commit
  2. 16 Oct, 2018 1 commit
  3. 12 Sep, 2018 1 commit
  4. 04 Jun, 2018 1 commit
  5. 16 May, 2018 1 commit
  6. 01 May, 2018 1 commit
  7. 30 Apr, 2018 1 commit
  8. 27 Apr, 2018 1 commit
  9. 26 Apr, 2018 1 commit
  10. 25 Apr, 2018 1 commit
  11. 24 Apr, 2018 1 commit
  12. 27 Mar, 2018 1 commit
  13. 22 Mar, 2018 1 commit
    • xster's avatar
      Cupertino pull to refresh part 1: sliver and a simple indicator widget builder (#15324) · feadfd2e
      xster authored
      * Gallery scaffolding
      
      * Started RenderSliver
      
      * demo and initial hookup
      
      * Cleaned up demo more and scaffolding basic sliver->widget communication structure.
      
      * works
      
      * states and default indicator building works
      
      * start adding docs
      
      * added an alignment setting optimized the sliver relayout mechanism
      
      * tested a default bottom aligned sized indicator
      
      * Added a bunch of tests
      
      * more fixes and more tests
      
      * Finished the tests
      
      * Add docs
      
      * Add more doc diffing wrt material pull to refresh
      
      * Mention nav bar synergy
      
      * add more asserts
      
      * review 1
      
      * Fix mockito 2 / dart 2 / strong typed tests
      
      * review
      
      * Remove the vscode config
      
      * review
      Unverified
      feadfd2e
  14. 16 Mar, 2018 1 commit
  15. 02 Feb, 2018 1 commit
  16. 01 Feb, 2018 1 commit
  17. 14 Oct, 2017 1 commit
  18. 08 Aug, 2017 1 commit
    • Michael Goderbauer's avatar
      Don't trigger an assert when markNeedsSemanticsUpdate is called multiple times... · b551f534
      Michael Goderbauer authored
      Don't trigger an assert when markNeedsSemanticsUpdate is called multiple times in edge cases (#11544)
      
      * Don't trigger assert if a render object ceases to be a semantic boundary
      
      This bug was exposed by https://github.com/flutter/flutter/pull/11309, which caused the following assertion to trigger when scrolling in the Animation demo:
      
      ```
      The following assertion was thrown during _updateSemantics():
      'package:flutter/src/rendering/object.dart': Failed assertion: line 2626 pos 16: 'fragment is
      _InterestingSemanticsFragment': is not true.
      ```
      
      A minimal reproduction of the bug can be found in `semantics_10_test.dart`, which has been added as a regression test for the bug by this PR.
      
      Looking at that test, here is a description of the faulty behaviour:
      1. During the second `pumpWidget` call `RenderExcludeSemantics` marks itself as needing a semantics update (due to excluding going from `false` -> `true`).
      2. This causes the nearest ancestor with semantics information (here: `RenderSemanticsAnnotations` representing the "container" Semantics widget) to be added to the `_nodesNeedingSemantics` list.
      3. `RenderSliverList` (implementation behind ListView) marks itself as needing a semantics update (due to its changing children).
      4. This causes the `RenderSemanticsGestureHandler` to be added to the `_nodesNeedingSemantics` list.
      5. Next, canDrag is updated from `true` -> `false`. This means, `RenderSemanticsGestureHandler` is no longer a semantics boundary, it marks itself as needing a semantics update.
      6. The nearest ancestor with semantics (`RenderSemanticsAnnotations`, the "container") is added to the `_nodesNeedingSemantics` list (this is a no-op because it is already in the list).
      7. During `flushSemantics`, the `_nodesNeedingSemantics` list is walked. The first entry (`RenderSemanticsAnnotations`) updates the semantics tree to only contain the container widget and drop everything else (= no children of the ExcludeSemantics widget are walked).
      8. The second entry (`RenderSemanticsGestureHandler`) is updated. It does not add any semantics of its own and is no longer a semantics boundary. Therefore, it wants to merge its descendent semantics into its parents. Here is where the assert throws because the algorithm assumes that every entry in the `_nodesNeedingSemantics` list will produce and own an `_InterestingSemanticsFragment` (passing your semantics on to your parents is not interesting).
      
      The problem here seems to be step 4 in combination with step 5. In step 4 we rely on the fact that `RenderSemanticsGestureHandler` is an (explicit or implicit) semantics boundary and that it will be able to absorb the semantics change of `RenderSliverList`. This is true
      at this time. However, in step 4 `RenderSemanticsGestureHandler` decides to no longer be an (explicit or implicit) semantics boundary and our assumption from step 5 becomes incorrect. We did nothing to correct this assumption.
      
      This PR removes a node, that could potentially cease to be a (explicit or implicit) semantics boundary from the `_nodesNeedingSemantics` list to fix that problem. Please node that this does not mean that the node's semantics will not be updated: The node's closest ances
      tor with semantics is added to that list during the `markNeedsSemanticsUpdate` call. During `flushSemantics` we will walk from this node to update the semantics of it's children (if changed), which will include the node in question.
      
      * tiny fix
      
      * simplify test
      
      * analyzer fixes
      
      * review comments
      b551f534
  19. 12 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * Manually fix every use of Point.x and Point.y
      
      Some of these were moved to dx/dy, but not all.
      
      * Manually convert uses of the old gradient API
      
      * Remove old reference to Point.
      
      * Mechanical changes
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
      git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
      git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
      git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
      git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
      git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
      git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
      git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
      git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
      git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'
      
      * Mechanical changes - dartdocs
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
      git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'
      
      * Further improvements and a test
      
      * Fix minor errors from rebasing...
      
      * Roll engine
      bf017b79
  20. 28 Mar, 2017 1 commit
    • Phil Quitslund's avatar
      Bump to Dart SDK 1.23.0-dev.10 (#9051) · ab6df3af
      Phil Quitslund authored
      * Bump to Dart SDK 1.23.0-dev.10
      
      * allows us to understand flutter usage via telemetry
      * brings in `@immutable`
      
      Fixes: #9042
      
      * completer fix
      
      * Update to platform 1.1.1.
      ab6df3af
  21. 24 Mar, 2017 1 commit
  22. 13 Mar, 2017 1 commit
  23. 04 Mar, 2017 1 commit
  24. 17 Feb, 2017 2 commits
  25. 09 Feb, 2017 1 commit
    • Ian Hickson's avatar
      Port AppBar to Scrollable2 (#7996) · 83a4cf26
      Ian Hickson authored
      Move the back button and drawer opening logic into the app bar.
      
      Move the tap-status-bar-to-scroll-to-top logic to using
      ScrollControllers. Provide a PrimaryScrollController and a `primary`
      flag on scroll views.
      
      Make it possible to track when a route becomes or stops being poppable.
      83a4cf26
  26. 18 Jan, 2017 1 commit
  27. 30 Nov, 2016 1 commit
  28. 10 Nov, 2016 1 commit
  29. 03 Oct, 2016 1 commit
  30. 21 Sep, 2016 1 commit
  31. 09 Sep, 2016 1 commit
  32. 11 Aug, 2016 1 commit
  33. 05 Aug, 2016 2 commits
  34. 11 Jul, 2016 1 commit
  35. 13 Jun, 2016 1 commit
  36. 03 Jun, 2016 1 commit
  37. 01 Jun, 2016 1 commit
  38. 23 May, 2016 1 commit