1. 06 Jan, 2016 2 commits
  2. 04 Dec, 2015 1 commit
  3. 03 Dec, 2015 1 commit
    • Adam Barth's avatar
      Fix a large number of Drawer bugs · 1d195cb9
      Adam Barth authored
      This patch restructures how we handle drawer. The drawer is now a child of the
      Scaffold, which wraps the Drawer in a DrawerController. The DrawerController
      manages the interaction with the navigator as well as the edge swiping. The
      DrawerController's state machine is driven almost entirely off its Performance,
      which it now owns completely.
      
      Fixes #90
      Fixes #187
      Fixes #192
      Fixes #194
      Fixes #604
      1d195cb9
  4. 30 Nov, 2015 1 commit
    • Hixie's avatar
      NavigatorTransaction · f9ea1ce8
      Hixie authored
      To make it easier to avoid pushing twice in one frame, provide a
      transaction mechanism for the navigator.
      f9ea1ce8
  5. 23 Nov, 2015 1 commit
  6. 19 Nov, 2015 1 commit
    • Hixie's avatar
      Snackbar Refactor · 954713ab
      Hixie authored
      "showSnackBar()" is now a feature of a Scaffold. To get to a Scaffold
      you either use a global key (`scaffoldKey.currentState.showSnackBar(...)`),
      or you use `Scaffold.of(context)`.
      
      Snack bars no longer have a route. They are entirely managed by the
      Scaffold. Fixes #432.
      
      Snack bars now queue up when you have several of them. Fixes #374.
      
      Snack bars now auto-size themselves around their contents. This is step
      one towards implementing multiline snack bars.
      
      Snack bars now self-dismiss after some per-snackbar configurable period.
      
      The self-dismissing pauses while a dialog is up above the snackbar (or
      anything that uses ModalRoute). To enable this, there's now a
      `ModalRoute.of(context)` API that returns the current ModalRoute, and
      you will be rebuilt if you asked for this and the route's "current"
      status changes. To implement this, the Navigator now rebuilds
      unconditionally any time it pushes or pops a route.
      
      Snack bars now use the curves that Android uses for snack bars.
      
      Snack bar contents now fade in.
      954713ab
  7. 12 Nov, 2015 2 commits
    • Hixie's avatar
      flutter analyze command · a0227cab
      Hixie authored
      Other changes in this patch:
      - Make the 'flutter' tool say "Updating flutter tool..." when it calls
        pub get, to avoid confusion about what the pub get output is about.
      - Make the bash flutter tool call pub get when the revision has
        changed. (This was already happening on Windows.)
      - Fix a raft of bugs found by the analyzer.
      - Fix some style nits in various bits of code that happened to be near
        things the analyzer noticed.
      - Remove the logic in "flutter test" that would run "pub get", since
        upon further reflexion it was determined it didn't work anyway.
        We'll probably have to add better diagnostics here and say to run the
        updater script.
      - Remove the native velocity tracker script, since it was testing code
        that has since been removed.
      
      Notes on ignored warnings:
      - We ignore warnings in any packages that are not in the Flutter repo or
        in the author's current directory.
      - We ignore various irrelevant Strong Mode warnings. We still enable
        strong mode because even though it's not really relevant to our needs,
        it does (more or less accidentally) catch a few things that are
        helpful to us.
      - We allow CONSTANTS_LIKE_THIS, since we get some of those from other
        platforms that we are copying for sanity and consistency.
      - We allow one-member abstract classes since we have a number of them
        where it's perfectly reasonable.
      - We unfortunately still ignore warnings in mojom.dart autogenerated
        files. We should really fix those but that's a separate patch.
      - We verify the actual source file when we see the 'Name non-constant
        identifiers using lowerCamelCase.' lint, to allow one-letter variables
        that use capital letters (e.g. for physics expressions) and to allow
        multiple-underscore variable names.
      - We ignore all errors on lines that contain the following magic
        incantation and a "#" character:
          // analyzer doesn't like constructor tear-offs
      - For all remaining errors, if the line contains a comment of the form
          // analyzer says "..."
        ...then we ignore any errors that have that "..." string in them.
      a0227cab
    • Adam Barth's avatar
      ItemBuilder should also get the index of the item · 0259ad81
      Adam Barth authored
      This seems useful for numbering the entries in the list, for example.
      
      Fixes #328
      0259ad81
  8. 10 Nov, 2015 1 commit
  9. 07 Nov, 2015 1 commit
  10. 06 Nov, 2015 1 commit
    • Hixie's avatar
      Teach Block about padding. · 1f5844ea
      Hixie authored
      It's common to want a scrolling viewport but with padding around the
      contents. Teaching Block about this makes the places that do this
      substantially simpler and further buries ScrollableViewport and
      BlockBody (they're now only used in scrollable.dart).
      1f5844ea
  11. 05 Nov, 2015 1 commit
  12. 02 Nov, 2015 3 commits
  13. 01 Nov, 2015 1 commit
  14. 29 Oct, 2015 1 commit
    • Hixie's avatar
      Rev package versions for release. · fca9b8f3
      Hixie authored
      sky_engine is now at 0.0.45
      sky_services is now at 0.0.45
      flx is now at 0.0.4
      flutter is now at 0.0.15
      flutter_sprites is now at 0.0.12
      fca9b8f3
  15. 28 Oct, 2015 2 commits
    • Hixie's avatar
      Rev package versions for release. · cbf9eab8
      Hixie authored
      sky_engine is now at 0.0.44
      sky_services is now at 0.0.44
      flx is now at 0.0.3
      flutter is now at 0.0.14
      flutter_sprites is now at 0.0.11
      cbf9eab8
    • Adam Barth's avatar
      Icon should use an enum rather than an int for size · eeea4ab7
      Adam Barth authored
      Material design icons are defined to work at specific sizes: 18, 24, 36, 48.
      The current API doesn't reflect that and just takes a size int. If an invalid
      size is chosen an error is printed to the console and no icon shows up.
      
      Fixes #1816
      eeea4ab7
  16. 27 Oct, 2015 1 commit
    • Ian Hickson's avatar
      Track scroll position · 8a900f90
      Ian Hickson authored
      - Change RouteArguments to pass the route's BuildContext rather than
        the Navigator. This caused the bulk of the examples/ and .../test/
        changes (those are mostly mechanical changes). It also meant I could
        simplify Navigator.of().
      
      - Make initState() actually get called when the State's Element is in
        the tree, so you can use Foo.of() functions there. Added a test for
        this also.
      
      - Provide a RouteWidget so that routes have a position in the Widget
        tree. The bulk of the route logic is still in a longer-lived Route
        object for now.
      
      - Make Route.setState() only rebuild the actual route, not the whole
        navigator.
      
      - Provided a Route.of().
      
      - Provided a Route.writeState / Route.readState API that tries to
        identify the clients by their runtimeType, their key, and their
        ancestors keys, up to the nearest ancestor with a GlobalKey.
      
      - Made scrollables hook into this API to track state. Added a test to
        make sure this works.
      
      - Fix the debug output of GestureDetector and the hashCode of
        MixedViewport.
      
      - Fixed ScrollableWidgetListState<T> to handle infinite lists.
      8a900f90
  17. 26 Oct, 2015 1 commit
    • Hixie's avatar
      Radio<T> and ValueChanged<T> · b1dbf452
      Hixie authored
      Make Radio widgets take a type that describes the type of their value,
      so that you can catch when you use the wrong value.
      
      Standardise on ValueChanged<Foo> instead of having a FooValueChanged
      for every value of Foo.
      b1dbf452
  18. 24 Oct, 2015 1 commit
    • Hixie's avatar
      Strong modeify the examples · a6c473ea
      Hixie authored
      This makes skyanalyzer also check the examples, and fixes everything it
      found there.
      a6c473ea
  19. 23 Oct, 2015 1 commit
  20. 22 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add Navigator.of · de395582
      Adam Barth authored
      Now you don't need to pass the navigator around everywhere.
      de395582
  21. 19 Oct, 2015 2 commits
  22. 12 Oct, 2015 2 commits
  23. 10 Oct, 2015 1 commit
  24. 09 Oct, 2015 2 commits
  25. 06 Oct, 2015 2 commits
  26. 05 Oct, 2015 3 commits
    • Hixie's avatar
      Simplify the usage of Navigator's routes argument · 90a0f630
      Hixie authored
      (These are changes cherry-picked from in-flight branches since they are
      more independent and could be helpful even without those changes.)
      
      - Change RouteBuilder's signature to take a single argument in which the
        other fields are placed, so that we can keep iterating on those
        arguments without having to break compatibility each time. Also, this
        makes defining route builders much simpler (only one argument to
        ignore rather than a variable number).
      
      - Expose the next performance to RouteBuilders, since sometimes the
        route itself might not be where it's used.
      
      - Allow BuildContext to be used to walk children, just like it can for
        ancestors
      
      - Allow BuildContext to be used to get the Widget of the current
        BuildContext
      
      - Allow StatefulComponentElement to be referenced with a type
        specialisation so that you don't have to cast when you know what the
        type you're dealing with actually is.
      90a0f630
    • Adam Barth's avatar
      Improves names of animation classes · 3f82552d
      Adam Barth authored
      Fixes #1170
      3f82552d
    • Adam Barth's avatar
      Convert Drawer to using navigator · 49c47876
      Adam Barth authored
      This patch converts drawer to using the "openDialog" pattern for managing its
      state. Currently, the drawer entrance and exit animation aren't integrated with
      the navigator's animation system because the drawer's animations can be stopped
      and reversed, which the navigator can't yet understand. That means dismissing
      the drawer via the system back button causes the drawer to be removed
      instanteously.
      
      Fixes #715
      Fixes #1187
      49c47876
  27. 03 Oct, 2015 1 commit
    • Adam Barth's avatar
      RenderInkWell should use gestures · cf889934
      Adam Barth authored
      After this patch, InkWell is driven by gesture recognizers, which lets us
      cleanly cancel splashes when the user actually scrolls.
      
      I've also refactored all the clients of InkWell to use InkWell to detect
      gestures instead of wrapping InkWell in a GestureDetector.
      
      Fixes #1271
      cf889934
  28. 01 Oct, 2015 2 commits