8028 Commits

Author SHA1 Message Date
Adam Barth
ae8994860e Rationalize text input widgets (#9119)
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
2017-04-01 17:30:21 -07:00
Jason Simmons
91dbb3c91e roll engine and update tools for the removal of dart:jni (#9137) 2017-03-31 16:20:14 -07:00
Chris Bracken
a54979e1fe iOS: fail build wth error if Python six missing (#9135)
Xcode builds depend on the Python 'six' module. If not present, exit
immediately with a useful error message.

The six module is included in the system default Python installation. We
perform this check in case a custom Python install has higher priority
on $PATH; e.g., due to a Homebrew or MacPorts installation.

This extracts an existing doctor check to use it during the build step
as well.
2017-03-31 14:40:22 -07:00
Adam Barth
89aaaa9c32 Improve focus management (#9074)
We now have an explicit focus tree that we manage. Instead of using
GlobalKeys to manage focus, we use FocusNode and FocusScopeNode objects.
The FocusNode is Listenable and notifies when its focus state changes.

Focus notifications trigger by tree mutations are now delayed by one
frame, which is necessary to handle certain complex tree mutations. In
the common case of focus changes being triggered by user input, the
focus notificiation still arives in the same frame.
2017-03-31 13:10:37 -07:00
Collin Jackson
60e05e9a0e Remove Android support library in Flutter builds. Fixes #9120, #9102, #9121. (#9123)
This reverts commit 8f9d4a226047c9fe40300ed25d38eeef03d0dfdd.
2017-03-31 09:35:25 -07:00
Alexandre Ardhuin
2de61a0853 add @required when there's an assert not null (#9124)
* add @required when there's an assert not null

* address review comments
2017-03-31 18:34:13 +02:00
xster
86e9fc1c68 Add FadeTransition to Android page transition (#9086)
* Add FadeTransition to Android page transition

* Also move starting point up

* Add test

* Use const fractional offset
2017-03-30 18:46:32 -07:00
xster
1a87e8182a Change foundation references in foundation to meta (#9107)
* Change foundation references to meta

* Remove specified shows
2017-03-30 18:19:00 -07:00
Devon Carew
01d48c9961 update the flutter create template for IntelliJ 2017.1 (#9106) 2017-03-30 13:53:22 -07:00
Jakob Andersen
104e7ba576 Update plugin template to new channel API. (#9105) 2017-03-30 21:25:31 +02:00
John McCutchan
0ee7fabe9a Improve verbose trace output (#9104)
Related #8876
2017-03-30 10:03:42 -07:00
Ian Hickson
d709f18cd2 Do not swallow exceptions in guarded functions. (#9064) 2017-03-30 09:50:30 -07:00
Sarah Zakarias
a94e995f3e Add swift version of Platform Channel example (#9098)
* wip

* wip

* delete main.m

* readd main.m

* update to use new channel api

* update android

* removed android/

* remove debug print

* remomved main.m

* Update year in copyright

* break long line and update name

* mit comments

* update examples/README

* break line

* update README

* update test
2017-03-30 15:11:19 +02:00
Sarah Zakarias
089194fc15 update iml and .idea (#9101) 2017-03-30 14:23:12 +02:00
Michael Thomsen
cf98008475 Fix path in modules.xml to match new location of .iml (#9100) 2017-03-30 14:13:07 +02:00
Sarah Zakarias
3e6a2c7636 cleanup platform_channel (#9099) 2017-03-30 13:27:48 +02:00
Jakob Andersen
f34f8a3197 Add template for plugin projects. (#9076)
Plugin projects are created by running `flutter create --plugin <name>`.

An example app is also created in the plugin project, using the normal 'create' template, which has been modified to allow for conditional plugin code.

Modified the android package name to match package naming conventions (all lower-case, and must match the directory name).
2017-03-30 12:39:21 +02:00
Mikkel Nygaard Ravn
471c97df30 Platform channel API cleanup (#9048) 2017-03-30 08:27:13 +02:00
Adam Barth
0e43e581d1 SliverChildDelegate should know which children are live (#9073)
This patch adds a notification to SliverChildDelegate that says which
children are alive after each layout. The delegate can use this
information to optimize it's underlying model of the children (e.g., by
discarding models for children that are far outside the live range).

Fixes #9045
2017-03-29 22:54:03 -07:00
Chris Bracken
abfee824cd Re-enable iOS transitions test in devicelab (#9097)
This reverts commit 326355f0f913c954f92aa74612daa78be22755dd.
2017-03-29 19:19:57 -07:00
Chris Bracken
bd8e431d79 Restrict timeline collection to a subset of demos (#9093)
Also refactors demos list into a class with `synchronized` and
`profiled` properties.

When run with --trace-startup, as we do in this test, the VM stores
trace events in an endless buffer instead of a ring buffer. To avoid
out-of-memory conditions, we restrict timeline collection to a subset.
2017-03-29 19:12:50 -07:00
Chris Bracken
2993ae8ddb Migrate flutter_view example to new plugin API (#9096)
Ref: flutter/engine#3539
2017-03-29 18:45:19 -07:00
Chris Bracken
002ba64bc1 Migrate platform_channel to updated API (#9094)
See flutter/engine#3539
2017-03-29 17:59:45 -07:00
Jason Simmons
e7f1361681 Update artifact names and remove obsolete artifacts (#9091) 2017-03-29 16:30:41 -07:00
Yegor
e067041279 increase vmservice timeout; log stderr in microbenchmarks (#9088) 2017-03-29 15:40:17 -07:00
Jason Simmons
72effdd27c Roll the engine and update for new binary names (#9089) 2017-03-29 15:31:36 -07:00
Alexandre Ardhuin
4c530d5e8c prefer_final_fields (#8967) 2017-03-29 21:21:46 +02:00
xster
bc7801bf8e Remove imports of meta (#9081) 2017-03-29 10:59:18 -07:00
John McCutchan
7483bc153d Stop handling signals and terminal input separately (#9057)
Fixes #7307
2017-03-29 06:46:27 -07:00
Ian Hickson
0b566b3850 Improve output of flutter doctor on iOS (#8959) 2017-03-28 17:16:37 -07:00
Adam Barth
8af91f0401 Some more ImageFit -> BoxFit updates (#8927) 2017-03-28 17:16:27 -07:00
Ian Hickson
ee3fcafcb7 Allow hit testing dirty boxes if they have a size. (#9060)
The new scrolling world marks nodes dirty between frames instead of
waiting for the frame, and we've decided that's actually ok.

There's no test here because the test harness has a bug that hides
this exception. I will submit a separate PR to fix the harness, which
will fix a test that, without _this_ patch, fails. All of which is to
say, this is actually already tested.
2017-03-28 17:15:56 -07:00
Collin Jackson
8f9d4a2260 Re-land #9036 (#9068)
This reverts commit e2b49d64d6c7b2a916c7d351bf3f1a2a137c71c2.
2017-03-28 17:05:04 -07:00
Ian Hickson
326355f0f9 Turn off this flaky test for now. (#9065)
cc @cbracken
2017-03-28 16:40:13 -07:00
Jason Simmons
f7d0aa03f8 Throw an exception if flutter run fails during a microbenchmark (#9061) 2017-03-28 15:46:53 -07:00
Yegor
0ec3ffb4bc increase total task timeout; decrease individual benchmark timeout (#9063) 2017-03-28 15:42:06 -07:00
Yegor
3ef9909237 enable crash reporting in flutter_tools (#9039)
* enable crash reporting in flutter_tools

* fix analytics text; use relative paths

* fix test
2017-03-28 15:16:38 -07:00
Phil Quitslund
ab6df3af40 Bump to Dart SDK 1.23.0-dev.10 (#9051)
* Bump to Dart SDK 1.23.0-dev.10

* allows us to understand flutter usage via telemetry
* brings in `@immutable`

Fixes: #9042

* completer fix

* Update to platform 1.1.1.
2017-03-28 14:53:03 -07:00
Michael Goderbauer
506aea0316 enable windows tests with workaround (#9058) 2017-03-28 14:22:03 -07:00
P.Y. Laligand
f50a3f638c Turn flutter_tools into a proper host tool. (#9054) 2017-03-28 13:13:35 -07:00
Dan Rubel
52245e5082 update flutter analyze to call dartanalyzer 2017-03-28 08:44:15 -04:00
Adam Barth
bbac5dcb45 Update and modernize the flutter_markdown package (#9044)
We now use modern scrolling machinery and patterns. The API should also be
easier to maintain over time.

Fixes #6166
Fixes #2591
Fixes #3123
2017-03-27 20:47:33 -07:00
Collin Jackson
e2b49d64d6 Revert "Revert "Revert "Include fragment support in Android build to allow use of FragmentActivity in FlutterActivity (#9036)"" (#9046)" (#9047)
Test is still failing with increased timeout.

This reverts commit 864b3c37c65a4294735bbdb041d17b112a2659cc.
2017-03-27 19:16:58 -07:00
Collin Jackson
864b3c37c6 Revert "Revert "Include fragment support in Android build to allow use of FragmentActivity in FlutterActivity (#9036)"" (#9046)
Increased the time limit slightly to allow the microbenchmark test time to finish.
2017-03-27 18:12:14 -07:00
Collin Jackson
c346d51dcb Revert "Include fragment support in Android build to allow use of FragmentActivity in FlutterActivity (#9036)" (#9041)
This reverts commit 6bf0ceb02bda8b9a93569b32a7c726cc560b2176.
2017-03-27 17:30:39 -07:00
Hans Muller
26c36623b2 Added a TabBar regression test (#9038) 2017-03-27 16:31:28 -07:00
Collin Jackson
6bf0ceb02b Include fragment support in Android build to allow use of FragmentActivity in FlutterActivity (#9036) 2017-03-27 16:08:36 -07:00
Hans Muller
9192f67252 Shrine gallery demo: support for landscape layout (#9025) 2017-03-27 15:07:24 -07:00
Luke
23981f5996 Add border radius to Ink widgets (#8693)
* adds border radius to ink widgets. sets default ink border radius for material buttons with no background colors

* tidying up code

* add ink test stub

* remove unused import
2017-03-27 14:32:53 -07:00
Michael Goderbauer
cea7c66dfd Disable flaky WIndows test :( (#9029) 2017-03-27 14:04:50 -07:00