| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter/foundation.dart'; |
| import 'package:flutter/material.dart'; |
| import 'package:flutter_driver/driver_extension.dart'; |
| |
| /// This application does nothing but show a screen with the flutter package |
| /// license in it. |
| void main() { |
| enableFlutterDriverExtension(); |
| runApp(const ShowLicenses()); |
| } |
| |
| class ShowLicenses extends StatelessWidget { |
| const ShowLicenses({super.key}); |
| |
| Widget _buildTestResultWidget( |
| BuildContext context, |
| AsyncSnapshot<List<LicenseEntry>> snapshot, |
| ) { |
| final List<LicenseEntry> entries = snapshot.data ?? <LicenseEntry>[]; |
| String flutterPackage = ''; |
| final List<String> flutterParagraphs = <String>[]; |
| String enginePackage = ''; |
| final List<String> engineParagraphs = <String>[]; |
| for (final LicenseEntry entry in entries) { |
| if (entry.packages.contains('flutter')) { |
| flutterPackage = 'flutter'; |
| flutterParagraphs.addAll( |
| entry.paragraphs.map<String>((LicenseParagraph para) => para.text), |
| ); |
| } |
| if (entry.packages.contains('engine')) { |
| enginePackage = 'engine'; |
| engineParagraphs.addAll( |
| entry.paragraphs.map<String>((LicenseParagraph para) => para.text), |
| ); |
| } |
| } |
| |
| final List<Widget> result = <Widget>[]; |
| result.addAll(<Widget>[ |
| const Text('License Check Test', key: ValueKey<String>('Header')), |
| Text(flutterPackage, key: const ValueKey<String>('FlutterPackage')), |
| Text(flutterParagraphs.join(' '), key: const ValueKey<String>('FlutterLicense')), |
| Text('${flutterParagraphs.length}', key: const ValueKey<String>('FlutterCount')), |
| Text(enginePackage, key: const ValueKey<String>('EnginePackage')), |
| Text(engineParagraphs.join(' '), key: const ValueKey<String>('EngineLicense')), |
| Text('${engineParagraphs.length}', key: const ValueKey<String>('EngineCount')), |
| ]); |
| |
| return ListView( |
| children: result, |
| ); |
| } |
| |
| @override |
| Widget build(BuildContext context) { |
| return MaterialApp( |
| home: Scaffold( |
| body: FutureBuilder<List<LicenseEntry>>( |
| initialData: const <LicenseEntry>[], |
| builder: _buildTestResultWidget, |
| future: LicenseRegistry.licenses.toList(), |
| ), |
| ), |
| ); |
| } |
| } |