From e4b1eab85477bfbd2782d82dcee1647fa0accd1c Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Tue, 8 Mar 2016 16:35:23 -0800 Subject: [PATCH] Remove //examples/widgets Most of the remaining widget examples are actually manual tests. This patch moves them into //dev/manual_tests. A couple are examples of using services, which I've moved to //examples/layers/services. The remainder are out-dated and are removed by this patch. --- dev/manual_tests/.gitignore | 9 ++ .../manual_tests}/card_collection.dart | 0 .../manual_tests}/drag_and_drop.dart | 0 .../widgets => dev/manual_tests}/mozart.dart | 0 .../manual_tests}/overlay_geometry.dart | 0 .../manual_tests}/pageable_list.dart | 0 .../widgets => dev/manual_tests}/pubspec.yaml | 2 +- .../manual_tests}/raw_keyboard.dart | 0 examples/layers/README.md | 3 + .../services/media_service.dart} | 0 .../services/start_activity.dart} | 0 examples/widgets/README.md | 10 -- examples/widgets/assets/1.5x/starcircle.png | Bin 15844 -> 0 bytes examples/widgets/assets/2.0x/starcircle.png | Bin 16312 -> 0 bytes examples/widgets/assets/3.0x/starcircle.png | Bin 17856 -> 0 bytes examples/widgets/assets/4.0x/starcircle.png | Bin 19220 -> 0 bytes examples/widgets/assets/starcircle.png | Bin 15358 -> 0 bytes examples/widgets/flutter.yaml | 4 - examples/widgets/hero_under.dart | 138 ------------------ examples/widgets/http_post.dart | 73 --------- examples/widgets/indexed_stack.dart | 67 --------- examples/widgets/mimic_demo.dart | 102 ------------- examples/widgets/resolution_awareness.dart | 87 ----------- examples/widgets/scrollbar.dart | 76 ---------- .../lib/src/commands/update_packages.dart | 1 + 25 files changed, 14 insertions(+), 558 deletions(-) create mode 100644 dev/manual_tests/.gitignore rename {examples/widgets => dev/manual_tests}/card_collection.dart (100%) rename {examples/widgets => dev/manual_tests}/drag_and_drop.dart (100%) rename {examples/widgets => dev/manual_tests}/mozart.dart (100%) rename {examples/widgets => dev/manual_tests}/overlay_geometry.dart (100%) rename {examples/widgets => dev/manual_tests}/pageable_list.dart (100%) rename {examples/widgets => dev/manual_tests}/pubspec.yaml (68%) rename {examples/widgets => dev/manual_tests}/raw_keyboard.dart (100%) rename examples/{widgets/piano.dart => layers/services/media_service.dart} (100%) rename examples/{widgets/launch_url.dart => layers/services/start_activity.dart} (100%) delete mode 100644 examples/widgets/README.md delete mode 100644 examples/widgets/assets/1.5x/starcircle.png delete mode 100644 examples/widgets/assets/2.0x/starcircle.png delete mode 100644 examples/widgets/assets/3.0x/starcircle.png delete mode 100644 examples/widgets/assets/4.0x/starcircle.png delete mode 100644 examples/widgets/assets/starcircle.png delete mode 100644 examples/widgets/flutter.yaml delete mode 100644 examples/widgets/hero_under.dart delete mode 100644 examples/widgets/http_post.dart delete mode 100644 examples/widgets/indexed_stack.dart delete mode 100644 examples/widgets/mimic_demo.dart delete mode 100644 examples/widgets/resolution_awareness.dart delete mode 100644 examples/widgets/scrollbar.dart diff --git a/dev/manual_tests/.gitignore b/dev/manual_tests/.gitignore new file mode 100644 index 00000000000..52808ddc1e0 --- /dev/null +++ b/dev/manual_tests/.gitignore @@ -0,0 +1,9 @@ +.atom +.DS_Store +.buildlog +.idea +.packages +.pub/ +build/ +packages +pubspec.lock diff --git a/examples/widgets/card_collection.dart b/dev/manual_tests/card_collection.dart similarity index 100% rename from examples/widgets/card_collection.dart rename to dev/manual_tests/card_collection.dart diff --git a/examples/widgets/drag_and_drop.dart b/dev/manual_tests/drag_and_drop.dart similarity index 100% rename from examples/widgets/drag_and_drop.dart rename to dev/manual_tests/drag_and_drop.dart diff --git a/examples/widgets/mozart.dart b/dev/manual_tests/mozart.dart similarity index 100% rename from examples/widgets/mozart.dart rename to dev/manual_tests/mozart.dart diff --git a/examples/widgets/overlay_geometry.dart b/dev/manual_tests/overlay_geometry.dart similarity index 100% rename from examples/widgets/overlay_geometry.dart rename to dev/manual_tests/overlay_geometry.dart diff --git a/examples/widgets/pageable_list.dart b/dev/manual_tests/pageable_list.dart similarity index 100% rename from examples/widgets/pageable_list.dart rename to dev/manual_tests/pageable_list.dart diff --git a/examples/widgets/pubspec.yaml b/dev/manual_tests/pubspec.yaml similarity index 68% rename from examples/widgets/pubspec.yaml rename to dev/manual_tests/pubspec.yaml index aefa4bfcded..b3708d83074 100644 --- a/examples/widgets/pubspec.yaml +++ b/dev/manual_tests/pubspec.yaml @@ -1,4 +1,4 @@ -name: sky_widgets_examples +name: flutter_manual_tests dependencies: flutter: path: ../../packages/flutter diff --git a/examples/widgets/raw_keyboard.dart b/dev/manual_tests/raw_keyboard.dart similarity index 100% rename from examples/widgets/raw_keyboard.dart rename to dev/manual_tests/raw_keyboard.dart diff --git a/examples/layers/README.md b/examples/layers/README.md index cedc4665cf8..04c1d0897ef 100644 --- a/examples/layers/README.md +++ b/examples/layers/README.md @@ -15,6 +15,9 @@ Flutter's layered architecture. * [*widgets/*](widgets/) These examples use Flutter's widgets to build more elaborate apps using a reactive framework. + * [*services/*](services/) These examples use services available in Flutter to + interact with the host platform. + To run each example, use the `-t` argument to the `flutter` tool: ``` diff --git a/examples/widgets/piano.dart b/examples/layers/services/media_service.dart similarity index 100% rename from examples/widgets/piano.dart rename to examples/layers/services/media_service.dart diff --git a/examples/widgets/launch_url.dart b/examples/layers/services/start_activity.dart similarity index 100% rename from examples/widgets/launch_url.dart rename to examples/layers/services/start_activity.dart diff --git a/examples/widgets/README.md b/examples/widgets/README.md deleted file mode 100644 index 11addfcd1eb..00000000000 --- a/examples/widgets/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Small examples of the Flutter widget framework -============================================== - -To run these, open a terminal in this directory and use the following command: - -```bash -flutter run -t foo.dart -``` - -...where `foo.dart` is the file you want to run. diff --git a/examples/widgets/assets/1.5x/starcircle.png b/examples/widgets/assets/1.5x/starcircle.png deleted file mode 100644 index 6db147df179c3c042f9976efa3defec936d38a50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15844 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 diff --git a/examples/widgets/assets/2.0x/starcircle.png b/examples/widgets/assets/2.0x/starcircle.png deleted file mode 100644 index 82d9109d23305ed317e0e96286563bb5cb19b015..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16312 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 B>LUOE diff --git a/examples/widgets/assets/3.0x/starcircle.png b/examples/widgets/assets/3.0x/starcircle.png deleted file mode 100644 index 71cfad626d3dc52a9ebb7112d091c47b9bb96934..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17856 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 az*MoiHMP%kF8DtRpgVaw9-6;=-TwiDmzfR# diff --git a/examples/widgets/assets/4.0x/starcircle.png b/examples/widgets/assets/4.0x/starcircle.png deleted file mode 100644 index a5730b2efb210a9a544711a7390bef9bbc774216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19220 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 new HeroDemo() - } - ) - ); -} - -const String kImageSrc = 'http://uploads0.wikiart.org/images/m-c-escher/crab-canon.jpg!Blog.jpg'; - -const String kText = """ -Low-crab diets are dietary programs that restrict crustacean consumption, often for the treatment of obesity or diabetes. Foods high in easily digestible crustaceans (e.g., crab, lobster, shrimp) are limited or replaced with foods made from other animals (e.g., poultry, beef, pork) and other crustaceans that are hard to digest (e.g., barnacles), although krill are often allowed. The amount of crab allowed varies with different low-crab diets. -"""; - -class HeroImage extends StatelessComponent { - HeroImage({ this.size }); - final Size size; - Widget build(BuildContext context) { - return new Hero( - child: new Container( - width: size.width, - height: size.height, - decoration: new BoxDecoration( - backgroundImage: new BackgroundImage( - fit: ImageFit.cover, - image: imageCache.load(kImageSrc) - ) - ) - ), - tag: HeroImage - ); - } -} - -class HeroDemo extends StatelessComponent { - Widget build(BuildContext context) { - return new Scaffold( - toolBar: new ToolBar( - left: new IconButton(icon: Icons.menu), - center: new Text('Diets') - ), - body: new Center( - child: new GestureDetector( - onTap: () => Navigator.push(context, new CrabRoute()), - child: new Card( - child: new Row( - children: [ - new HeroImage( - size: const Size(100.0, 100.0) - ), - new Flexible( - child: new Container( - padding: const EdgeDims.all(10.0), - child: new Text( - "Low Crab Diet", - style: Theme.of(context).text.title - ) - ) - ) - ] - ) - ) - ) - ) - ); - } -} - -class CrabRoute extends MaterialPageRoute { - CrabRoute() : super(builder: (BuildContext context) => new CrabPage()); - void insertHeroOverlayEntry(OverlayEntry entry, Object tag, OverlayState overlay) { - overlay.insert(entry, above: overlayEntries.first); - } -} - -class CrabPage extends StatelessComponent { - Widget build(BuildContext context) { - TextStyle titleStyle = Typography.white.display2.copyWith(color: Colors.white); - return new Material( - color: const Color(0x00000000), - child: new Block( - children: [ - new Stack( - children: [ - new HeroImage( - size: new Size(ui.window.size.width, ui.window.size.width) - ), - new ToolBar( - padding: new EdgeDims.only(top: ui.window.padding.top), - backgroundColor: const Color(0x00000000), - left: new IconButton( - icon: Icons.arrow_back, - onPressed: () => Navigator.pop(context) - ), - right: [ - new IconButton(icon: Icons.more_vert) - ] - ), - new Positioned( - bottom: 10.0, - left: 10.0, - child: new Text("Low Crab Diet", style: titleStyle) - ) - ] - ), - new Material( - child: new Container( - padding: const EdgeDims.all(10.0), - child: new Column( - children: [ - new Text(kText, style: Theme.of(context).text.body1), - new Container(height: 800.0), - ], - alignItems: FlexAlignItems.start - ) - ) - ) - ] - ) - ); - } -} diff --git a/examples/widgets/http_post.dart b/examples/widgets/http_post.dart deleted file mode 100644 index db500163d71..00000000000 --- a/examples/widgets/http_post.dart +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2015, the Flutter project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:async'; - -import 'package:flutter/http.dart' as http; -import 'package:flutter/material.dart'; - -void main() { - runApp( - new MaterialApp( - title: "HTTP POST Example", - routes: { - '/': (RouteArguments args) => const PostDemo() - } - ) - ); -} - -class PostDemo extends StatefulComponent { - const PostDemo(); - PostDemoState createState() => new PostDemoState(); -} - -class PostDemoState extends State { - - String _response = null; - - void initState() { - _refresh(); - super.initState(); - } - - Future _refresh() async { - setState(() { - _response = null; - }); - http.Response response = await http.post( - "http://httpbin.org/post", - body: '{"foo": "bar"}', - headers: { "Content-Type": "application/json", "baz": "qux" } - ); - setState(() { - _response = response.body; - }); - } - - Widget build(BuildContext context) { - return new Scaffold( - toolBar: new ToolBar( - center: new Text("HTTP POST example") - ), - body: new Material( - child: new Block( - children: [ - new Text( - "${_response ?? 'Loading...'}", - style: Typography.black.body1 - ) - ] - ) - ), - floatingActionButton: new FloatingActionButton( - tooltip: 'Refresh', - child: new Icon( - icon: Icons.refresh - ), - onPressed: _refresh - ) - ); - } -} diff --git a/examples/widgets/indexed_stack.dart b/examples/widgets/indexed_stack.dart deleted file mode 100644 index 7e782b39068..00000000000 --- a/examples/widgets/indexed_stack.dart +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; - -class IndexedStackDemo extends StatefulComponent { - IndexedStackDemoState createState() => new IndexedStackDemoState(); -} - -class IndexedStackDemoState extends State { - int _itemCount = 7; - int _itemIndex = 0; - - void _handleTap() { - setState(() { - _itemIndex = (_itemIndex + 1) % _itemCount; - }); - } - - List> _buildMenu() { - TextStyle style = const TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold); - String pad = ''; - return new List.generate(_itemCount, (int i) { - pad += '-'; - return new PopupMenuItem(value: i, child: new Text('$pad Hello World $i $pad', style: style)); - }); - } - - Widget build(BuildContext context) { - List> items = _buildMenu(); - IndexedStack indexedStack = new IndexedStack( - children: items, - index: _itemIndex, - alignment: const FractionalOffset(0.5, 0.0) - ); - - return new Scaffold( - toolBar: new ToolBar(center: new Text('IndexedStackDemo Demo')), - body: new GestureDetector( - onTap: _handleTap, - child: new Center( - child: new Container( - child: indexedStack, - padding: const EdgeDims.all(8.0), - decoration: new BoxDecoration(border: new Border.all(color: Theme.of(context).accentColor)) - ) - ) - ) - ); - } -} - -void main() { - runApp(new MaterialApp( - title: 'IndexedStackDemo', - theme: new ThemeData( - brightness: ThemeBrightness.light, - primarySwatch: Colors.blue, - accentColor: Colors.redAccent[200] - ), - routes: { - '/': (RouteArguments args) => new IndexedStackDemo(), - } - )); -} diff --git a/examples/widgets/mimic_demo.dart b/examples/widgets/mimic_demo.dart deleted file mode 100644 index 3ce73c8c12d..00000000000 --- a/examples/widgets/mimic_demo.dart +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter/material.dart'; - -const double _kHeight = 150.0; -const Duration _kEffectDuration = const Duration(seconds: 1); - -class MimicDemo extends StatefulComponent { - _MimicDemoState createState() => new _MimicDemoState(); -} - -class _MimicDemoState extends State { - GlobalKey _orange = new GlobalKey(); - GlobalKey _targetContainer = new GlobalKey(); - - bool _slotForOrangeOnTop = false; - bool _orangeOnTop = false; - - void _handleTap() { - if (_slotForOrangeOnTop) - return; - setState(() { - _slotForOrangeOnTop = true; - }); - MimicOverlayEntry entry = _orange.currentState.liftToOverlay(); - entry.animateTo(targetKey: _targetContainer, duration: _kEffectDuration, curve: Curves.ease).then((_) { - setState(() { - _orangeOnTop = true; - }); - entry.dispose(); - }); - } - - void _reset() { - setState(() { - _slotForOrangeOnTop = false; - _orangeOnTop = false; - }); - } - - Widget _buildOrange() { - return new Mimicable( - key: _orange, - child: new Container( - height: _kHeight, - decoration: new BoxDecoration( - backgroundColor: Colors.deepOrange[500] - ) - ) - ); - } - - Widget build(BuildContext context) { - List children = [ - new Container( - height: _kHeight, - decoration: new BoxDecoration( - backgroundColor: Colors.amber[500] - ) - ), - new AnimatedContainer( - key: _targetContainer, - height: _slotForOrangeOnTop ? _kHeight : 0.0, - duration: _kEffectDuration, - curve: Curves.ease, - child: _orangeOnTop ? _buildOrange() : null - ), - new Container( - height: _kHeight, - decoration: new BoxDecoration( - backgroundColor: Colors.green[500] - ) - ), - new Container( - height: _kHeight, - decoration: new BoxDecoration( - backgroundColor: Colors.blue[500] - ) - ), - ]; - - if (!_orangeOnTop) - children.add(_buildOrange()); - - return new GestureDetector( - onTap: _handleTap, - onLongPress: _reset, - child: new Block(children: children) - ); - } -} - -void main() { - runApp(new MaterialApp( - title: 'Mimic Demo', - routes: { - '/': (_) => new MimicDemo() - } - )); -} diff --git a/examples/widgets/resolution_awareness.dart b/examples/widgets/resolution_awareness.dart deleted file mode 100644 index c98117f77fe..00000000000 --- a/examples/widgets/resolution_awareness.dart +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (c) 2016, the Flutter project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import 'dart:ui' as ui show window; - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; - -class ExampleApp extends StatefulComponent { - ExampleState createState() => new ExampleState(); -} - -const List _ratios = const [ 1.0, 1.8, 1.3, 2.4, 2.5, 2.6, 3.9 ]; - -class ExampleState extends State { - - int _index = 0; - double _ratio = _ratios[0]; - - final EdgeDims padding = new EdgeDims.TRBL( - ui.window.padding.top, - ui.window.padding.right, - ui.window.padding.bottom, - ui.window.padding.left - ); - - void _handlePressed() { - setState(() { - _index++; - _index = _index % _ratios.length; - _ratio = _ratios[_index]; - }); - } - - Widget build(BuildContext context) { - const double size = 200.0; // 200 logical pixels - TextStyle style = new TextStyle(color: const Color(0xFF0000000)); - return new MediaQuery( - data: new MediaQueryData( - size: ui.window.size, - devicePixelRatio: _ratio, - padding: padding - ), - child: new AssetVendor( - bundle: rootBundle, - devicePixelRatio: _ratio, - child: new Material( - child: new Padding( - padding: const EdgeDims.symmetric(vertical: 48.0), - child: new Column( - children: [ - new AssetImage( - name: 'assets/2.0x/starcircle.png', - height: size, - width: size, - fit: ImageFit.fill - ), - new Text('Image designed for pixel ratio 2.0', style: style), - new AssetImage( - name: 'assets/starcircle.png', - height: size, - width: size, - fit: ImageFit.fill - ), - new Text( - 'Image variant for pixel ratio: ' + _ratio.toString(), - style: style - ), - new RaisedButton( - child: new Text('Change pixel ratio', style: style), - onPressed: _handlePressed - ) - ], - justifyContent: FlexJustifyContent.spaceBetween - ) - ) - ) - ) - ); - } -} - -main() { - runApp(new ExampleApp()); -} diff --git a/examples/widgets/scrollbar.dart b/examples/widgets/scrollbar.dart deleted file mode 100644 index 50bdc26e516..00000000000 --- a/examples/widgets/scrollbar.dart +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:intl/intl.dart'; -import 'package:flutter/material.dart'; - -final NumberFormat _dd = new NumberFormat("00", "en_US"); - -class _Item extends StatelessComponent { - _Item(this.index); - - int index; - - Widget build(BuildContext context) { - return new Text('Item ${_dd.format(index)}', - key: new ValueKey(index), - style: Theme.of(context).text.title - ); - } -} - -class ScrollbarApp extends StatefulComponent { - ScrollbarAppState createState() => new ScrollbarAppState(); -} - -class ScrollbarAppState extends State { - final int _itemCount = 20; - final double _itemExtent = 50.0; - final ScrollbarPainter _scrollbarPainter = new ScrollbarPainter(); - - Widget _buildMenu(BuildContext context) { - return new ScrollableList( - itemExtent: _itemExtent, - scrollableListPainter: _scrollbarPainter, - children: new List.generate(_itemCount, (int i) => new _Item(i)) - ); - } - - Widget build(BuildContext context) { - Widget scrollable = new Container( - margin: new EdgeDims.symmetric(horizontal: 6.0), // TODO(hansmuller) 6.0 should be based on _kScrollbarThumbWidth - child: new Center( - widthFactor: 1.0, - heightFactor: 1.0, - child: new Container( - width: 80.0, - height: _itemExtent * 5.0, - child: _buildMenu(context) - ) - ) - ); - - return new Scaffold( - toolBar: new ToolBar(center: new Text('Scrollbar Demo')), - body: new Container( - padding: new EdgeDims.all(12.0), - child: new Center(child: new Card(child: scrollable)) - ) - ); - } -} - -void main() { - runApp(new MaterialApp( - title: 'ScrollbarApp', - theme: new ThemeData( - brightness: ThemeBrightness.light, - primarySwatch: Colors.blue, - accentColor: Colors.redAccent[200] - ), - routes: { - '/': (RouteArguments args) => new ScrollbarApp(), - } - )); -} diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart index eabc692f6fc..d49bc48953f 100644 --- a/packages/flutter_tools/lib/src/commands/update_packages.dart +++ b/packages/flutter_tools/lib/src/commands/update_packages.dart @@ -45,6 +45,7 @@ class UpdatePackagesCommand extends FlutterCommand { bool upgrade = argResults['upgrade']; count += await _runPub(new Directory("${ArtifactStore.flutterRoot}/packages"), upgrade: upgrade); count += await _runPub(new Directory("${ArtifactStore.flutterRoot}/examples"), upgrade: upgrade); + count += await _runPub(new Directory("${ArtifactStore.flutterRoot}/dev"), upgrade: upgrade); printStatus('Ran "pub" $count time${count == 1 ? "" : "s"} in ${timer.elapsedMilliseconds} ms'); return 0; }