1. 17 Oct, 2019 1 commit
  2. 14 Oct, 2019 1 commit
    • Greg Spencer's avatar
      Fix route focusing and autofocus when reparenting focus nodes. (#42554) · e2c5fd6c
      Greg Spencer authored
      This fixes a problem with reparenting of focus nodes where it would remove the node from the scope's focused children when reparented, even if it was being reparented to another place under the same scope. This only occurred if the scope in question didn't have focus.
      
      This caused nodes to not get autofocused when they were a child of another node within the scope, and were reparented, and then the scope was given focus (as when a route is pushed).
      
      This keeps the node in the scope's child list where it was if the node is reparented under a parent within the same scope.
      
      - Added a test that tries to autofocus a TextField when the route is pushed and there is another 
        FocusNode above the text field. This was how this was first noticed: the autofocus got ignored in 
        this configuration.
      
      - Added a test to focus_manager_test that tests for the specific case of reparenting a node when 
        it's in the focused children of the scope.
      e2c5fd6c
  3. 04 Jun, 2019 1 commit
  4. 31 May, 2019 1 commit
  5. 01 Mar, 2019 1 commit
    • Alexandre Ardhuin's avatar
      Add missing trailing commas (#28673) · 387f8854
      Alexandre Ardhuin authored
      * add trailing commas on list/map/parameters
      
      * add trailing commas on Invocation with nb of arg>1
      
      * add commas for widget containing widgets
      
      * add trailing commas if instantiation contains trailing comma
      
      * revert bad change
      387f8854
  6. 30 Jan, 2019 1 commit
  7. 25 Oct, 2018 1 commit
  8. 23 Oct, 2018 2 commits
  9. 16 Oct, 2018 1 commit
  10. 12 Sep, 2018 1 commit
  11. 02 Aug, 2018 1 commit
  12. 27 Jul, 2018 1 commit
  13. 23 Jul, 2018 1 commit
  14. 16 Jul, 2018 2 commits
  15. 20 Jun, 2018 1 commit
  16. 19 Jun, 2018 1 commit
  17. 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
  18. 01 Feb, 2018 1 commit
  19. 05 Jan, 2018 1 commit
  20. 19 Oct, 2017 1 commit
  21. 08 Sep, 2017 1 commit
  22. 15 Jul, 2017 1 commit
  23. 23 Jun, 2017 1 commit
    • Ian Hickson's avatar
      Deep linking: automatically push the route hiearchy on load. (#10894) · 9adb4a78
      Ian Hickson authored
      The main purpose of this PR is to make it so that when you set the
      initial route and it's a hierarchical route (e.g. `/a/b/c`), it
      implies multiple pushes, one for each step of the route (so in that
      case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
      routes don't exist, it falls back to '/'.
      
      As part of doing that, I:
      
       * Changed the default for MaterialApp.initialRoute to honor the
         actual initial route.
      
       * Added a MaterialApp.onUnknownRoute for handling bad routes.
      
       * Added a feature to flutter_driver that allows the host test script
         and the device test app to communicate.
      
       * Added a test to make sure `flutter drive --route` works.
         (Hopefully that will also prove `flutter run --route` works, though
         this isn't testing the `flutter` tool's side of that. My main
         concern is over whether the engine side works.)
      
       * Fixed `flutter drive` to output the right target file name.
      
       * Changed how the stocks app represents its data, so that we can
         show a page for a stock before we know if it exists.
      
       * Made it possible to show a stock page that doesn't exist. It shows
         a progress indicator if we're loading the data, or else shows a
         message saying it doesn't exist.
      
       * Changed the pathing structure of routes in stocks to work more
         sanely.
      
       * Made search in the stocks app actually work (before it only worked
         if we happened to accidentally trigger a rebuild). Added a test.
      
       * Replaced some custom code in the stocks app with a BackButton.
      
       * Added a "color" feature to BackButton to support the stocks use case.
      
       * Spaced out the ErrorWidget text a bit more.
      
       * Added `RouteSettings.copyWith`, which I ended up not using.
      
       * Improved the error messages around routing.
      
      While I was in some files I made a few formatting fixes, fixed some
      code health issues, and also removed `flaky: true` from some devicelab
      tests that have been stable for a while. Also added some documentation
      here and there.
      9adb4a78
  24. 12 May, 2017 1 commit
  25. 29 Mar, 2017 1 commit
  26. 04 Mar, 2017 1 commit
  27. 21 Feb, 2017 1 commit
  28. 24 Jan, 2017 1 commit
  29. 19 Jan, 2017 1 commit
    • Adam Barth's avatar
      Improve Route lifecycle (#7526) · 23361d5a
      Adam Barth authored
      Previously the navigator wouldn't always call Route.dispose when it was
      removed from the tree. After this patch, the navigator remembers popped
      routes so that it can call dispose on them when it is removed from the
      tree.
      
      Also, improve some error messages around calling dispose() more than
      once on routes and AnimationControllers.
      
      Fixes #7457
      23361d5a
  30. 11 Jan, 2017 1 commit
  31. 07 Nov, 2016 1 commit
  32. 14 Oct, 2016 1 commit
  33. 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
  34. 09 Sep, 2016 1 commit
  35. 01 Aug, 2016 1 commit
  36. 27 Jun, 2016 1 commit
    • Adam Barth's avatar
      Change how navigator prevents redundant operations (#4769) · 2af668f8
      Adam Barth authored
      * Change how navigator prevents redundant operations
      
      Instead of requiring transactions, we now cancel all active pointers that are
      interacting with the navigator and absorb future pointers until we get a chance
      to build. This approach isn't perfect (e.g., events that trigger off the
      cancelled pointers could still interact with the navigator), but it should be
      better than the current transaction-based approach.
      
      Fixes #4716
      
      * Remove openTransaction
      
      * test
      
      * fixup
      2af668f8
  37. 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
  38. 04 May, 2016 1 commit