1. 08 Sep, 2017 1 commit
    • Hans Muller's avatar
      Make an app's supported locales configurable (#11946) · 4262c1e9
      Hans Muller authored
      * Make an app's supported locales configurable
      
      * Added an supportedLocales.isNotEmpty assert
      
      * WidgetsApp no longer const because supportedLocales.isNotEmpty
      
      * updated per review feedback
      
      * tweaked dartdoc to restart the build
      
      * updated per review feedback
      
      * Updated per review feedback
      4262c1e9
  2. 28 Aug, 2017 1 commit
  3. 24 Aug, 2017 1 commit
  4. 07 Aug, 2017 1 commit
  5. 12 Jul, 2017 1 commit
  6. 29 Jun, 2017 1 commit
  7. 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
  8. 20 Jun, 2017 1 commit
  9. 07 Jun, 2017 1 commit
  10. 29 May, 2017 1 commit
  11. 22 May, 2017 1 commit
  12. 19 May, 2017 1 commit
  13. 15 May, 2017 1 commit
  14. 09 May, 2017 1 commit
  15. 08 May, 2017 2 commits
  16. 06 May, 2017 1 commit
  17. 05 May, 2017 1 commit
  18. 03 May, 2017 2 commits
  19. 24 Apr, 2017 1 commit
  20. 23 Apr, 2017 1 commit
  21. 21 Apr, 2017 2 commits
  22. 20 Apr, 2017 1 commit
  23. 17 Apr, 2017 1 commit
  24. 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
  25. 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
  26. 08 Apr, 2017 1 commit
  27. 07 Apr, 2017 1 commit
  28. 05 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Update the examples/ README and associated fixes. (#9090) · a52c7b47
      Ian Hickson authored
      This yak shave went as follows:
      
      Fix https://github.com/flutter/flutter/issues/8795 by adding stocks to
      the examples README.
      
      Notice the layers entry in that README isn't quite right either.
      Update that.
      
      Check the layers/README file is worth pointing at.
      
      Update the layers/README.
      
      Let's run some of the layer tests to see if they still work.
      
      Oops, need to update them to gradle.
      
      Ok let's try running them again.
      
      Oops, sector is broken.
      
      Add a test for sector.
      
      Fix sector. Find you need to add an assert to a const constructor.
      
      Notice we need to turn const asserts on for the analyzer.
      
      Notice the analysis_options files are out of sync with each other and
      with the full list of lints.
      
      Turn on the lints that should be on.
      
      Fix the bugs that finds.
      a52c7b47
  29. 04 Apr, 2017 2 commits
    • Michael Thomsen's avatar
      Update IJ files to match latest flutter create template (#9103) · 398ee35e
      Michael Thomsen authored
      * Make IntelliJ metadata files consistent with the current flutter create template
      
      * Add missing IJ files from current flutter create template
      
      * Remove run config from layers as it requires running with -t
      
      * Remove workspace.xml files per review feedback
      398ee35e
    • Jakob Andersen's avatar
      Android: Set evaluationDependsOn for plugin subprojects. (#9179) · 5541d71b
      Jakob Andersen authored
      Gradle projects are evaluated in lexicographical order, and the plugin
      projects are at the same level as the :app project, so if a plugin has
      a name that comes before 'app' (like, for example, any name that starts
      with a capital letter), the plugin project will be evaluated before
      :app.
      
      Since :app applies the Flutter Gradle plugin, which tries to
      modify the dependencies of the plugin projects, we have a problem if the
      plugin projects have already been evaluated. Adding
      evaluationDependsOn(':app') to the plugin projects fixes this.
      
      Updated example projects to the latest (plugin-enabled) Gradle build
      files.
      
      Also removed two unused imports in `pluginClass.java.tmpl`.
      5541d71b
  30. 02 Apr, 2017 1 commit
    • Adam Barth's avatar
      Rationalize text input widgets (#9119) · ae899486
      Adam Barth authored
      After this patch, there are three major text input widgets:
      
       * EditableText. This widget is a low-level editing control that
         interacts with the IME and displays a blinking cursor.
      
       * TextField. This widget is a Material Design text field, with all the
         bells and whistles. It is highly configurable and can be reduced down
         to a fairly simple control by setting its `decoration` property to
         null.
      
       * TextFormField. This widget is a FormField that wraps a TextField.
      
      This patch also replaces the InputValue data model for these widgets
      with a Listenable TextEditingController, which is much more flexible.
      
      Fixes #7031
      ae899486
  31. 31 Mar, 2017 1 commit
  32. 24 Mar, 2017 1 commit
  33. 23 Mar, 2017 1 commit
    • Chris Bracken's avatar
      Build Flutter app as a framework on iOS (#8971) · 0ee3f57a
      Chris Bracken authored
      **THIS IS A BREAKING CHANGE.** See below for migration steps for
      existing projects.
      
      Previously, Flutter app code was built as a raw dylib on iOS.  Dynamic
      libraries outside of a framework bundle are not supported on iOS, except
      for the system Swift libraries provided by Xcode.
      
      See:
      https://developer.apple.com/library/content/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-TROUBLESHOOTING_BUNDLE_ERRORS-EMBEDDED__DYLIB_FILES
      
      * Migrates Xcode build from app.dylib to App.framework
      * Migrates flutter create template
      * Migrates example projects
      
      Migration steps for existing projects
      =====================================
      
      The following steps should be taken from the root of your Flutter
      project:
      
      1. Edit `ios/.gitignore`: add `/Flutter/App.framework` on a new line.
      2. In the Xcode project navigator, remove `app.dylib` from the Flutter
         folder. Delete this file from the `ios/Flutter` directory in your project.
      3. Run a build to generate `ios/Flutter/App.framework`. From the command
         line, run `flutter build ios`. If you have not configured app signing
         in Xcode, an alternative method is to open the simulator, then run
         `flutter run -d iP`.
      4. In the Xcode project navigator, select the `Runner` project. In the
         project settings that are displayed in the main view, ensure that the
         `Runner` target is selected. You can verify this by exposing the
         sidebar using the [| ] icon in the upper-left corner of the main
         view.
      5. Select the *General* tab in the project settings. Under the
         *Embedded Binaries* section, click '+' to add `App.framework`. In the
         sheet that drops down, click the *Add Other...* button. Navigate to
         the `ios/Flutter` directory and select `App.framework`. Click *Open*.
         In the sheet that drops down, select *Create folder references*, then
         click *Finish*.
      6. In the project settings, verify that `App.framework` has been added to the
         *Embedded Binaries* and *Linked Frameworks and Libraries* lists.
      7. In the Xcode project navigator, drag `App.framework` under the
         Flutter folder.
      8. In the Xcode project navigator, select `Flutter` then from the
         *File* menu, select *Add Files to "Runner"...*. Navigate to the
         `ios/Flutter` directory, select `AppFrameworkInfo.plist` and click
         the *Add* button.
      9. From the command line, in your project directory, run
         `flutter build clean`, then `flutter run`.
      
      At this point your project should be fully migrated.
      0ee3f57a
  34. 21 Mar, 2017 1 commit
  35. 15 Mar, 2017 2 commits