1. 16 Jul, 2018 2 commits
  2. 05 Jun, 2018 1 commit
  3. 22 Mar, 2018 1 commit
    • Ian Hickson's avatar
      Clean up the existing Navigator API. (#15718) · aba0379d
      Ian Hickson authored
      This is not a grand refactor yet, it's just cleaning up what we have
      already, so that people who keep using this API (e.g. dialogs) have
      something coherent to deal with.
      
      The major changes are that Navigator and NavigatorState have the same
      API now, that most of the examples use `<void>` instead of `<Null>`,
      that the navigator observer can see replaces, and that the `settings`
      is moved from ModalRoute to Route. I also cleaned up some of the API
      documentation.
      aba0379d
  4. 09 Mar, 2018 1 commit
  5. 07 Mar, 2018 1 commit
    • Josh Soref's avatar
      Spelling (#15229) · c5a5945e
      Josh Soref authored
      * spelling: accommodate
      
      * spelling: allotted
      
      * spelling: anonymous
      
      * spelling: artificial
      
      * spelling: associated
      
      * spelling: asset
      
      * spelling: button
      
      * spelling: canvas
      
      * spelling: compatibility
      
      * spelling: coverage
      
      * spelling: condition
      
      * spelling: decoration
      
      * spelling: deferring
      
      * spelling: diameter
      
      * spelling: direction
      
      * spelling: displacement
      
      * spelling: dropdown
      
      * spelling: needing
      
      * spelling: environment
      
      * spelling: exited
      
      * spelling: expansion
      
      * spelling: explore
      
      * spelling: families
      
      * spelling: horizontal
      
      * spelling: increment
      
      * spelling: indices
      
      * spelling: internationalization
      
      * spelling: labrador
      
      * spelling: localizations
      
      * spelling: midflight
      
      * spelling: milliseconds
      
      * spelling: minimum
      
      * spelling: multiple
      
      * spelling: multiplication
      
      * spelling: navigator
      
      * spelling: overridden
      
      * spelling: package
      
      * spelling: performance
      
      * spelling: platform
      
      * spelling: porsche
      
      * spelling: position
      
      * spelling: preceded
      
      * spelling: precede
      
      * spelling: precedence
      
      * spelling: print
      
      * spelling: property
      
      * spelling: readily
      
      * spelling: reproducibility
      
      * spelling: rounded
      
      * spelling: scroll
      
      * spelling: separate
      
      * spelling: separator
      
      * spelling: services
      
      * spelling: specific
      
      * spelling: specify
      
      * spelling: synchronously
      
      * spelling: through
      
      * spelling: timeout
      
      * spelling: triangle
      
      * spelling: trivial
      
      * spelling: unusual
      
      * spelling: then
      
      * spelling: vertically
      
      * spelling: visible
      
      * spelling: visited
      
      * spelling: voice
      c5a5945e
  6. 08 Feb, 2018 1 commit
    • Vyacheslav Egorov's avatar
      Strong mode fixes in tests (#14520) · 0556e14f
      Vyacheslav Egorov authored
      * Use explicit types for onClick handler in diagnostics_test.
      
      This test formats it to string and expects exact match.
      
      Before this change onClick had type () => dynamic in Dart 1 and () => Null in
      Dart 2.
      
      * Fix strong mode issues in packages/flutter/test/material/dropdown_test.dart
      
      Pass explicit type argument to renderObjectList(...) in expressions like
      
           List<RenderBox> l = tester.renderObjectList(...).toList();
      
      Dart 2 mode inference is not strong enough to infer RenderBox as a type argument
      fto renderObjectList and passes RenderObject instead, which later leads to
      runtime check failures (because List<RenderObject> is not List<RenderBox>).
      
      * Fix strong mode issues in packages/flutter/test/material/theme_test.dart.
      
      Pass type argument explicity to widgetList. Dart 2 type inference can't infer
      it by itself.
      
      * Fix strong mode issue packages/flutter/test/widgets/unique_widget_test.dart
      
      Pass correct type argument to GlobalKey.
      
      * Fix type annotation in packages/flutter/test/material/app_test.dart.
      
      pushNamed returns Future<Object> not Future<String>.
      0556e14f
  7. 02 Feb, 2018 1 commit
  8. 01 Feb, 2018 1 commit
  9. 14 Dec, 2017 1 commit
  10. 17 Nov, 2017 1 commit
    • Ian Hickson's avatar
      DropdownButton RTL (#13040) · 8b15b537
      Ian Hickson authored
      This fixes DropdownButtons to align their popups correctly in RTL as well.
      
      Also while I was there I fixed the issue with text scale factor in the gallery.
      8b15b537
  11. 16 Nov, 2017 1 commit
    • Ian Hickson's avatar
      ExpansionPanel animation fixes (#13032) · c97fc206
      Ian Hickson authored
      Previously, ExpansionPanel would do weird things if interacted with
      when it was already animating. This is fixed and there's now a test.
      
      Also:
      
       * Minor fixes to make the gallery work in RTL, not that there's
         any way to see that without hard-coding the framework to RTL.
         But at least I'll be less annoyed when doing that.
      
       * Some trivial code and documentation cleanup.
      c97fc206
  12. 02 Oct, 2017 1 commit
    • Adam Barth's avatar
      Add Alignment, which will replace FractionalOffset (#12342) · 2b126bcd
      Adam Barth authored
      Unlike FractionalOffset, Alignment uses the center as the zero of the
      coordinate system, which makes the RTL math work out much cleaner.
      
      Also, make FractionalOffset into a subclass of Alignment so that clients
      can continue to use FractionalOffset.
      2b126bcd
  13. 27 Sep, 2017 1 commit
  14. 24 Sep, 2017 1 commit
  15. 15 Sep, 2017 1 commit
  16. 08 Sep, 2017 1 commit
  17. 11 Jul, 2017 1 commit
  18. 24 May, 2017 1 commit
  19. 23 May, 2017 1 commit
  20. 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
  21. 11 Apr, 2017 1 commit
    • xster's avatar
      Rename State.config to widget everywhere (#9273) · 89a7fdfc
      xster authored
      Rename State.config to State.widget
      Rename State.didUpdateConfig to State.didUpdateWidget
      Renamed all State subclasses' local variables named config to something else
      89a7fdfc
  22. 07 Apr, 2017 1 commit
  23. 04 Mar, 2017 1 commit
  24. 14 Feb, 2017 1 commit
  25. 09 Dec, 2016 1 commit
  26. 01 Dec, 2016 1 commit
  27. 22 Nov, 2016 1 commit
  28. 18 Nov, 2016 1 commit
  29. 28 Oct, 2016 1 commit
  30. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Fix DropdownButton regression (#6353) · 6399a3af
      Adam Barth authored
      When I changed how routes complete their futures, I broke the Dropdown
      button because it was still waiting for its own Completer to complete
      instead of using the Future returned by push. This patch fixes that
      issue.
      
      I've also removed the previous behavior of the DropdownButton forwarding
      its text style to its route. The mechansim that we were using doesn't
      work properly in all cases. For example, if the DropdownButton is a
      child of a LayoutBuilder, then the route will have already built by the
      time the DropdownButton gets a chance to forward its text style, causing
      an assert in setState.
      
      Finally, I've tweaked PopupMenuButton to work the same way as
      DropdownButton in a couple corner cases (e.g., not calling the changed
      callback if the button was removed from the tree before the menu
      completed its Future).
      
      Fixes #6352
      6399a3af
  31. 16 Sep, 2016 1 commit
  32. 27 Jun, 2016 1 commit
  33. 18 May, 2016 1 commit
    • Ian Hickson's avatar
      Some cleanup of the test framework (#4001) · d2c8c82f
      Ian Hickson authored
      * Add a "build" phase to EnginePhase for completeness.
      * Ignore events from the device during test execution.
      * More dartdocs
      * Slightly more helpful messages about Timers in verifyInvariants.
      * Add widgetList, elementList, stateList, renderObjectList.
      * Send test events asynchronously for consistency with other APIs.
      * Fix a test that was depending on test events being synchronous (or
        rather, scheduled in a microtask that came before the microtask for
        the completer of the future that the tap() function returned).
      d2c8c82f
  34. 16 May, 2016 1 commit
    • 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
  35. 05 May, 2016 2 commits
    • Adam Barth's avatar
      DropDownMenu should use ScrollableList (#3745) · 2592f8f4
      Adam Barth authored
      Previously it used Block, which is less efficient for large numbers of items.
      Also move the top margin out of the menu item to fix the baseline alignment of
      the text.
      
      Fixes #1615
      2592f8f4
    • Adam Barth's avatar
      Ensure that DropDownMenus are always onscreen (#3742) · 6a46bf2e
      Adam Barth authored
      This patch sizes the menu such that it is always on screen, but doesn't scroll
      the menu to ensure that the currently selected item is always visible and on
      top of the button. That will need to wait for a later patch.
      
      Also, teach CustomPaint how to repaint animations more efficiently.
      
      Fixes #3720
      6a46bf2e