pull/1259/head
Brett Morgan 3 years ago committed by GitHub
parent fb00d0a102
commit ccd68f34e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,6 +8,11 @@ jobs:
verify-web-demos: verify-web-demos:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'flutter/samples' if: github.repository == 'flutter/samples'
strategy:
matrix:
flutter_version:
- stable
- beta
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@d171c3b028d844f2bf14e9fdec0c58114451e4bf uses: actions/checkout@d171c3b028d844f2bf14e9fdec0c58114451e4bf
@ -16,7 +21,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- uses: subosito/flutter-action@d8687e6979e8ef66d2b2970e2c92c1d8e801d7bf - uses: subosito/flutter-action@d8687e6979e8ef66d2b2970e2c92c1d8e801d7bf
with: with:
channel: stable channel: ${{ matrix.flutter_version }}
- name: Init scripts - name: Init scripts
run: dart pub get run: dart pub get
working-directory: web/_tool working-directory: web/_tool

@ -41,13 +41,13 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
} }
}); });
// Keep track of what the current platform lifecycle state is. // Keep track of what the current platform lifecycle state is.
WidgetsBinding.instance!.addObserver(this); WidgetsBinding.instance.addObserver(this);
super.initState(); super.initState();
} }
@override @override
void dispose() { void dispose() {
WidgetsBinding.instance!.removeObserver(this); WidgetsBinding.instance.removeObserver(this);
super.dispose(); super.dispose();
} }

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -78,7 +78,7 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -99,7 +99,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -120,7 +120,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -153,7 +153,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -188,14 +188,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
@ -209,7 +202,7 @@ packages:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -258,7 +251,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-0 <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -8,7 +8,7 @@ import 'package:flutter_module_books/api.dart';
void main() => runApp(const MyApp()); void main() => runApp(const MyApp());
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); const MyApp({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -30,30 +30,28 @@ class FlutterBookApiHandler extends FlutterBookApi {
@override @override
void displayBookDetails(Book book) { void displayBookDetails(Book book) {
assert(
book != null,
'Non-null book expected from FlutterBookApi.displayBookDetails call.',
);
callback(book); callback(book);
} }
} }
class BookDetail extends StatefulWidget { class BookDetail extends StatefulWidget {
const BookDetail({this.hostApi, this.flutterApi, Key key}) : super(key: key); const BookDetail({Key? key, this.hostApi, this.flutterApi, this.book})
: super(key: key);
// These are the outgoing and incoming APIs that are here for injection for // These are the outgoing and incoming APIs that are here for injection for
// tests. // tests.
final HostBookApi hostApi; final HostBookApi? hostApi;
final FlutterBookApi flutterApi; final FlutterBookApi? flutterApi;
final Book? book;
@override @override
_BookDetailState createState() => _BookDetailState(); State<BookDetail> createState() => _BookDetailState();
} }
class _BookDetailState extends State<BookDetail> { class _BookDetailState extends State<BookDetail> {
Book book; Book? book;
HostBookApi hostApi; late HostBookApi hostApi;
FocusNode textFocusNode = FocusNode(); FocusNode textFocusNode = FocusNode();
TextEditingController titleTextController = TextEditingController(); TextEditingController titleTextController = TextEditingController();
@ -63,6 +61,7 @@ class _BookDetailState extends State<BookDetail> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
book = widget.book;
// This `HostBookApi` class instance lets us make outgoing calls to the // This `HostBookApi` class instance lets us make outgoing calls to the
// platform. // platform.
@ -80,19 +79,19 @@ class _BookDetailState extends State<BookDetail> {
// This book model is what we're going to return to Kotlin eventually. // This book model is what we're going to return to Kotlin eventually.
// Keep it bound to the UI. // Keep it bound to the UI.
this.book = book; this.book = book;
titleTextController.text = book.title; titleTextController.text = book.title ?? '';
titleTextController.addListener(() { titleTextController.addListener(() {
this.book?.title = titleTextController.text; this.book!.title = titleTextController.text;
}); });
// Subtitle could be null. // Subtitle could be null.
// TODO(gaaclarke): https://github.com/flutter/flutter/issues/59118. // TODO(gaaclarke): https://github.com/flutter/flutter/issues/59118.
subtitleTextController.text = book.subtitle ?? ''; subtitleTextController.text = book.subtitle ?? '';
subtitleTextController.addListener(() { subtitleTextController.addListener(() {
this.book?.subtitle = subtitleTextController.text; this.book!.subtitle = subtitleTextController.text;
}); });
authorTextController.text = book.author; authorTextController.text = book.author ?? '';
authorTextController.addListener(() { authorTextController.addListener(() {
this.book?.author = authorTextController.text; this.book!.author = authorTextController.text;
}); });
}); });
})); }));
@ -123,10 +122,12 @@ class _BookDetailState extends State<BookDetail> {
IconButton( IconButton(
icon: const Icon(Icons.check), icon: const Icon(Icons.check),
// Pressing save sends the updated book to the platform. // Pressing save sends the updated book to the platform.
onPressed: () { onPressed: book != null
hostApi.finishEditingBook(book); ? () {
clear(); hostApi.finishEditingBook(book!);
}, clear();
}
: null,
), ),
], ],
), ),
@ -134,70 +135,98 @@ class _BookDetailState extends State<BookDetail> {
// Draw a spinner until the platform gives us the book to show details // Draw a spinner until the platform gives us the book to show details
// for. // for.
? const Center(child: CircularProgressIndicator()) ? const Center(child: CircularProgressIndicator())
: Focus( : BookForm(
book: book!,
focusNode: textFocusNode, focusNode: textFocusNode,
child: ListView( authorTextController: authorTextController,
padding: const EdgeInsets.all(24), subtitleTextController: subtitleTextController,
children: [ titleTextController: titleTextController,
TextField( ),
controller: titleTextController, );
decoration: const InputDecoration( }
border: OutlineInputBorder(), }
filled: true,
hintText: "Title", class BookForm extends StatelessWidget {
labelText: "Title", const BookForm({
), Key? key,
), required this.book,
const SizedBox(height: 24), required this.focusNode,
TextField( required this.authorTextController,
controller: subtitleTextController, required this.subtitleTextController,
maxLines: 2, required this.titleTextController,
decoration: const InputDecoration( }) : super(key: key);
border: OutlineInputBorder(),
filled: true, final Book book;
hintText: "Subtitle", final FocusNode focusNode;
labelText: "Subtitle", final TextEditingController titleTextController;
), final TextEditingController subtitleTextController;
), final TextEditingController authorTextController;
const SizedBox(height: 24),
TextField( @override
controller: authorTextController, Widget build(BuildContext context) {
decoration: const InputDecoration( return Focus(
border: OutlineInputBorder(), focusNode: focusNode,
filled: true, child: ListView(
hintText: "Author", padding: const EdgeInsets.all(24),
labelText: "Author", children: [
), TextField(
), controller: titleTextController,
const SizedBox(height: 32), decoration: const InputDecoration(
const Divider(), border: OutlineInputBorder(),
Center( filled: true,
child: Padding( hintText: "Title",
padding: const EdgeInsets.all(8.0), labelText: "Title",
child: Text( ),
'${book.pageCount} pages ~ published ${book.publishDate}'), ),
), const SizedBox(height: 24),
), TextField(
const Divider(), controller: subtitleTextController,
const SizedBox(height: 32), maxLines: 2,
const Center( decoration: const InputDecoration(
child: Text( border: OutlineInputBorder(),
'BOOK DESCRIPTION', filled: true,
style: TextStyle( hintText: "Subtitle",
fontSize: 15, labelText: "Subtitle",
fontWeight: FontWeight.bold, ),
decoration: TextDecoration.underline, ),
), const SizedBox(height: 24),
), TextField(
), controller: authorTextController,
const SizedBox(height: 12), decoration: const InputDecoration(
Text( border: OutlineInputBorder(),
book.summary, filled: true,
style: TextStyle(color: Colors.grey.shade600, height: 1.24), hintText: "Author",
), labelText: "Author",
], ),
),
const SizedBox(height: 32),
const Divider(),
Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'${book.pageCount} pages ~ published ${book.publishDate}'),
),
),
const Divider(),
const SizedBox(height: 32),
const Center(
child: Text(
'BOOK DESCRIPTION',
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.bold,
decoration: TextDecoration.underline,
), ),
), ),
),
const SizedBox(height: 12),
Text(
book.summary ?? '',
style: TextStyle(color: Colors.grey.shade600, height: 1.24),
),
],
),
); );
} }
} }

@ -2,22 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:flutter_module_books/api.dart';
import 'package:pigeon/pigeon.dart'; import 'package:pigeon/pigeon.dart';
class Book {
String title;
String subtitle;
String author;
String summary;
String publishDate;
int pageCount;
Thumbnail thumbnail;
}
class Thumbnail {
String url;
}
@FlutterApi() @FlutterApi()
abstract class FlutterBookApi { abstract class FlutterBookApi {
void displayBookDetails(Book book); void displayBookDetails(Book book);

@ -70,7 +70,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -84,14 +84,14 @@ packages:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
file: file:
dependency: transitive dependency: transitive
description: description:
@ -110,7 +110,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -129,7 +129,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -143,7 +143,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -164,7 +164,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
pigeon: pigeon:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -190,7 +190,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -225,7 +225,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -239,7 +239,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -255,4 +255,4 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"

@ -6,7 +6,7 @@ description: A Flutter module using the Pigeon package to demonstrate
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -16,7 +16,7 @@ dev_dependencies:
pigeon: ">=2.0.2 <4.0.0" pigeon: ">=2.0.2 <4.0.0"
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.4 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -27,7 +27,7 @@ void main() {
await tester.pumpWidget( await tester.pumpWidget(
MaterialApp( MaterialApp(
home: BookDetail(hostApi: mockHostApi), home: BookDetail(book: Book(), hostApi: mockHostApi),
), ),
); );

@ -7,7 +7,7 @@ packages:
name: archive name: archive
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.6" version: "3.1.11"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -49,7 +49,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@ -70,7 +70,7 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
file: file:
dependency: transitive dependency: transitive
description: description:
@ -94,7 +94,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -111,7 +111,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -125,7 +125,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -146,7 +146,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -179,7 +179,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -221,7 +221,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -235,14 +235,14 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.5.0" version: "8.2.2"
webdriver: webdriver:
dependency: transitive dependency: transitive
description: description:
@ -251,5 +251,5 @@ packages:
source: hosted source: hosted
version: "3.0.0" version: "3.0.0"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.0.0" flutter: ">=2.0.0"

@ -4,7 +4,7 @@ description: An example Flutter module.
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.12.0 <3.0.0' sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -17,7 +17,7 @@ dev_dependencies:
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
espresso: ^0.2.0 espresso: ^0.2.0
flutter_lints: ^1.0.3 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -36,7 +36,7 @@ class MyHomePage extends StatefulWidget {
final String title; final String title;
@override @override
_MyHomePageState createState() => _MyHomePageState(); State<MyHomePage> createState() => _MyHomePageState();
} }
class _MyHomePageState extends State<MyHomePage> { class _MyHomePageState extends State<MyHomePage> {

@ -42,7 +42,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -56,7 +56,7 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -68,7 +68,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -85,14 +85,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -106,7 +106,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -120,7 +120,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -139,7 +139,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -174,14 +174,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
@ -195,7 +188,7 @@ packages:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -244,7 +237,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -4,7 +4,7 @@ description: A module that is embedded in the multiple_flutters_ios and multiple
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.12.0 <3.0.0' sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -16,7 +16,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -15,7 +15,7 @@ void main() {
} }
class Cell extends StatefulWidget { class Cell extends StatefulWidget {
const Cell({Key key}) : super(key: key); const Cell({Key? key}) : super(key: key);
@override @override
State<StatefulWidget> createState() => _CellState(); State<StatefulWidget> createState() => _CellState();
@ -26,8 +26,8 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
static final AccelerometerEvent defaultPosition = AccelerometerEvent(0, 0, 0); static final AccelerometerEvent defaultPosition = AccelerometerEvent(0, 0, 0);
int cellNumber = 0; int cellNumber = 0;
Random _random; Random? _random;
AppLifecycleState appLifecycleState; AppLifecycleState? appLifecycleState;
@override @override
void initState() { void initState() {
@ -62,8 +62,8 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
Color randomLightColor() { Color randomLightColor() {
_random ??= Random(cellNumber); _random ??= Random(cellNumber);
return Color.fromARGB(255, _random.nextInt(50) + 205, return Color.fromARGB(255, _random!.nextInt(50) + 205,
_random.nextInt(50) + 205, _random.nextInt(50) + 205); _random!.nextInt(50) + 205, _random!.nextInt(50) + 205);
} }
@override @override
@ -113,15 +113,20 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
: Stream.value(defaultPosition), : Stream.value(defaultPosition),
initialData: defaultPosition, initialData: defaultPosition,
builder: (context, snapshot) { builder: (context, snapshot) {
final data = snapshot.data;
if (data == null) {
return const CircularProgressIndicator.adaptive();
}
return Transform( return Transform(
// Figure out the phone's orientation relative // Figure out the phone's orientation relative
// to gravity's direction. Ignore the z vector. // to gravity's direction. Ignore the z vector.
transform: Matrix4.rotationX( transform: Matrix4.rotationX(
snapshot.data.y / gravity * pi / 2) data.y / gravity * pi / 2,
..multiply(Matrix4.rotationY( )..multiply(
snapshot.data.x / gravity * pi / 2)), Matrix4.rotationY(data.x / gravity * pi / 2)),
alignment: Alignment.center, alignment: Alignment.center,
child: const FlutterLogo(size: 72)); child: const FlutterLogo(size: 72),
);
}, },
), ),
), ),

@ -69,7 +69,7 @@ class CounterModel extends ChangeNotifier {
/// It offers two routes, one suitable for displaying as a full screen and /// It offers two routes, one suitable for displaying as a full screen and
/// another designed to be part of a larger UI. /// another designed to be part of a larger UI.
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); const MyApp({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -86,7 +86,7 @@ class MyApp extends StatelessWidget {
/// Wraps [Contents] in a Material [Scaffold] so it looks correct when displayed /// Wraps [Contents] in a Material [Scaffold] so it looks correct when displayed
/// full-screen. /// full-screen.
class FullScreenView extends StatelessWidget { class FullScreenView extends StatelessWidget {
const FullScreenView({Key key}) : super(key: key); const FullScreenView({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -108,7 +108,7 @@ class FullScreenView extends StatelessWidget {
class Contents extends StatelessWidget { class Contents extends StatelessWidget {
final bool showExit; final bool showExit;
const Contents({this.showExit = false, Key key}) : super(key: key); const Contents({Key? key, this.showExit = false}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -61,7 +61,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -78,14 +78,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -99,7 +99,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -120,7 +120,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -153,7 +153,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -188,14 +188,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
@ -209,7 +202,7 @@ packages:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -258,7 +251,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -4,7 +4,7 @@ description: An example Flutter module that uses a plugin.
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.6.0-dev <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -16,7 +16,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -58,7 +58,7 @@ class CounterModel extends ChangeNotifier {
/// It offers two routes, one suitable for displaying as a full screen and /// It offers two routes, one suitable for displaying as a full screen and
/// another designed to be part of a larger UI.class MyApp extends StatelessWidget { /// another designed to be part of a larger UI.class MyApp extends StatelessWidget {
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key); const MyApp({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -75,7 +75,7 @@ class MyApp extends StatelessWidget {
/// Wraps [Contents] in a Material [Scaffold] so it looks correct when displayed /// Wraps [Contents] in a Material [Scaffold] so it looks correct when displayed
/// full-screen. /// full-screen.
class FullScreenView extends StatelessWidget { class FullScreenView extends StatelessWidget {
const FullScreenView({Key key}) : super(key: key); const FullScreenView({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -96,7 +96,7 @@ class FullScreenView extends StatelessWidget {
class Contents extends StatelessWidget { class Contents extends StatelessWidget {
final bool showExit; final bool showExit;
const Contents({this.showExit = false, Key key}) : super(key: key); const Contents({Key? key, this.showExit = false}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

@ -7,7 +7,7 @@ packages:
name: archive name: archive
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.6" version: "3.1.11"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -49,7 +49,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
@ -70,7 +70,7 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
file: file:
dependency: transitive dependency: transitive
description: description:
@ -94,7 +94,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -111,7 +111,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -125,7 +125,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -146,7 +146,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -179,7 +179,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -221,7 +221,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -235,14 +235,14 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.5.0" version: "8.2.2"
webdriver: webdriver:
dependency: transitive dependency: transitive
description: description:
@ -251,5 +251,5 @@ packages:
source: hosted source: hosted
version: "3.0.0" version: "3.0.0"
sdks: sdks:
dart: ">=2.14.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.0.0" flutter: ">=2.0.0"

@ -4,7 +4,7 @@ description: An example Flutter module.
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.6.0-dev <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -17,7 +17,7 @@ dev_dependencies:
flutter_driver: flutter_driver:
sdk: flutter sdk: flutter
espresso: ^0.2.0 espresso: ^0.2.0
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -42,7 +42,7 @@ class MyHomePage extends StatefulWidget {
final String title; final String title;
@override @override
_MyHomePageState createState() => _MyHomePageState(); State<MyHomePage> createState() => _MyHomePageState();
} }
class _MyHomePageState extends State<MyHomePage> { class _MyHomePageState extends State<MyHomePage> {

@ -1,12 +1,12 @@
name: splash_screen_sample name: splash_screen_sample
description: A sample Flutter app with animated splash screen on Android 12. description: A sample Flutter app with animated splash screen on Android 12.
publish_to: 'none' publish_to: "none"
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -15,7 +15,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.4 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -6,6 +6,7 @@ import 'dart:io';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// ignore: depend_on_referenced_packages
import 'package:window_size/window_size.dart'; import 'package:window_size/window_size.dart';
import 'src/basics/01_animated_container.dart'; import 'src/basics/01_animated_container.dart';

@ -15,7 +15,7 @@ class AnimatedContainerDemo extends StatefulWidget {
static String routeName = '/basics/01_animated_container'; static String routeName = '/basics/01_animated_container';
@override @override
_AnimatedContainerDemoState createState() => _AnimatedContainerDemoState(); State<AnimatedContainerDemo> createState() => _AnimatedContainerDemoState();
} }
class _AnimatedContainerDemoState extends State<AnimatedContainerDemo> { class _AnimatedContainerDemoState extends State<AnimatedContainerDemo> {

@ -9,7 +9,7 @@ class AnimationControllerDemo extends StatefulWidget {
static const String routeName = '/basics/animation_controller'; static const String routeName = '/basics/animation_controller';
@override @override
_AnimationControllerDemoState createState() => State<AnimationControllerDemo> createState() =>
_AnimationControllerDemoState(); _AnimationControllerDemoState();
} }

@ -9,7 +9,7 @@ class TweenDemo extends StatefulWidget {
static const String routeName = '/basics/tweens'; static const String routeName = '/basics/tweens';
@override @override
_TweenDemoState createState() => _TweenDemoState(); State<TweenDemo> createState() => _TweenDemoState();
} }
class _TweenDemoState extends State<TweenDemo> class _TweenDemoState extends State<TweenDemo>

@ -9,7 +9,7 @@ class AnimatedBuilderDemo extends StatefulWidget {
static const String routeName = '/basics/animated_builder'; static const String routeName = '/basics/animated_builder';
@override @override
_AnimatedBuilderDemoState createState() => _AnimatedBuilderDemoState(); State<AnimatedBuilderDemo> createState() => _AnimatedBuilderDemoState();
} }
class _AnimatedBuilderDemoState extends State<AnimatedBuilderDemo> class _AnimatedBuilderDemoState extends State<AnimatedBuilderDemo>

@ -20,7 +20,7 @@ class CustomTweenDemo extends StatefulWidget {
static const String routeName = '/basics/custom_tweens'; static const String routeName = '/basics/custom_tweens';
@override @override
_CustomTweenDemoState createState() => _CustomTweenDemoState(); State<CustomTweenDemo> createState() => _CustomTweenDemoState();
} }
class _CustomTweenDemoState extends State<CustomTweenDemo> class _CustomTweenDemoState extends State<CustomTweenDemo>
@ -51,11 +51,6 @@ class _CustomTweenDemoState extends State<CustomTweenDemo>
title: const Text('Custom Tween'), title: const Text('Custom Tween'),
actions: [ actions: [
MaterialButton( MaterialButton(
child: Text(
controller.status == AnimationStatus.completed
? 'Delete Essay'
: 'Write Essay',
),
textColor: Colors.white, textColor: Colors.white,
onPressed: () { onPressed: () {
if (controller.status == AnimationStatus.completed) { if (controller.status == AnimationStatus.completed) {
@ -68,6 +63,11 @@ class _CustomTweenDemoState extends State<CustomTweenDemo>
}); });
} }
}, },
child: Text(
controller.status == AnimationStatus.completed
? 'Delete Essay'
: 'Write Essay',
),
), ),
], ],
), ),

@ -9,7 +9,7 @@ class TweenSequenceDemo extends StatefulWidget {
static const String routeName = '/basics/chaining_tweens'; static const String routeName = '/basics/chaining_tweens';
@override @override
_TweenSequenceDemoState createState() => _TweenSequenceDemoState(); State<TweenSequenceDemo> createState() => _TweenSequenceDemoState();
} }
class _TweenSequenceDemoState extends State<TweenSequenceDemo> class _TweenSequenceDemoState extends State<TweenSequenceDemo>

@ -11,7 +11,7 @@ class FadeTransitionDemo extends StatefulWidget {
static const String routeName = '/basics/fade_transition'; static const String routeName = '/basics/fade_transition';
@override @override
_FadeTransitionDemoState createState() => _FadeTransitionDemoState(); State<FadeTransitionDemo> createState() => _FadeTransitionDemoState();
} }
class _FadeTransitionDemoState extends State<FadeTransitionDemo> class _FadeTransitionDemoState extends State<FadeTransitionDemo>

@ -9,7 +9,7 @@ class AnimatedListDemo extends StatefulWidget {
static String routeName = '/misc/animated_list'; static String routeName = '/misc/animated_list';
@override @override
_AnimatedListDemoState createState() => _AnimatedListDemoState(); State<AnimatedListDemo> createState() => _AnimatedListDemoState();
} }
class _AnimatedListDemoState extends State<AnimatedListDemo> { class _AnimatedListDemoState extends State<AnimatedListDemo> {

@ -11,7 +11,7 @@ class AnimatedPositionedDemo extends StatefulWidget {
static String routeName = '/basics/09_animated_positioned'; static String routeName = '/basics/09_animated_positioned';
@override @override
_AnimatedPositionedDemoState createState() => _AnimatedPositionedDemoState(); State<AnimatedPositionedDemo> createState() => _AnimatedPositionedDemoState();
} }
class _AnimatedPositionedDemoState extends State<AnimatedPositionedDemo> { class _AnimatedPositionedDemoState extends State<AnimatedPositionedDemo> {
@ -62,6 +62,7 @@ class _AnimatedPositionedDemoState extends State<AnimatedPositionedDemo> {
alignment: Alignment.center, alignment: Alignment.center,
width: 150, width: 150,
height: 50, height: 50,
color: Theme.of(context).primaryColor,
child: Text( child: Text(
'Click Me', 'Click Me',
style: TextStyle( style: TextStyle(
@ -69,7 +70,6 @@ class _AnimatedPositionedDemoState extends State<AnimatedPositionedDemo> {
Theme.of(context).buttonTheme.colorScheme!.onPrimary, Theme.of(context).buttonTheme.colorScheme!.onPrimary,
), ),
), ),
color: Theme.of(context).primaryColor,
), ),
), ),
), ),

@ -27,7 +27,7 @@ class AnimatedSwitcherDemo extends StatefulWidget {
static String routeName = '/basics/10_animated_switcher'; static String routeName = '/basics/10_animated_switcher';
@override @override
_AnimatedSwitcherDemoState createState() => _AnimatedSwitcherDemoState(); State<AnimatedSwitcherDemo> createState() => _AnimatedSwitcherDemoState();
} }
class _AnimatedSwitcherDemoState extends State<AnimatedSwitcherDemo> { class _AnimatedSwitcherDemoState extends State<AnimatedSwitcherDemo> {
@ -67,8 +67,8 @@ class _AnimatedSwitcherDemoState extends State<AnimatedSwitcherDemo> {
duration: const Duration(seconds: 1), duration: const Duration(seconds: 1),
child: container, child: container,
transitionBuilder: (child, animation) => ScaleTransition( transitionBuilder: (child, animation) => ScaleTransition(
child: child,
scale: animation, scale: animation,
child: child,
), ),
), ),
), ),

@ -10,7 +10,7 @@ class CardSwipeDemo extends StatefulWidget {
static String routeName = '/misc/card_swipe'; static String routeName = '/misc/card_swipe';
@override @override
_CardSwipeDemoState createState() => _CardSwipeDemoState(); State<CardSwipeDemo> createState() => _CardSwipeDemoState();
} }
class _CardSwipeDemoState extends State<CardSwipeDemo> { class _CardSwipeDemoState extends State<CardSwipeDemo> {
@ -105,7 +105,7 @@ class SwipeableCard extends StatefulWidget {
: super(key: key); : super(key: key);
@override @override
_SwipeableCardState createState() => _SwipeableCardState(); State<SwipeableCard> createState() => _SwipeableCardState();
} }
class _SwipeableCardState extends State<SwipeableCard> class _SwipeableCardState extends State<SwipeableCard>

@ -49,7 +49,7 @@ class Carousel extends StatefulWidget {
const Carousel({Key? key, required this.itemBuilder}) : super(key: key); const Carousel({Key? key, required this.itemBuilder}) : super(key: key);
@override @override
_CarouselState createState() => _CarouselState(); State<Carousel> createState() => _CarouselState();
} }
class _CarouselState extends State<Carousel> { class _CarouselState extends State<Carousel> {

@ -10,7 +10,7 @@ class CurvedAnimationDemo extends StatefulWidget {
static const String routeName = '/misc/curved_animation'; static const String routeName = '/misc/curved_animation';
@override @override
_CurvedAnimationDemoState createState() => _CurvedAnimationDemoState(); State<CurvedAnimationDemo> createState() => _CurvedAnimationDemoState();
} }
class CurveChoice { class CurveChoice {

@ -24,7 +24,7 @@ class ExpandCardDemo extends StatelessWidget {
class ExpandCard extends StatefulWidget { class ExpandCard extends StatefulWidget {
const ExpandCard({Key? key}) : super(key: key); const ExpandCard({Key? key}) : super(key: key);
@override @override
_ExpandCardState createState() => _ExpandCardState(); State<ExpandCard> createState() => _ExpandCardState();
} }
class _ExpandCardState extends State<ExpandCard> class _ExpandCardState extends State<ExpandCard>

@ -31,7 +31,7 @@ class DraggableCard extends StatefulWidget {
final Widget child; final Widget child;
@override @override
_DraggableCardState createState() => _DraggableCardState(); State<DraggableCard> createState() => _DraggableCardState();
} }
class _DraggableCardState extends State<DraggableCard> class _DraggableCardState extends State<DraggableCard>

@ -9,10 +9,10 @@ class RepeatingAnimationDemo extends StatefulWidget {
static String routeName = '/misc/repeating_animation'; static String routeName = '/misc/repeating_animation';
@override @override
RepeatingAnimationDemoState createState() => RepeatingAnimationDemoState(); State<RepeatingAnimationDemo> createState() => _RepeatingAnimationDemoState();
} }
class RepeatingAnimationDemoState extends State<RepeatingAnimationDemo> class _RepeatingAnimationDemoState extends State<RepeatingAnimationDemo>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
late final AnimationController _controller; late final AnimationController _controller;
late final Animation<BorderRadius?> _borderRadius; late final Animation<BorderRadius?> _borderRadius;

@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -19,4 +19,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
COCOAPODS: 1.11.2 COCOAPODS: 1.11.3

@ -68,7 +68,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -80,7 +80,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -173,4 +173,4 @@ packages:
source: git source: git
version: "0.1.0" version: "0.1.0"
sdks: sdks:
dart: ">=2.17.0-0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"

@ -4,7 +4,7 @@ version: 1.0.0+1
publish_to: none publish_to: none
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -14,7 +14,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
# plugin is not yet part of the flutter framework # plugin is not yet part of the flutter framework
window_size: window_size:

@ -1 +1,4 @@
include: ../../analysis_options.yaml include: ../../analysis_options.yaml
analyzer:
exclude: [lib/src/**.g.dart]

@ -26,7 +26,7 @@ class PhotoDetails extends StatefulWidget {
final PhotoDetailsPhotoSaveCallback onPhotoSave; final PhotoDetailsPhotoSaveCallback onPhotoSave;
@override @override
_PhotoDetailsState createState() => _PhotoDetailsState(); State<PhotoDetails> createState() => _PhotoDetailsState();
} }
class _PhotoDetailsState extends State<PhotoDetails> { class _PhotoDetailsState extends State<PhotoDetails> {

@ -27,7 +27,7 @@ class _UnsplashNoticeState extends State<UnsplashNotice> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
showDialog( showDialog(
context: context, context: context,
builder: (context) { builder: (context) {

@ -9,6 +9,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -17,3 +20,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -7,14 +7,14 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "38.0.0" version: "39.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.4.1" version: "4.0.0"
archive: archive:
dependency: transitive dependency: transitive
description: description:
@ -30,7 +30,7 @@ packages:
source: hosted source: hosted
version: "2.3.0" version: "2.3.0"
async: async:
dependency: transitive dependency: "direct dev"
description: description:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -70,7 +70,7 @@ packages:
name: build_resolvers name: build_resolvers
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.6" version: "2.0.8"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -161,7 +161,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -175,14 +175,14 @@ packages:
name: cross_file name: cross_file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.2" version: "0.3.3"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -203,14 +203,14 @@ packages:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.2" version: "2.2.3"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
@ -299,7 +299,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_localizations: flutter_localizations:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -398,21 +398,21 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.4.0" version: "4.5.0"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
logging: logging:
dependency: "direct main" dependency: "direct main"
description: description:
@ -433,7 +433,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
menubar: menubar:
dependency: "direct main" dependency: "direct main"
description: description:
@ -456,7 +456,7 @@ packages:
name: mime name: mime
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.2"
msix: msix:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -484,14 +484,14 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.4.0" version: "5.0.0"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -533,7 +533,7 @@ packages:
name: quiver name: quiver
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1+1" version: "3.1.0"
recase: recase:
dependency: transitive dependency: transitive
description: description:
@ -573,14 +573,14 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.1" version: "1.2.2"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -622,7 +622,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -657,7 +657,7 @@ packages:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -713,7 +713,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -727,14 +727,14 @@ packages:
name: web_socket_channel name: web_socket_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.2.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.5.1" version: "2.5.2"
window_size: window_size:
dependency: "direct main" dependency: "direct main"
description: description:
@ -750,7 +750,7 @@ packages:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.3.1" version: "5.4.1"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -759,5 +759,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -4,7 +4,7 @@ publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.15.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
built_collection: ^5.1.1 built_collection: ^5.1.1
@ -34,10 +34,11 @@ dependencies:
uuid: ^3.0.5 uuid: ^3.0.5
dev_dependencies: dev_dependencies:
async: ^2.8.2
build: ^2.2.1 build: ^2.2.1
build_runner: ^2.1.7 build_runner: ^2.1.7
built_value_generator: ^8.3.0 built_value_generator: ^8.3.0
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter_test: flutter_test:
sdk: flutter sdk: flutter
grinder: ^0.9.0 grinder: ^0.9.0

@ -9,6 +9,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -17,3 +20,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -1 +1,4 @@
include: ../../analysis_options.yaml include: ../../analysis_options.yaml
analyzer:
exclude: [lib/src/**.g.dart]

@ -24,7 +24,7 @@ class PhotoDetails extends StatefulWidget {
final PhotoDetailsPhotoSaveCallback onPhotoSave; final PhotoDetailsPhotoSaveCallback onPhotoSave;
@override @override
_PhotoDetailsState createState() => _PhotoDetailsState(); State<PhotoDetails> createState() => _PhotoDetailsState();
} }
class _PhotoDetailsState extends State<PhotoDetails> { class _PhotoDetailsState extends State<PhotoDetails> {

@ -27,7 +27,7 @@ class _UnsplashNoticeState extends State<UnsplashNotice> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
showDialog<void>( showDialog<void>(
barrierDismissible: false, barrierDismissible: false,
context: context, context: context,

@ -9,6 +9,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -17,3 +20,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -7,14 +7,14 @@ packages:
name: _fe_analyzer_shared name: _fe_analyzer_shared
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "38.0.0" version: "39.0.0"
analyzer: analyzer:
dependency: transitive dependency: transitive
description: description:
name: analyzer name: analyzer
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.4.1" version: "4.0.0"
archive: archive:
dependency: transitive dependency: transitive
description: description:
@ -30,7 +30,7 @@ packages:
source: hosted source: hosted
version: "2.3.0" version: "2.3.0"
async: async:
dependency: transitive dependency: "direct dev"
description: description:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -70,7 +70,7 @@ packages:
name: build_resolvers name: build_resolvers
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.6" version: "2.0.8"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -161,7 +161,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -175,14 +175,14 @@ packages:
name: cross_file name: cross_file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.2" version: "0.3.3"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -203,14 +203,14 @@ packages:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.2" version: "2.2.3"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
@ -285,7 +285,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_simple_treeview: flutter_simple_treeview:
dependency: "direct main" dependency: "direct main"
description: description:
@ -379,21 +379,21 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.4.0" version: "4.5.0"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
logging: logging:
dependency: "direct main" dependency: "direct main"
description: description:
@ -414,7 +414,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
menubar: menubar:
dependency: "direct main" dependency: "direct main"
description: description:
@ -437,7 +437,7 @@ packages:
name: mime name: mime
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.2"
msix: msix:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -465,14 +465,14 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.4.0" version: "5.0.0"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -514,7 +514,7 @@ packages:
name: quiver name: quiver
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1+1" version: "3.1.0"
shelf: shelf:
dependency: transitive dependency: transitive
description: description:
@ -540,14 +540,14 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.1" version: "1.2.2"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -589,7 +589,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -624,7 +624,7 @@ packages:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -680,7 +680,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -694,14 +694,14 @@ packages:
name: web_socket_channel name: web_socket_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.2.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.5.1" version: "2.5.2"
window_size: window_size:
dependency: "direct main" dependency: "direct main"
description: description:
@ -717,7 +717,7 @@ packages:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.3.1" version: "5.4.1"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
@ -726,5 +726,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -4,7 +4,7 @@ publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.15.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
built_collection: ^5.1.1 built_collection: ^5.1.1
@ -33,10 +33,11 @@ dependencies:
path: plugins/window_size path: plugins/window_size
dev_dependencies: dev_dependencies:
async: ^2.8.2
build: ^2.2.1 build: ^2.2.1
build_runner: ^2.1.7 build_runner: ^2.1.7
built_value_generator: ^8.3.0 built_value_generator: ^8.3.0
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter_test: flutter_test:
sdk: flutter sdk: flutter
grinder: ^0.9.0 grinder: ^0.9.0

@ -9,6 +9,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -17,3 +20,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -42,7 +42,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -56,7 +56,7 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
federated_plugin: federated_plugin:
dependency: "direct main" dependency: "direct main"
description: description:
@ -120,7 +120,7 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -141,7 +141,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -155,7 +155,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -174,7 +174,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -209,21 +209,13 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-0 <3.0.0"
flutter: ">=2.5.0"

@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
federated_plugin_windows federated_plugin_windows
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
federated_plugin_macos: federated_plugin_macos:
dependency: "direct main" dependency: "direct main"
description: description:
@ -89,7 +89,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -106,14 +106,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -127,7 +127,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -141,7 +141,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -160,7 +160,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -195,21 +195,13 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.5.0"

@ -5,8 +5,7 @@ version: 0.0.1
publish_to: "none" publish_to: "none"
environment: environment:
sdk: ">=2.15.1 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
flutter: ">=2.5.0"
dependencies: dependencies:
flutter: flutter:
@ -23,7 +22,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
plugin: plugin:

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -61,7 +61,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -73,7 +73,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -87,7 +87,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -101,7 +101,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -113,7 +113,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -148,21 +148,13 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.5.0"

@ -4,8 +4,7 @@ version: 0.0.1
homepage: homepage:
environment: environment:
sdk: ">=2.15.1 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
flutter: ">=2.5.0"
dependencies: dependencies:
flutter: flutter:
@ -14,7 +13,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
plugin: plugin:

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -61,7 +61,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -73,7 +73,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -87,7 +87,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -101,7 +101,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: "direct main" dependency: "direct main"
description: description:
@ -120,7 +120,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -155,21 +155,13 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=1.17.0"

@ -4,8 +4,7 @@ version: 0.0.1
homepage: homepage:
environment: environment:
sdk: ">=2.15.1 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
flutter: ">=1.17.0"
dependencies: dependencies:
flutter: flutter:
@ -15,4 +14,4 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1

@ -21,7 +21,7 @@ packages:
name: archive name: archive
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.6" version: "3.1.11"
args: args:
dependency: transitive dependency: transitive
description: description:
@ -49,7 +49,7 @@ packages:
name: build name: build
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "2.3.0"
built_collection: built_collection:
dependency: transitive dependency: transitive
description: description:
@ -63,7 +63,7 @@ packages:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.4" version: "8.3.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -98,7 +98,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
convert: convert:
dependency: transitive dependency: transitive
description: description:
@ -119,14 +119,14 @@ packages:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.2" version: "2.2.3"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
federated_plugin_platform_interface: federated_plugin_platform_interface:
dependency: "direct main" dependency: "direct main"
description: description:
@ -164,7 +164,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -198,14 +198,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -226,7 +226,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -254,7 +254,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
platform: platform:
dependency: transitive dependency: transitive
description: description:
@ -294,14 +294,14 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.1" version: "1.2.2"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -343,7 +343,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -357,14 +357,14 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.5.0" version: "8.2.2"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -387,5 +387,4 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=1.17.0"

@ -4,8 +4,7 @@ version: 0.0.1
publish_to: none publish_to: none
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
flutter: ">=1.17.0"
dependencies: dependencies:
flutter: flutter:
@ -20,7 +19,7 @@ dev_dependencies:
sdk: flutter sdk: flutter
integration_test: integration_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
mockito: ^5.0.2 mockito: ^5.0.2
flutter: flutter:

@ -42,14 +42,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@ -61,7 +61,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -73,7 +73,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
@ -87,7 +87,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -101,7 +101,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -113,7 +113,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -148,21 +148,13 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.15.1 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.5.0"

@ -4,8 +4,7 @@ version: 0.0.1
homepage: homepage:
environment: environment:
sdk: ">=2.15.1 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
flutter: ">=2.5.0"
dependencies: dependencies:
flutter: flutter:
@ -14,7 +13,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
plugin: plugin:

@ -19,7 +19,7 @@ class LintingTool extends StatefulWidget {
static const String homeRoute = routes.homeRoute; static const String homeRoute = routes.homeRoute;
@override @override
_LintingToolState createState() => _LintingToolState(); State<LintingTool> createState() => _LintingToolState();
} }
class _LintingToolState extends State<LintingTool> { class _LintingToolState extends State<LintingTool> {

@ -60,6 +60,7 @@ class ProfilesStore extends ChangeNotifier {
} }
Future<void> addToExistingProfile(RulesProfile profile, Rule rule) async { Future<void> addToExistingProfile(RulesProfile profile, Rule rule) async {
// ignore: todo
// TODO(abd99): Consider refactoring to LinkedHashSet/SplayTreeSet to avoid // TODO(abd99): Consider refactoring to LinkedHashSet/SplayTreeSet to avoid
// duplication automatically. // duplication automatically.
// ref: https://github.com/flutter/samples/pull/870#discussion_r685666792 // ref: https://github.com/flutter/samples/pull/870#discussion_r685666792

@ -32,7 +32,7 @@ class RuleStore extends ChangeNotifier {
String? get error => _error; String? get error => _error;
List<RulesProfile> get defaultProfiles { List<RulesProfile> get defaultProfiles {
List<RulesProfile> _defaultProfiles = []; List<RulesProfile> defaultProfiles = [];
var rulesWithDefaultSets = var rulesWithDefaultSets =
rules.where((rule) => rule.sets.isNotEmpty).toList(); rules.where((rule) => rule.sets.isNotEmpty).toList();
@ -40,16 +40,16 @@ class RuleStore extends ChangeNotifier {
for (final rule in rulesWithDefaultSets) { for (final rule in rulesWithDefaultSets) {
for (final setName in rule.sets) { for (final setName in rule.sets) {
var profileIndex = var profileIndex =
_defaultProfiles.indexWhere((profile) => profile.name == setName); defaultProfiles.indexWhere((profile) => profile.name == setName);
if (profileIndex >= 0) { if (profileIndex >= 0) {
_defaultProfiles[profileIndex].rules.add(rule); defaultProfiles[profileIndex].rules.add(rule);
} else { } else {
_defaultProfiles.add(RulesProfile(name: setName, rules: [rule])); defaultProfiles.add(RulesProfile(name: setName, rules: [rule]));
} }
} }
} }
return _defaultProfiles; return defaultProfiles;
} }
Future<void> fetchRules() async { Future<void> fetchRules() async {

@ -10,9 +10,14 @@ import 'package:linting_tool/pages/rules_page.dart';
import 'package:linting_tool/theme/colors.dart'; import 'package:linting_tool/theme/colors.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class SavedLintsPage extends StatelessWidget { class SavedLintsPage extends StatefulWidget {
const SavedLintsPage({Key? key}) : super(key: key); const SavedLintsPage({Key? key}) : super(key: key);
@override
State<SavedLintsPage> createState() => _SavedLintsPageState();
}
class _SavedLintsPageState extends State<SavedLintsPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ProfilesStore>( return Consumer<ProfilesStore>(
@ -90,11 +95,14 @@ class SavedLintsPage extends StatelessWidget {
onSelected: (value) async { onSelected: (value) async {
switch (value) { switch (value) {
case 'Export file': case 'Export file':
// ignore: todo
// TODO(abd99): Add option to select formatting style. // TODO(abd99): Add option to select formatting style.
var saved = await profilesStore var saved = await profilesStore
.exportProfileFile(profile); .exportProfileFile(profile);
if (!mounted) return;
if (!saved) { if (!saved) {
_showSnackBar( _showSnackBar(
context, context,
@ -112,12 +120,12 @@ class SavedLintsPage extends StatelessWidget {
itemBuilder: (context) { itemBuilder: (context) {
return [ return [
const PopupMenuItem( const PopupMenuItem(
child: Text('Export file'),
value: 'Export file', value: 'Export file',
child: Text('Export file'),
), ),
const PopupMenuItem( const PopupMenuItem(
child: Text('Delete'),
value: 'Delete', value: 'Delete',
child: Text('Delete'),
), ),
]; ];
}, },

@ -18,14 +18,14 @@ class AdaptiveNav extends StatefulWidget {
const AdaptiveNav({Key? key}) : super(key: key); const AdaptiveNav({Key? key}) : super(key: key);
@override @override
_AdaptiveNavState createState() => _AdaptiveNavState(); State<AdaptiveNav> createState() => _AdaptiveNavState();
} }
class _AdaptiveNavState extends State<AdaptiveNav> { class _AdaptiveNavState extends State<AdaptiveNav> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final isDesktop = isDisplayLarge(context); final isDesktop = isDisplayLarge(context);
const _navigationDestinations = <_Destination>[ const navigationDestinations = <_Destination>[
_Destination( _Destination(
textLabel: 'Home', textLabel: 'Home',
icon: Icons.home_outlined, icon: Icons.home_outlined,
@ -46,14 +46,14 @@ class _AdaptiveNavState extends State<AdaptiveNav> {
), ),
]; ];
final _trailing = <String, IconData>{ final trailing = <String, IconData>{
'About': Icons.info_outline, 'About': Icons.info_outline,
}; };
return _NavView( return _NavView(
extended: isDesktop, extended: isDesktop,
destinations: _navigationDestinations, destinations: navigationDestinations,
trailing: _trailing, trailing: trailing,
); );
} }
} }

@ -19,7 +19,7 @@ class LintExpansionTile extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_LintExpansionTileState createState() => _LintExpansionTileState(); State<LintExpansionTile> createState() => _LintExpansionTileState();
} }
class _LintExpansionTileState extends State<LintExpansionTile> { class _LintExpansionTileState extends State<LintExpansionTile> {
@ -142,7 +142,7 @@ class _LintExpansionTileState extends State<LintExpansionTile> {
await showDialog<String>( await showDialog<String>(
context: context, context: context,
builder: (context) { builder: (context) {
return _NewProfileDialog(rule: rule); return NewProfileDialog(rule: rule);
}, },
); );
} else if (destinationProfileType == } else if (destinationProfileType ==
@ -150,7 +150,7 @@ class _LintExpansionTileState extends State<LintExpansionTile> {
await showDialog<String>( await showDialog<String>(
context: context, context: context,
builder: (context) { builder: (context) {
return _ExistingProfileDialog(rule: rule); return ExistingProfileDialog(rule: rule);
}, },
); );
} }
@ -205,22 +205,27 @@ class _ProfileTypeDialog extends StatelessWidget {
} }
} }
class _NewProfileDialog extends StatelessWidget { class NewProfileDialog extends StatefulWidget {
final Rule rule; final Rule rule;
const _NewProfileDialog({ const NewProfileDialog({
required this.rule, required this.rule,
Key? key, Key? key,
}) : super(key: key); }) : super(key: key);
@override
State<NewProfileDialog> createState() => _NewProfileDialogState();
}
class _NewProfileDialogState extends State<NewProfileDialog> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
String name = ''; String name = '';
final _formKey = GlobalKey<FormState>(); final formKey = GlobalKey<FormState>();
return AlertDialog( return AlertDialog(
title: const Text('Create new lint profile'), title: const Text('Create new lint profile'),
content: Form( content: Form(
key: _formKey, key: formKey,
autovalidateMode: AutovalidateMode.onUserInteraction, autovalidateMode: AutovalidateMode.onUserInteraction,
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -251,13 +256,14 @@ class _NewProfileDialog extends StatelessWidget {
), ),
ElevatedButton( ElevatedButton(
onPressed: () async { onPressed: () async {
if (_formKey.currentState!.validate()) { if (formKey.currentState!.validate()) {
var newProfile = RulesProfile( var newProfile = RulesProfile(
name: name, name: name,
rules: [rule], rules: [widget.rule],
); );
await Provider.of<ProfilesStore>(context, listen: false) await Provider.of<ProfilesStore>(context, listen: false)
.addToNewProfile(newProfile); .addToNewProfile(newProfile);
if (!mounted) return;
Navigator.pop(context); Navigator.pop(context);
} }
}, },
@ -268,14 +274,19 @@ class _NewProfileDialog extends StatelessWidget {
} }
} }
class _ExistingProfileDialog extends StatelessWidget { class ExistingProfileDialog extends StatefulWidget {
const _ExistingProfileDialog({ const ExistingProfileDialog({
Key? key, Key? key,
required this.rule, required this.rule,
}) : super(key: key); }) : super(key: key);
final Rule rule; final Rule rule;
@override
State<ExistingProfileDialog> createState() => _ExistingProfileDialogState();
}
class _ExistingProfileDialogState extends State<ExistingProfileDialog> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
var profilesStore = Provider.of<ProfilesStore>(context); var profilesStore = Provider.of<ProfilesStore>(context);
@ -291,7 +302,8 @@ class _ExistingProfileDialog extends StatelessWidget {
title: Text(savedProfiles[index].name), title: Text(savedProfiles[index].name),
onTap: () async { onTap: () async {
await profilesStore.addToExistingProfile( await profilesStore.addToExistingProfile(
savedProfiles[index], rule); savedProfiles[index], widget.rule);
if (!mounted) return;
Navigator.pop(context); Navigator.pop(context);
}, },
), ),

@ -18,7 +18,7 @@ class SavedRuleTile extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_SavedRuleTileState createState() => _SavedRuleTileState(); State<SavedRuleTile> createState() => _SavedRuleTileState();
} }
class _SavedRuleTileState extends State<SavedRuleTile> { class _SavedRuleTileState extends State<SavedRuleTile> {

@ -8,6 +8,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -16,3 +19,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -29,12 +29,12 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/window_size/macos :path: Flutter/ephemeral/.symlinks/plugins/window_size/macos
SPEC CHECKSUMS: SPEC CHECKSUMS:
file_selector_macos: ff6dc948d4ddd34e8602a1f60b7d0b4cc6051a47 file_selector_macos: f1b08a781e66103e3ba279fd5d4024a2478b3af6
FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424 FlutterMacOS: 57701585bf7de1b3fc2bb61f6378d73bbdea8424
path_provider_macos: 160cab0d5461f0c0e02995469a98f24bdb9a3f1f path_provider_macos: 160cab0d5461f0c0e02995469a98f24bdb9a3f1f
url_launcher_macos: 45af3d61de06997666568a7149c1be98b41c95d4 url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3
window_size: 339dafa0b27a95a62a843042038fa6c3c48de195 window_size: 339dafa0b27a95a62a843042038fa6c3c48de195
PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
COCOAPODS: 1.11.0 COCOAPODS: 1.11.3

@ -49,7 +49,7 @@ packages:
name: build name: build
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "2.3.0"
build_config: build_config:
dependency: transitive dependency: transitive
description: description:
@ -70,7 +70,7 @@ packages:
name: build_resolvers name: build_resolvers
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.6" version: "2.0.8"
build_runner: build_runner:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -98,7 +98,7 @@ packages:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.4" version: "8.3.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -140,7 +140,7 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
context_menus: context_menus:
dependency: "direct main" dependency: "direct main"
description: description:
@ -161,14 +161,14 @@ packages:
name: cross_file name: cross_file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.2" version: "0.3.3"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1" version: "3.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
@ -182,7 +182,7 @@ packages:
name: dart_style name: dart_style
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.2" version: "2.2.3"
equatable: equatable:
dependency: "direct main" dependency: "direct main"
description: description:
@ -196,7 +196,7 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
@ -271,7 +271,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_markdown: flutter_markdown:
dependency: "direct main" dependency: "direct main"
description: description:
@ -372,7 +372,7 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
json2yaml: json2yaml:
dependency: "direct main" dependency: "direct main"
description: description:
@ -400,7 +400,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -428,7 +428,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -442,7 +442,7 @@ packages:
name: mime name: mime
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "1.0.2"
mockito: mockito:
dependency: "direct main" dependency: "direct main"
description: description:
@ -470,7 +470,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
path_provider: path_provider:
dependency: transitive dependency: transitive
description: description:
@ -484,7 +484,7 @@ packages:
name: path_provider_android name: path_provider_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.12" version: "2.0.13"
path_provider_ios: path_provider_ios:
dependency: transitive dependency: transitive
description: description:
@ -594,21 +594,21 @@ packages:
name: source_gen name: source_gen
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.1" version: "1.2.2"
source_helper: source_helper:
dependency: transitive dependency: transitive
description: description:
name: source_helper name: source_helper
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.1" version: "1.3.2"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -650,7 +650,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@ -671,14 +671,14 @@ packages:
name: url_launcher name: url_launcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.20" version: "6.1.0"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.0.15" version: "6.0.16"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@ -727,7 +727,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
watcher: watcher:
dependency: transitive dependency: transitive
description: description:
@ -741,14 +741,14 @@ packages:
name: web_socket_channel name: web_socket_channel
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.2.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.5.1" version: "2.5.2"
window_size: window_size:
dependency: "direct main" dependency: "direct main"
description: description:
@ -773,5 +773,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.10.0" flutter: ">=2.10.0"

@ -3,10 +3,10 @@ description: A new Flutter project.
version: 1.0.0+1 version: 1.0.0+1
publish_to: 'none' publish_to: "none"
environment: environment:
sdk: ">=2.15.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -39,7 +39,7 @@ dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
build_runner: ^2.0.6 build_runner: ^2.0.6
flutter_lints: ^1.0.3 flutter_lints: ^2.0.1
hive_generator: ^1.1.0 hive_generator: ^1.1.0
json_serializable: ^6.2.0 json_serializable: ^6.2.0

@ -8,6 +8,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -16,3 +19,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

@ -51,7 +51,7 @@ class DashboardApp extends StatefulWidget {
super(key: key); super(key: key);
@override @override
_DashboardAppState createState() => _DashboardAppState(); State<DashboardApp> createState() => _DashboardAppState();
} }
class _DashboardAppState extends State<DashboardApp> { class _DashboardAppState extends State<DashboardApp> {
@ -90,7 +90,7 @@ class SignInSwitcher extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_SignInSwitcherState createState() => _SignInSwitcherState(); State<SignInSwitcher> createState() => _SignInSwitcherState();
} }
class _SignInSwitcherState extends State<SignInSwitcher> { class _SignInSwitcherState extends State<SignInSwitcher> {

@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart' as intl; import 'package:intl/intl.dart' as intl;
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -17,7 +15,7 @@ class EntriesPage extends StatefulWidget {
const EntriesPage({Key? key}) : super(key: key); const EntriesPage({Key? key}) : super(key: key);
@override @override
_EntriesPageState createState() => _EntriesPageState(); State<EntriesPage> createState() => _EntriesPageState();
} }
class _EntriesPageState extends State<EntriesPage> { class _EntriesPageState extends State<EntriesPage> {
@ -54,7 +52,7 @@ class EntriesList extends StatefulWidget {
}) : super(key: ValueKey(category?.id)); }) : super(key: ValueKey(category?.id));
@override @override
_EntriesListState createState() => _EntriesListState(); State<EntriesList> createState() => _EntriesListState();
} }
class _EntriesListState extends State<EntriesList> { class _EntriesListState extends State<EntriesList> {
@ -129,7 +127,9 @@ class EntryTile extends StatelessWidget {
TextButton( TextButton(
child: const Text('Delete'), child: const Text('Delete'),
onPressed: () async { onPressed: () async {
var shouldDelete = await (showDialog<bool>( final appState = Provider.of<AppState>(context, listen: false);
final scaffoldMessenger = ScaffoldMessenger.of(context);
final bool? shouldDelete = await showDialog<bool>(
context: context, context: context,
builder: (context) => AlertDialog( builder: (context) => AlertDialog(
title: const Text('Delete entry?'), title: const Text('Delete entry?'),
@ -144,14 +144,10 @@ class EntryTile extends StatelessWidget {
), ),
], ],
), ),
) as FutureOr<bool>); );
if (shouldDelete) { if (shouldDelete != null && shouldDelete) {
await Provider.of<AppState>(context, listen: false) await appState.api!.entries.delete(category!.id!, entry!.id!);
.api! scaffoldMessenger.showSnackBar(
.entries
.delete(category!.id!, entry!.id!);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar( const SnackBar(
content: Text('Entry deleted'), content: Text('Entry deleted'),
), ),

@ -20,7 +20,7 @@ class HomePage extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_HomePageState createState() => _HomePageState(); State<HomePage> createState() => _HomePageState();
} }
class _HomePageState extends State<HomePage> { class _HomePageState extends State<HomePage> {

@ -37,7 +37,7 @@ class SignInButton extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_SignInButtonState createState() => _SignInButtonState(); State<SignInButton> createState() => _SignInButtonState();
} }
class _SignInButtonState extends State<SignInButton> { class _SignInButtonState extends State<SignInButton> {

@ -20,7 +20,7 @@ class CategoryDropdown extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_CategoryDropdownState createState() => _CategoryDropdownState(); State<CategoryDropdown> createState() => _CategoryDropdownState();
} }
class _CategoryDropdownState extends State<CategoryDropdown> { class _CategoryDropdownState extends State<CategoryDropdown> {
@ -105,6 +105,6 @@ class _CategoryDropdownState extends State<CategoryDropdown> {
DropdownMenuItem<Category> _buildDropdownItem(Category category) { DropdownMenuItem<Category> _buildDropdownItem(Category category) {
return DropdownMenuItem<Category>( return DropdownMenuItem<Category>(
child: Text(category.name), value: category); value: category, child: Text(category.name));
} }
} }

@ -11,7 +11,7 @@ class NewCategoryForm extends StatefulWidget {
const NewCategoryForm({Key? key}) : super(key: key); const NewCategoryForm({Key? key}) : super(key: key);
@override @override
_NewCategoryFormState createState() => _NewCategoryFormState(); State<NewCategoryForm> createState() => _NewCategoryFormState();
} }
class _NewCategoryFormState extends State<NewCategoryForm> { class _NewCategoryFormState extends State<NewCategoryForm> {
@ -43,7 +43,7 @@ class EditCategoryForm extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_EditCategoryFormState createState() => _EditCategoryFormState(); State<EditCategoryForm> createState() => _EditCategoryFormState();
} }
class _EditCategoryFormState extends State<EditCategoryForm> { class _EditCategoryFormState extends State<EditCategoryForm> {

@ -57,7 +57,7 @@ class NewEntryDialog extends StatefulWidget {
const NewEntryDialog({Key? key}) : super(key: key); const NewEntryDialog({Key? key}) : super(key: key);
@override @override
_NewEntryDialogState createState() => _NewEntryDialogState(); State<NewEntryDialog> createState() => _NewEntryDialogState();
} }
class _NewEntryDialogState extends State<NewEntryDialog> { class _NewEntryDialogState extends State<NewEntryDialog> {

@ -14,7 +14,7 @@ class NewEntryForm extends StatefulWidget {
const NewEntryForm({Key? key}) : super(key: key); const NewEntryForm({Key? key}) : super(key: key);
@override @override
_NewEntryFormState createState() => _NewEntryFormState(); State<NewEntryForm> createState() => _NewEntryFormState();
} }
class _NewEntryFormState extends State<NewEntryForm> { class _NewEntryFormState extends State<NewEntryForm> {
@ -65,7 +65,7 @@ class EditEntryForm extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_EditEntryFormState createState() => _EditEntryFormState(); State<EditEntryForm> createState() => _EditEntryFormState();
} }
class _EditEntryFormState extends State<EditEntryForm> { class _EditEntryFormState extends State<EditEntryForm> {

@ -47,7 +47,7 @@ class AdaptiveScaffold extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_AdaptiveScaffoldState createState() => _AdaptiveScaffoldState(); State<AdaptiveScaffold> createState() => _AdaptiveScaffoldState();
} }
class _AdaptiveScaffoldState extends State<AdaptiveScaffold> { class _AdaptiveScaffoldState extends State<AdaptiveScaffold> {

@ -91,7 +91,7 @@ packages:
name: built_value name: built_value
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.2.3" version: "8.3.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -170,7 +170,7 @@ packages:
source: hosted source: hosted
version: "4.1.0" version: "4.1.0"
collection: collection:
dependency: transitive dependency: "direct main"
description: description:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -278,7 +278,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -367,7 +367,7 @@ packages:
source: hosted source: hosted
version: "4.0.0" version: "4.0.0"
intl: intl:
dependency: transitive dependency: "direct main"
description: description:
name: intl name: intl
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -407,7 +407,7 @@ packages:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -458,7 +458,7 @@ packages:
source: hosted source: hosted
version: "2.0.2" version: "2.0.2"
path: path:
dependency: transitive dependency: "direct main"
description: description:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
@ -638,5 +638,5 @@ packages:
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.8.0" flutter: ">=2.8.0"

@ -2,26 +2,32 @@ name: web_dashboard
description: A dashboard app sample description: A dashboard app sample
version: 1.0.0+1 version: 1.0.0+1
publish_to: none publish_to: none
environment: environment:
sdk: '>=2.12.0 <3.0.0' sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: charts_flutter: ^0.12.0
sdk: flutter
cloud_firestore: ^3.1.14 cloud_firestore: ^3.1.14
collection: ^1.16.0
cupertino_icons: ^1.0.0 cupertino_icons: ^1.0.0
firebase_auth: ^3.3.17 firebase_auth: ^3.3.17
firebase_core: ^1.16.0 firebase_core: ^1.16.0
flutter:
sdk: flutter
google_sign_in: ^5.3.1 google_sign_in: ^5.3.1
intl: ^0.17.0
json_annotation: ^4.5.0 json_annotation: ^4.5.0
path: ^1.8.1
provider: ^6.0.0 provider: ^6.0.0
uuid: ^3.0.0 uuid: ^3.0.0
charts_flutter: ^0.12.0
dev_dependencies: dev_dependencies:
build_runner: ^2.1.0
flutter_lints: ^2.0.1
flutter_test: flutter_test:
sdk: flutter sdk: flutter
build_runner: ^2.1.0
json_serializable: ^6.2.0
grinder: ^0.9.0 grinder: ^0.9.0
flutter_lints: ^1.0.0 json_serializable: ^6.2.0
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -82,7 +82,7 @@ Future copyright() async {
Future fixCopyright() async { Future fixCopyright() async {
await for (var file in _filesWithoutCopyright()) { await for (var file in _filesWithoutCopyright()) {
var contents = await file.readAsString(); var contents = await file.readAsString();
await file.writeAsString(_copyright + '\n\n' + contents); await file.writeAsString('$_copyright\n\n$contents');
} }
} }
@ -99,7 +99,7 @@ Stream<File> _filesWithoutCopyright() async* {
.take(3) .take(3)
.fold<String>('', (previous, element) { .fold<String>('', (previous, element) {
if (previous == '') return element; if (previous == '') return element;
return previous + '\n' + element; return '$previous\n$element';
}); });
if (firstThreeLines != _copyright) { if (firstThreeLines != _copyright) {

@ -63,14 +63,14 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
firebase_core: firebase_core:
dependency: "direct main" dependency: "direct main"
description: description:
@ -103,7 +103,7 @@ packages:
name: flutter_lints name: flutter_lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "2.0.1"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
@ -162,21 +162,21 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.4.0" version: "4.5.0"
lints: lints:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.1" version: "2.0.0"
location: location:
dependency: "direct main" dependency: "direct main"
description: description:
@ -211,7 +211,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -225,7 +225,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -244,7 +244,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -286,7 +286,7 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@ -300,7 +300,7 @@ packages:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0-206.0.dev <3.0.0"
flutter: ">=2.5.0" flutter: ">=2.5.0"

@ -3,7 +3,7 @@ description: A new Flutter project.
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ">=2.12.0 <3.0.0" sdk: ">=2.17.0-0 <3.0.0"
dependencies: dependencies:
flutter: flutter:
@ -17,7 +17,7 @@ dependencies:
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^1.0.0 flutter_lints: ^2.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true

@ -10,7 +10,7 @@ class AutofillDemo extends StatefulWidget {
const AutofillDemo({Key? key}) : super(key: key); const AutofillDemo({Key? key}) : super(key: key);
@override @override
_AutofillDemoState createState() => _AutofillDemoState(); State<AutofillDemo> createState() => _AutofillDemoState();
} }
class _AutofillDemoState extends State<AutofillDemo> { class _AutofillDemoState extends State<AutofillDemo> {

@ -9,7 +9,7 @@ class FormWidgetsDemo extends StatefulWidget {
const FormWidgetsDemo({Key? key}) : super(key: key); const FormWidgetsDemo({Key? key}) : super(key: key);
@override @override
_FormWidgetsDemoState createState() => _FormWidgetsDemoState(); State<FormWidgetsDemo> createState() => _FormWidgetsDemoState();
} }
class _FormWidgetsDemoState extends State<FormWidgetsDemo> { class _FormWidgetsDemoState extends State<FormWidgetsDemo> {
@ -168,7 +168,7 @@ class _FormDatePicker extends StatefulWidget {
}); });
@override @override
_FormDatePickerState createState() => _FormDatePickerState(); State<_FormDatePicker> createState() => _FormDatePickerState();
} }
class _FormDatePickerState extends State<_FormDatePicker> { class _FormDatePickerState extends State<_FormDatePicker> {

@ -35,7 +35,7 @@ class SignInHttpDemo extends StatefulWidget {
}) : super(key: key); }) : super(key: key);
@override @override
_SignInHttpDemoState createState() => _SignInHttpDemoState(); State<SignInHttpDemo> createState() => _SignInHttpDemoState();
} }
class _SignInHttpDemoState extends State<SignInHttpDemo> { class _SignInHttpDemoState extends State<SignInHttpDemo> {

@ -9,7 +9,7 @@ class FormValidationDemo extends StatefulWidget {
const FormValidationDemo({Key? key}) : super(key: key); const FormValidationDemo({Key? key}) : super(key: key);
@override @override
_FormValidationDemoState createState() => _FormValidationDemoState(); State<FormValidationDemo> createState() => _FormValidationDemoState();
} }
class _FormValidationDemoState extends State<FormValidationDemo> { class _FormValidationDemoState extends State<FormValidationDemo> {

@ -6,6 +6,9 @@ list(APPEND FLUTTER_PLUGIN_LIST
window_size window_size
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -14,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save