[quick_actions] Migrate to new analysis options (#4548)

Removes the use of the legacy analysis options, and fixes the resulting analysis issues.

No version change: No changes that should affect behavior or package clients.

Part of flutter/flutter#76229
diff --git a/packages/quick_actions/analysis_options.yaml b/packages/quick_actions/analysis_options.yaml
deleted file mode 100644
index cda4f6e..0000000
--- a/packages/quick_actions/analysis_options.yaml
+++ /dev/null
@@ -1 +0,0 @@
-include: ../../analysis_options_legacy.yaml
diff --git a/packages/quick_actions/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md
index 497f98a..f684e74 100644
--- a/packages/quick_actions/quick_actions/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions/CHANGELOG.md
@@ -1,6 +1,7 @@
 ## NEXT
 
 * Updates Android compileSdkVersion to 31.
+* Updates code for analyzer changes.
 
 ## 0.6.0+8
 
diff --git a/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart b/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart
index cfe3eb0..bfefef3 100644
--- a/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart
+++ b/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart
@@ -11,7 +11,7 @@
   IntegrationTestWidgetsFlutterBinding.ensureInitialized();
 
   testWidgets('Can set shortcuts', (WidgetTester tester) async {
-    final QuickActions quickActions = QuickActions();
+    const QuickActions quickActions = QuickActions();
     await quickActions.initialize(null);
 
     const ShortcutItem shortCutItem = ShortcutItem(
diff --git a/packages/quick_actions/quick_actions/example/lib/main.dart b/packages/quick_actions/quick_actions/example/lib/main.dart
index 8e47d16..1ce6f51 100644
--- a/packages/quick_actions/quick_actions/example/lib/main.dart
+++ b/packages/quick_actions/quick_actions/example/lib/main.dart
@@ -19,13 +19,13 @@
       theme: ThemeData(
         primarySwatch: Colors.blue,
       ),
-      home: MyHomePage(),
+      home: const MyHomePage(),
     );
   }
 }
 
 class MyHomePage extends StatefulWidget {
-  MyHomePage({Key? key}) : super(key: key);
+  const MyHomePage({Key? key}) : super(key: key);
 
   @override
   _MyHomePageState createState() => _MyHomePageState();
@@ -38,7 +38,7 @@
   void initState() {
     super.initState();
 
-    final QuickActions quickActions = QuickActions();
+    const QuickActions quickActions = QuickActions();
     quickActions.initialize((String shortcutType) {
       setState(() {
         if (shortcutType != null) {
@@ -61,7 +61,7 @@
           type: 'action_two',
           localizedTitle: 'Action two',
           icon: 'ic_launcher'),
-    ]).then((value) {
+    ]).then((void _) {
       setState(() {
         if (shortcut == 'no action set') {
           shortcut = 'actions ready';
@@ -74,7 +74,7 @@
   Widget build(BuildContext context) {
     return Scaffold(
       appBar: AppBar(
-        title: Text('$shortcut'),
+        title: Text(shortcut),
       ),
       body: const Center(
         child: Text('On home screen, long press the app icon to '
diff --git a/packages/quick_actions/quick_actions/test/quick_actions_test.dart b/packages/quick_actions/quick_actions/test/quick_actions_test.dart
index 27d3c81..09fcc97 100644
--- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart
+++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart
@@ -23,7 +23,7 @@
 
     test('initialize() PlatformInterface', () async {
       const QuickActions quickActions = QuickActions();
-      QuickActionHandler handler = (type) {};
+      final QuickActionHandler handler = (String type) {};
 
       await quickActions.initialize(handler);
       verify(QuickActionsPlatform.instance.initialize(handler)).called(1);
@@ -31,17 +31,18 @@
 
     test('setShortcutItems() PlatformInterface', () {
       const QuickActions quickActions = QuickActions();
-      QuickActionHandler handler = (type) {};
+      final QuickActionHandler handler = (String type) {};
       quickActions.initialize(handler);
-      quickActions.setShortcutItems([]);
+      quickActions.setShortcutItems(<ShortcutItem>[]);
 
       verify(QuickActionsPlatform.instance.initialize(handler)).called(1);
-      verify(QuickActionsPlatform.instance.setShortcutItems([])).called(1);
+      verify(QuickActionsPlatform.instance.setShortcutItems(<ShortcutItem>[]))
+          .called(1);
     });
 
     test('clearShortcutItems() PlatformInterface', () {
       const QuickActions quickActions = QuickActions();
-      QuickActionHandler handler = (type) {};
+      final QuickActionHandler handler = (String type) {};
 
       quickActions.initialize(handler);
       quickActions.clearShortcutItems();
@@ -57,15 +58,15 @@
     implements QuickActionsPlatform {
   @override
   Future<void> clearShortcutItems() async =>
-      super.noSuchMethod(Invocation.method(#clearShortcutItems, []));
+      super.noSuchMethod(Invocation.method(#clearShortcutItems, <Object?>[]));
 
   @override
   Future<void> initialize(QuickActionHandler? handler) async =>
-      super.noSuchMethod(Invocation.method(#initialize, [handler]));
+      super.noSuchMethod(Invocation.method(#initialize, <Object?>[handler]));
 
   @override
-  Future<void> setShortcutItems(List<ShortcutItem>? items) async =>
-      super.noSuchMethod(Invocation.method(#setShortcutItems, [items]));
+  Future<void> setShortcutItems(List<ShortcutItem>? items) async => super
+      .noSuchMethod(Invocation.method(#setShortcutItems, <Object?>[items]));
 }
 
 class MockQuickActions extends QuickActions {}
diff --git a/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
index 4b63991..9568f80 100644
--- a/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
+++ b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
-# 1.0.0
+## NEXT
+
+* Updates code for analyzer changes.
+
+## 1.0.0
 
 * Initial release of quick_actions_platform_interface
diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart b/packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart
index 8172fe0..fa76c0f 100644
--- a/packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart
+++ b/packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart
@@ -9,7 +9,7 @@
 
 import '../platform_interface/quick_actions_platform.dart';
 
-final MethodChannel _channel =
+const MethodChannel _channel =
     MethodChannel('plugins.flutter.io/quick_actions');
 
 /// An implementation of [QuickActionsPlatform] that uses method channels.
@@ -22,7 +22,7 @@
   Future<void> initialize(QuickActionHandler handler) async {
     channel.setMethodCallHandler((MethodCall call) async {
       assert(call.method == 'launch');
-      handler(call.arguments);
+      handler(call.arguments as String);
     });
     final String? action =
         await channel.invokeMethod<String?>('getLaunchAction');
diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart b/packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart
index 2e06935..13e9885 100644
--- a/packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart
+++ b/packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart
@@ -40,16 +40,16 @@
   ///
   /// Call this once before any further interaction with the plugin.
   Future<void> initialize(QuickActionHandler handler) async {
-    throw UnimplementedError("initialize() has not been implemented.");
+    throw UnimplementedError('initialize() has not been implemented.');
   }
 
   /// Sets the [ShortcutItem]s to become the app's quick actions.
   Future<void> setShortcutItems(List<ShortcutItem> items) async {
-    throw UnimplementedError("setShortcutItems() has not been implemented.");
+    throw UnimplementedError('setShortcutItems() has not been implemented.');
   }
 
   /// Removes all [ShortcutItem]s registered for the app.
   Future<void> clearShortcutItems() {
-    throw UnimplementedError("clearShortcutItems() has not been implemented.");
+    throw UnimplementedError('clearShortcutItems() has not been implemented.');
   }
 }
diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart
index 27c6bb4..ecc8138 100644
--- a/packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart
+++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart
@@ -5,4 +5,4 @@
 /// Handler for a quick action launch event.
 ///
 /// The argument [type] corresponds to the [ShortcutItem]'s field.
-typedef void QuickActionHandler(String type);
+typedef QuickActionHandler = void Function(String type);
diff --git a/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart b/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart
index f3e172e..240f11b 100644
--- a/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart
+++ b/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart
@@ -13,7 +13,7 @@
   TestWidgetsFlutterBinding.ensureInitialized();
 
   group('$MethodChannelQuickActions', () {
-    MethodChannelQuickActions quickActions = MethodChannelQuickActions();
+    final MethodChannelQuickActions quickActions = MethodChannelQuickActions();
 
     final List<MethodCall> log = <MethodCall>[];
 
@@ -29,9 +29,7 @@
 
     group('#initialize', () {
       test('passes getLaunchAction on launch method', () {
-        quickActions.initialize((type) {
-          'launch';
-        });
+        quickActions.initialize((String type) {});
 
         expect(
           log,
@@ -59,19 +57,18 @@
 
     group('#setShortCutItems', () {
       test('passes shortcutItem through channel', () {
-        quickActions.initialize((type) {
-          'launch';
-        });
-        quickActions.setShortcutItems([
-          ShortcutItem(type: 'test', localizedTitle: 'title', icon: 'icon.svg')
+        quickActions.initialize((String type) {});
+        quickActions.setShortcutItems(<ShortcutItem>[
+          const ShortcutItem(
+              type: 'test', localizedTitle: 'title', icon: 'icon.svg')
         ]);
 
         expect(
           log,
           <Matcher>[
             isMethodCall('getLaunchAction', arguments: null),
-            isMethodCall('setShortcutItems', arguments: [
-              {
+            isMethodCall('setShortcutItems', arguments: <Map<String, String>>[
+              <String, String>{
                 'type': 'test',
                 'localizedTitle': 'title',
                 'icon': 'icon.svg',
@@ -111,9 +108,7 @@
 
     group('#clearShortCutItems', () {
       test('send clearShortcutItems through channel', () {
-        quickActions.initialize((type) {
-          'launch';
-        });
+        quickActions.initialize((String type) {});
         quickActions.clearShortcutItems();
 
         expect(
diff --git a/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart b/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart
index d1c8798..b9655dc 100644
--- a/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart
+++ b/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart
@@ -5,6 +5,7 @@
 import 'package:flutter_test/flutter_test.dart';
 import 'package:quick_actions_platform_interface/method_channel/method_channel_quick_actions.dart';
 import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart';
+import 'package:quick_actions_platform_interface/types/types.dart';
 
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
@@ -31,11 +32,12 @@
         'Default implementation of initialize() should throw unimplemented error',
         () {
       // Arrange
-      final QuickActionsPlatform = ExtendsQuickActionsPlatform();
+      final ExtendsQuickActionsPlatform quickActionsPlatform =
+          ExtendsQuickActionsPlatform();
 
       // Act & Assert
       expect(
-        () => QuickActionsPlatform.initialize((type) {}),
+        () => quickActionsPlatform.initialize((String type) {}),
         throwsUnimplementedError,
       );
     });
@@ -44,11 +46,12 @@
         'Default implementation of setShortcutItems() should throw unimplemented error',
         () {
       // Arrange
-      final QuickActionsPlatform = ExtendsQuickActionsPlatform();
+      final ExtendsQuickActionsPlatform quickActionsPlatform =
+          ExtendsQuickActionsPlatform();
 
       // Act & Assert
       expect(
-        () => QuickActionsPlatform.setShortcutItems([]),
+        () => quickActionsPlatform.setShortcutItems(<ShortcutItem>[]),
         throwsUnimplementedError,
       );
     });
@@ -57,11 +60,12 @@
         'Default implementation of clearShortcutItems() should throw unimplemented error',
         () {
       // Arrange
-      final QuickActionsPlatform = ExtendsQuickActionsPlatform();
+      final ExtendsQuickActionsPlatform quickActionsPlatform =
+          ExtendsQuickActionsPlatform();
 
       // Act & Assert
       expect(
-        () => QuickActionsPlatform.clearShortcutItems(),
+        () => quickActionsPlatform.clearShortcutItems(),
         throwsUnimplementedError,
       );
     });
diff --git a/script/configs/custom_analysis.yaml b/script/configs/custom_analysis.yaml
index 95cc405..758157d 100644
--- a/script/configs/custom_analysis.yaml
+++ b/script/configs/custom_analysis.yaml
@@ -22,7 +22,6 @@
 - in_app_purchase
 - ios_platform_images
 - local_auth
-- quick_actions
 - url_launcher
 - video_player
 - webview_flutter/webview_flutter