[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