1. 07 Oct, 2016 1 commit
    • Adam Barth's avatar
      Deploy `@checked` (#6244) · 2c21d795
      Adam Barth authored
      This patch adds `@checked` everywhere is needed to remove the
      `strong_mode_invalid_method_override` strong mode error.
      2c21d795
  2. 26 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Turn off AnimationControllers when not in use (#5902) · 9e673853
      Ian Hickson authored
      This requires all AnimationController objects to be given a
      TickerProvider, a class that can create the Ticker.
      
      It also provides some nice mixins for people who want to have their
      State provide a TickerProvider. And a schedulerTickerProvider for those
      cases where you just want to see your battery burn.
      
      Also, we now enforce destruction order for elements.
      9e673853
  3. 22 Sep, 2016 1 commit
  4. 19 Sep, 2016 1 commit
  5. 12 Sep, 2016 1 commit
  6. 09 Sep, 2016 1 commit
  7. 07 Sep, 2016 1 commit
  8. 02 Sep, 2016 1 commit
  9. 26 Aug, 2016 1 commit
  10. 11 Aug, 2016 1 commit
    • Ian Hickson's avatar
      Improve our scroll physics on iOS (#5340) · 17cdc889
      Ian Hickson authored
      Changes in this patch:
      - iOS now uses a different scrollDrag constant than Android.
         - ScrollConfigurationDelegate now knows about target platforms.
         - ScrollBehaviors now know about target platforms.
         - RawInputLine now has to be told what platform it's targetting.
         - PageableList now has a concept of target platform.
      - make debugPrintStack filter its stack.
         - move debugPrintStack to `assertions.dart`.
      - add support for limiting the number of frames to debugPrintStack.
      - make defaultTargetPlatform default to android in test environments.
      - remove OverscrollStyle and MaterialApp's overscrollStyle argument. You
        can now control the overscroll style using Theme.platform.
      - the default scroll configuration is now private to avoid people
        relying on the defaultTargetPlatform getter in their subclasses (since
        they really should use Theme.of(context).platform).
      - fix some typos I noticed in some tests.
      - added a test for flinging scrollables, that checks that the behavior
        differs on the two target platforms.
      - made flingFrom and fling in the test API pump the frames.
      - added more docs to the test API.
      - made the TestAsyncUtils.guard() method report uncaught errors to help
        debug errors when using that API.
      17cdc889
  11. 04 Aug, 2016 1 commit
    • Adam Barth's avatar
      Make AppBar a Hero (#5214) · 628884a8
      Adam Barth authored
      This patch improves the Post and Shrine transitions by making the AppBar
      into a Hero and changing the default MaterialPageTransition. Now the
      AppBar transitions smoothly between screens and the
      MaterialPageTransition doesn't involve a fade effect.
      
      Also, rejigger the bounds of the image header in Pesto to avoid the
      "pop" at the end of the animation by laying out the image header at its
      final visual size instead of relying on occlusion to size the image
      header.
      
      Fixes #5202
      Fixes #5204
      628884a8
  12. 29 Jul, 2016 1 commit
  13. 28 Jul, 2016 1 commit
  14. 23 Jun, 2016 2 commits
  15. 21 Jun, 2016 2 commits
    • Hans Muller's avatar
    • Ian Hickson's avatar
      ImageIcon (#4649) · e502e9c8
      Ian Hickson authored
      Anywhere that accepted IconData now accepts either an Icon or an
      ImageIcon.
      
      Places that used to take an IconData in an `icon` argument, notably
      IconButton and DrawerItem, now take a Widget in that slot. You can wrap
      the value that used to be passed in in an Icon constructor to get the
      same result.
      
      Icon itself now takes the icon as a positional argument, for brevity.
      
      ThemeData now has an iconTheme as well as a primaryIconTheme, the same
      way it has had a textTheme and primaryTextTheme for a while.
      
      IconTheme.of() always returns a value now (though that value itself may
      have nulls in it). It defaults to the ThemeData.iconTheme.
      
      IconThemeData.fallback() is a new method that returns an icon theme data
      structure with all fields filled in.
      
      IconTheme.merge() is a new constructor that takes a context and creates
      a widget that mixes in the new values with the inherited values.
      
      Most places that introduced an IconTheme widget now use IconTheme.merge.
      
      IconThemeData.merge and IconThemeData.copyWith act in a way analogous to
      the similarly-named members of TextStyle.
      
      ImageIcon is introduced. It acts like Icon but takes an ImageProvider
      instead of an IconData.
      
      Also: Fix the analyzer to actually check the stocks app.
      e502e9c8
  16. 20 Jun, 2016 1 commit
  17. 12 Jun, 2016 1 commit
  18. 08 Jun, 2016 1 commit
  19. 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
  20. 31 May, 2016 1 commit
  21. 23 May, 2016 1 commit
  22. 16 May, 2016 3 commits
    • Ian Hickson's avatar
      Make it possible to run tests live on a device (#3936) · 32527017
      Ian Hickson authored
      This makes it possible to substitute 'flutter run' for 'flutter test'
      and actually watch a test run on a device.
      
      For any test that depends on flutter_test:
      
      1. Remove any import of 'package:test/test.dart'.
      
      2. Replace `testWidgets('...', (WidgetTester tester) {`
            with `testWidgets('...', (WidgetTester tester) async {`
      
      3. Add an "await" in front of calls to any of the following:
          * tap()
          * tapAt()
          * fling()
          * flingFrom()
          * scroll()
          * scrollAt()
          * pump()
          * pumpWidget()
      
      4. Replace any calls to `tester.flushMicrotasks()` with calls to
         `await tester.idle()`.
      
      There's a guarding API that you can use, if you have particularly
      complicated tests, to get better error messages. Search for
      TestAsyncUtils.
      32527017
    • Ian Hickson's avatar
      Revert "Rename DefaultTextStyle constructor to explicit (#3920)" (#3930) · c5ff156f
      Ian Hickson authored
      This reverts commit 55f9145e.
      
      Turns out that this commit breaks apps that use the material library,
      because of the _errorTextStyle DefaultTextStyle which has inherit:true.
      Just setting it to false doesn't work, unfortunately, because then you
      hit some sort of issue with merging that text style with others that
      have inherit:true.
      c5ff156f
    • Adam Barth's avatar
      Rename DefaultTextStyle constructor to explicit (#3920) · 55f9145e
      Adam Barth authored
      To make it clear that this constructor requires an explicit style. Also
      throw a descriptive error recommending the inherit constructor for
      styles with the inherit bit set.
      
      Fixes #3842
      55f9145e
  23. 13 May, 2016 1 commit
  24. 12 May, 2016 1 commit
  25. 09 May, 2016 1 commit
  26. 03 May, 2016 1 commit
  27. 29 Apr, 2016 1 commit
    • Adam Barth's avatar
      Fix the padding and space for FlatButton and RaisedButton (#3650) · b2fa6c25
      Adam Barth authored
      Instead of incorporating the margin into the button, introduce a ButtonBar
      widget that supplies the proper spacing between the buttons. Also, make these
      buttons more configurable via ButtonTheme so that dialogs can change the
      minWidth and padding of the buttons as required by the spec.
      
      Fixes #1843
      Fixes #3184
      b2fa6c25
  28. 27 Apr, 2016 1 commit
  29. 14 Apr, 2016 1 commit
  30. 09 Apr, 2016 1 commit
  31. 07 Apr, 2016 1 commit
    • Adam Barth's avatar
      TabView should keep state · 76f66605
      Adam Barth authored
      Previously, we lost sync with the tab view contents when switching tabs. Now we
      key the subtrees to make sure they keep their state across tab animations.
      
      Fixes #3147
      76f66605
  32. 05 Apr, 2016 1 commit
  33. 01 Apr, 2016 1 commit
  34. 31 Mar, 2016 1 commit
  35. 30 Mar, 2016 1 commit
  36. 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