1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00

Enforce use_key_in_widget_constructors and file_names lints (#913)

* Start enforcing use_key_in_widget_constructors and file_names lints

* dart format

* analysis fixes

* analysis fixes, pt2

* analysis fixes, part 3

* Revert platform_design (test failure)

* More reverts

* Notate why we aren't enforcing a lint
This commit is contained in:
Brett Morgan
2021-10-09 08:30:28 +11:00
committed by GitHub
parent e160f5261c
commit e2e2713986
69 changed files with 174 additions and 114 deletions

View File

@@ -12,10 +12,8 @@ linter:
cancel_subscriptions: true
close_sinks: true
directives_ordering: true
file_names: false
package_api_docs: true
package_prefixed_library_names: true
test_types_in_equals: true
throw_in_finally: true
unnecessary_statements: true
use_key_in_widget_constructors: false

View File

@@ -10,19 +10,21 @@ import 'package:platform_channels/src/pet_list_screen.dart';
import 'package:platform_channels/src/platform_image_demo.dart';
void main() {
runApp(PlatformChannelSample());
runApp(const PlatformChannelSample());
}
class PlatformChannelSample extends StatelessWidget {
const PlatformChannelSample({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
routes: {
'/methodChannelDemo': (context) => MethodChannelDemo(),
'/eventChannelDemo': (context) => EventChannelDemo(),
'/platformImageDemo': (context) => PlatformImageDemo(),
'/petListScreen': (context) => PetListScreen(),
'/addPetDetails': (context) => AddPetDetails(),
'/methodChannelDemo': (context) => const MethodChannelDemo(),
'/eventChannelDemo': (context) => const EventChannelDemo(),
'/platformImageDemo': (context) => const PlatformImageDemo(),
'/petListScreen': (context) => const PetListScreen(),
'/addPetDetails': (context) => const AddPetDetails(),
},
title: 'Platform Channel Sample',
theme: ThemeData(
@@ -30,7 +32,7 @@ class PlatformChannelSample extends StatelessWidget {
backgroundColor: Colors.blue[500],
),
),
home: HomePage(),
home: const HomePage(),
);
}
}
@@ -62,6 +64,8 @@ List<DemoInfo> demoList = [
];
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -79,7 +83,7 @@ class HomePage extends StatelessWidget {
class DemoTile extends StatelessWidget {
final DemoInfo demoInfo;
const DemoTile(this.demoInfo);
const DemoTile(this.demoInfo, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {

View File

@@ -10,6 +10,8 @@ import 'package:platform_channels/src/pet_list_message_channel.dart';
/// The widget uses [TextField] and [RadioListTile] to take the [PetDetails.breed] and
/// [PetDetails.petType] from the user respectively.
class AddPetDetails extends StatefulWidget {
const AddPetDetails({Key? key}) : super(key: key);
@override
_AddPetDetailsState createState() => _AddPetDetailsState();
}

View File

@@ -14,6 +14,8 @@ import 'package:platform_channels/src/accelerometer_event_channel.dart';
/// [Text] widgets to display the value of [AccelerometerReadings.x],
/// [AccelerometerReadings.y], and [AccelerometerReadings.z] respectively.
class EventChannelDemo extends StatelessWidget {
const EventChannelDemo({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final textStyle = Theme.of(context).textTheme.headline5;

View File

@@ -10,6 +10,8 @@ import 'package:platform_channels/src/counter_method_channel.dart';
/// It has two [ElevatedButton]s to increment and decrement the value of
/// [count], and a [Text] widget to display its value.
class MethodChannelDemo extends StatefulWidget {
const MethodChannelDemo({Key? key}) : super(key: key);
@override
_MethodChannelDemoState createState() => _MethodChannelDemoState();
}

View File

@@ -9,6 +9,8 @@ import 'package:platform_channels/src/pet_list_message_channel.dart';
/// Demonstrates how to use [BasicMessageChannel] to send & receive the platform
/// Message.
class PetListScreen extends StatefulWidget {
const PetListScreen({Key? key}) : super(key: key);
@override
_PetListScreenState createState() => _PetListScreenState();
}
@@ -59,7 +61,7 @@ class _PetListScreenState extends State<PetListScreen> {
class BuildPetList extends StatelessWidget {
final List<PetDetails> petList;
const BuildPetList(this.petList);
const BuildPetList(this.petList, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {

View File

@@ -13,6 +13,8 @@ import 'package:platform_channels/src/image_basic_message_channel.dart';
/// The widget uses [Image.memory] to display the image obtained from the
/// platform.
class PlatformImageDemo extends StatefulWidget {
const PlatformImageDemo({Key? key}) : super(key: key);
@override
_PlatformImageDemoState createState() => _PlatformImageDemoState();
}

View File

@@ -9,7 +9,7 @@ import 'package:platform_channels/main.dart';
void main() {
group('HomePage tests', () {
testWidgets('HomePage has multiple Text widgets', (tester) async {
await tester.pumpWidget(MaterialApp(
await tester.pumpWidget(const MaterialApp(
home: HomePage(),
));

View File

@@ -20,7 +20,7 @@ void main() {
});
testWidgets('Enter pet details', (tester) async {
await tester.pumpWidget(MaterialApp(home: AddPetDetails()));
await tester.pumpWidget(const MaterialApp(home: AddPetDetails()));
// Enter the breed of cat.
await tester.enterText(find.byType(TextField), 'Persian');

View File

@@ -49,7 +49,7 @@ void main() {
testWidgets('EventChannel AccelerometerReadings Stream test',
(tester) async {
await tester.pumpWidget(MaterialApp(
await tester.pumpWidget(const MaterialApp(
home: EventChannelDemo(),
));

View File

@@ -26,7 +26,7 @@ void main() {
});
testWidgets('MethodChannelDemo count test', (tester) async {
await tester.pumpWidget(MaterialApp(
await tester.pumpWidget(const MaterialApp(
home: MethodChannelDemo(),
));

View File

@@ -20,7 +20,7 @@ void main() {
});
testWidgets('Platform Image test', (tester) async {
await tester.pumpWidget(MaterialApp(
await tester.pumpWidget(const MaterialApp(
home: PlatformImageDemo(),
));