From 1dd83250681650d7adbcb037cc3623be323d344c Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 17 Mar 2021 12:10:02 +0100 Subject: [PATCH 01/25] Moved quickactions to a subfolder --- packages/quick_actions/example/android.iml | 12 ------------ .../example/quick_actions_example.iml | 15 --------------- .../example/quick_actions_example_android.iml | 12 ------------ .../{ => quick_actions}/CHANGELOG.md | 0 .../quick_actions/{ => quick_actions}/LICENSE | 0 .../quick_actions/{ => quick_actions}/README.md | 0 .../{ => quick_actions}/android/build.gradle | 0 .../android/gradle.properties | 0 .../{ => quick_actions}/android/settings.gradle | 0 .../android/src/main/AndroidManifest.xml | 0 .../quickactions/MethodCallHandlerImpl.java | 0 .../plugins/quickactions/QuickActionsPlugin.java | 0 .../{ => quick_actions}/example/README.md | 0 .../example/android/app/build.gradle | 0 .../app/gradle/wrapper/gradle-wrapper.properties | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../quickactionsexample/EmbeddingV1Activity.java | 0 .../EmbeddingV1ActivityTest.java | 0 .../quickactionsexample/FlutterActivityTest.java | 0 .../main/res/drawable/ic_launcher_background.xml | 0 .../app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../android/app/src/main/res/values/styles.xml | 0 .../example/android/build.gradle | 0 .../example/android/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.properties | 0 .../example/android/settings.gradle | 0 .../integration_test/quick_actions_test.dart | 0 .../example/ios/Flutter/AppFrameworkInfo.plist | 0 .../example/ios/Flutter/Debug.xcconfig | 0 .../example/ios/Flutter/Release.xcconfig | 0 .../example/ios/Runner.xcodeproj/project.pbxproj | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../xcschemes/RunnerUITests.xcscheme | 0 .../Runner.xcworkspace/contents.xcworkspacedata | 0 .../example/ios/Runner/AppDelegate.h | 0 .../example/ios/Runner/AppDelegate.m | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../AppIcon.appiconset/Icon-App-83.5x83.5@2x.png | Bin .../Runner/Base.lproj/LaunchScreen.storyboard | 0 .../ios/Runner/Base.lproj/Main.storyboard | 0 .../example/ios/Runner/Info.plist | 0 .../example/ios/Runner/main.m | 0 .../example/ios/RunnerUITests/Info.plist | 0 .../example/ios/RunnerUITests/RunnerUITests.m | 0 .../{ => quick_actions}/example/lib/main.dart | 0 .../{ => quick_actions}/example/pubspec.yaml | 0 .../example/test_driver/integration_test.dart | 0 .../{ => quick_actions}/ios/Assets/.gitkeep | 0 .../ios/Classes/FLTQuickActionsPlugin.h | 0 .../ios/Classes/FLTQuickActionsPlugin.m | 0 .../ios/quick_actions.podspec | 0 .../{ => quick_actions}/lib/quick_actions.dart | 0 .../{ => quick_actions}/pubspec.yaml | 0 .../test/quick_actions_test.dart | 0 packages/quick_actions/quick_actions_android.iml | 12 ------------ 72 files changed, 51 deletions(-) delete mode 100644 packages/quick_actions/example/android.iml delete mode 100644 packages/quick_actions/example/quick_actions_example.iml delete mode 100644 packages/quick_actions/example/quick_actions_example_android.iml rename packages/quick_actions/{ => quick_actions}/CHANGELOG.md (100%) rename packages/quick_actions/{ => quick_actions}/LICENSE (100%) rename packages/quick_actions/{ => quick_actions}/README.md (100%) rename packages/quick_actions/{ => quick_actions}/android/build.gradle (100%) rename packages/quick_actions/{ => quick_actions}/android/gradle.properties (100%) rename packages/quick_actions/{ => quick_actions}/android/settings.gradle (100%) rename packages/quick_actions/{ => quick_actions}/android/src/main/AndroidManifest.xml (100%) rename packages/quick_actions/{ => quick_actions}/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java (100%) rename packages/quick_actions/{ => quick_actions}/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java (100%) rename packages/quick_actions/{ => quick_actions}/example/README.md (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/build.gradle (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/gradle/wrapper/gradle-wrapper.properties (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/AndroidManifest.xml (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1Activity.java (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1ActivityTest.java (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/FlutterActivityTest.java (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/drawable/ic_launcher_background.xml (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename packages/quick_actions/{ => quick_actions}/example/android/app/src/main/res/values/styles.xml (100%) rename packages/quick_actions/{ => quick_actions}/example/android/build.gradle (100%) rename packages/quick_actions/{ => quick_actions}/example/android/gradle.properties (100%) rename packages/quick_actions/{ => quick_actions}/example/android/gradle/wrapper/gradle-wrapper.properties (100%) rename packages/quick_actions/{ => quick_actions}/example/android/settings.gradle (100%) rename packages/quick_actions/{ => quick_actions}/example/integration_test/quick_actions_test.dart (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Flutter/AppFrameworkInfo.plist (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Flutter/Debug.xcconfig (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Flutter/Release.xcconfig (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner.xcodeproj/project.pbxproj (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/RunnerUITests.xcscheme (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/AppDelegate.h (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/AppDelegate.m (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Base.lproj/Main.storyboard (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/Info.plist (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/Runner/main.m (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/RunnerUITests/Info.plist (100%) rename packages/quick_actions/{ => quick_actions}/example/ios/RunnerUITests/RunnerUITests.m (100%) rename packages/quick_actions/{ => quick_actions}/example/lib/main.dart (100%) rename packages/quick_actions/{ => quick_actions}/example/pubspec.yaml (100%) rename packages/quick_actions/{ => quick_actions}/example/test_driver/integration_test.dart (100%) rename packages/quick_actions/{ => quick_actions}/ios/Assets/.gitkeep (100%) rename packages/quick_actions/{ => quick_actions}/ios/Classes/FLTQuickActionsPlugin.h (100%) rename packages/quick_actions/{ => quick_actions}/ios/Classes/FLTQuickActionsPlugin.m (100%) rename packages/quick_actions/{ => quick_actions}/ios/quick_actions.podspec (100%) rename packages/quick_actions/{ => quick_actions}/lib/quick_actions.dart (100%) rename packages/quick_actions/{ => quick_actions}/pubspec.yaml (100%) rename packages/quick_actions/{ => quick_actions}/test/quick_actions_test.dart (100%) delete mode 100644 packages/quick_actions/quick_actions_android.iml diff --git a/packages/quick_actions/example/android.iml b/packages/quick_actions/example/android.iml deleted file mode 100644 index 462b903e05b6..000000000000 --- a/packages/quick_actions/example/android.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/packages/quick_actions/example/quick_actions_example.iml b/packages/quick_actions/example/quick_actions_example.iml deleted file mode 100644 index 9d5dae19540c..000000000000 --- a/packages/quick_actions/example/quick_actions_example.iml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/packages/quick_actions/example/quick_actions_example_android.iml b/packages/quick_actions/example/quick_actions_example_android.iml deleted file mode 100644 index 462b903e05b6..000000000000 --- a/packages/quick_actions/example/quick_actions_example_android.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/packages/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md similarity index 100% rename from packages/quick_actions/CHANGELOG.md rename to packages/quick_actions/quick_actions/CHANGELOG.md diff --git a/packages/quick_actions/LICENSE b/packages/quick_actions/quick_actions/LICENSE similarity index 100% rename from packages/quick_actions/LICENSE rename to packages/quick_actions/quick_actions/LICENSE diff --git a/packages/quick_actions/README.md b/packages/quick_actions/quick_actions/README.md similarity index 100% rename from packages/quick_actions/README.md rename to packages/quick_actions/quick_actions/README.md diff --git a/packages/quick_actions/android/build.gradle b/packages/quick_actions/quick_actions/android/build.gradle similarity index 100% rename from packages/quick_actions/android/build.gradle rename to packages/quick_actions/quick_actions/android/build.gradle diff --git a/packages/quick_actions/android/gradle.properties b/packages/quick_actions/quick_actions/android/gradle.properties similarity index 100% rename from packages/quick_actions/android/gradle.properties rename to packages/quick_actions/quick_actions/android/gradle.properties diff --git a/packages/quick_actions/android/settings.gradle b/packages/quick_actions/quick_actions/android/settings.gradle similarity index 100% rename from packages/quick_actions/android/settings.gradle rename to packages/quick_actions/quick_actions/android/settings.gradle diff --git a/packages/quick_actions/android/src/main/AndroidManifest.xml b/packages/quick_actions/quick_actions/android/src/main/AndroidManifest.xml similarity index 100% rename from packages/quick_actions/android/src/main/AndroidManifest.xml rename to packages/quick_actions/quick_actions/android/src/main/AndroidManifest.xml diff --git a/packages/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java b/packages/quick_actions/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java similarity index 100% rename from packages/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java rename to packages/quick_actions/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/MethodCallHandlerImpl.java diff --git a/packages/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java b/packages/quick_actions/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java similarity index 100% rename from packages/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java rename to packages/quick_actions/quick_actions/android/src/main/java/io/flutter/plugins/quickactions/QuickActionsPlugin.java diff --git a/packages/quick_actions/example/README.md b/packages/quick_actions/quick_actions/example/README.md similarity index 100% rename from packages/quick_actions/example/README.md rename to packages/quick_actions/quick_actions/example/README.md diff --git a/packages/quick_actions/example/android/app/build.gradle b/packages/quick_actions/quick_actions/example/android/app/build.gradle similarity index 100% rename from packages/quick_actions/example/android/app/build.gradle rename to packages/quick_actions/quick_actions/example/android/app/build.gradle diff --git a/packages/quick_actions/example/android/app/gradle/wrapper/gradle-wrapper.properties b/packages/quick_actions/quick_actions/example/android/app/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/quick_actions/example/android/app/gradle/wrapper/gradle-wrapper.properties rename to packages/quick_actions/quick_actions/example/android/app/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/quick_actions/example/android/app/src/main/AndroidManifest.xml b/packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml similarity index 100% rename from packages/quick_actions/example/android/app/src/main/AndroidManifest.xml rename to packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml diff --git a/packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1Activity.java b/packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1Activity.java similarity index 100% rename from packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1Activity.java rename to packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1Activity.java diff --git a/packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1ActivityTest.java b/packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1ActivityTest.java similarity index 100% rename from packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1ActivityTest.java rename to packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/EmbeddingV1ActivityTest.java diff --git a/packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/FlutterActivityTest.java b/packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/FlutterActivityTest.java similarity index 100% rename from packages/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/FlutterActivityTest.java rename to packages/quick_actions/quick_actions/example/android/app/src/main/java/io/flutter/plugins/quickactionsexample/FlutterActivityTest.java diff --git a/packages/quick_actions/example/android/app/src/main/res/drawable/ic_launcher_background.xml b/packages/quick_actions/quick_actions/example/android/app/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/drawable/ic_launcher_background.xml rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/drawable/ic_launcher_background.xml diff --git a/packages/quick_actions/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/packages/quick_actions/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/packages/quick_actions/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/packages/quick_actions/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/packages/quick_actions/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/packages/quick_actions/example/android/app/src/main/res/values/styles.xml b/packages/quick_actions/quick_actions/example/android/app/src/main/res/values/styles.xml similarity index 100% rename from packages/quick_actions/example/android/app/src/main/res/values/styles.xml rename to packages/quick_actions/quick_actions/example/android/app/src/main/res/values/styles.xml diff --git a/packages/quick_actions/example/android/build.gradle b/packages/quick_actions/quick_actions/example/android/build.gradle similarity index 100% rename from packages/quick_actions/example/android/build.gradle rename to packages/quick_actions/quick_actions/example/android/build.gradle diff --git a/packages/quick_actions/example/android/gradle.properties b/packages/quick_actions/quick_actions/example/android/gradle.properties similarity index 100% rename from packages/quick_actions/example/android/gradle.properties rename to packages/quick_actions/quick_actions/example/android/gradle.properties diff --git a/packages/quick_actions/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/quick_actions/quick_actions/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/quick_actions/example/android/gradle/wrapper/gradle-wrapper.properties rename to packages/quick_actions/quick_actions/example/android/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/quick_actions/example/android/settings.gradle b/packages/quick_actions/quick_actions/example/android/settings.gradle similarity index 100% rename from packages/quick_actions/example/android/settings.gradle rename to packages/quick_actions/quick_actions/example/android/settings.gradle diff --git a/packages/quick_actions/example/integration_test/quick_actions_test.dart b/packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart similarity index 100% rename from packages/quick_actions/example/integration_test/quick_actions_test.dart rename to packages/quick_actions/quick_actions/example/integration_test/quick_actions_test.dart diff --git a/packages/quick_actions/example/ios/Flutter/AppFrameworkInfo.plist b/packages/quick_actions/quick_actions/example/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from packages/quick_actions/example/ios/Flutter/AppFrameworkInfo.plist rename to packages/quick_actions/quick_actions/example/ios/Flutter/AppFrameworkInfo.plist diff --git a/packages/quick_actions/example/ios/Flutter/Debug.xcconfig b/packages/quick_actions/quick_actions/example/ios/Flutter/Debug.xcconfig similarity index 100% rename from packages/quick_actions/example/ios/Flutter/Debug.xcconfig rename to packages/quick_actions/quick_actions/example/ios/Flutter/Debug.xcconfig diff --git a/packages/quick_actions/example/ios/Flutter/Release.xcconfig b/packages/quick_actions/quick_actions/example/ios/Flutter/Release.xcconfig similarity index 100% rename from packages/quick_actions/example/ios/Flutter/Release.xcconfig rename to packages/quick_actions/quick_actions/example/ios/Flutter/Release.xcconfig diff --git a/packages/quick_actions/example/ios/Runner.xcodeproj/project.pbxproj b/packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/quick_actions/example/ios/Runner.xcodeproj/project.pbxproj rename to packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/project.pbxproj diff --git a/packages/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/RunnerUITests.xcscheme b/packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/RunnerUITests.xcscheme similarity index 100% rename from packages/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/RunnerUITests.xcscheme rename to packages/quick_actions/quick_actions/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/RunnerUITests.xcscheme diff --git a/packages/quick_actions/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/quick_actions/quick_actions/example/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/quick_actions/example/ios/Runner.xcworkspace/contents.xcworkspacedata rename to packages/quick_actions/quick_actions/example/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/quick_actions/example/ios/Runner/AppDelegate.h b/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.h similarity index 100% rename from packages/quick_actions/example/ios/Runner/AppDelegate.h rename to packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.h diff --git a/packages/quick_actions/example/ios/Runner/AppDelegate.m b/packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.m similarity index 100% rename from packages/quick_actions/example/ios/Runner/AppDelegate.m rename to packages/quick_actions/quick_actions/example/ios/Runner/AppDelegate.m diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from packages/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to packages/quick_actions/quick_actions/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/packages/quick_actions/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/quick_actions/quick_actions/example/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from packages/quick_actions/example/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to packages/quick_actions/quick_actions/example/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/packages/quick_actions/example/ios/Runner/Base.lproj/Main.storyboard b/packages/quick_actions/quick_actions/example/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from packages/quick_actions/example/ios/Runner/Base.lproj/Main.storyboard rename to packages/quick_actions/quick_actions/example/ios/Runner/Base.lproj/Main.storyboard diff --git a/packages/quick_actions/example/ios/Runner/Info.plist b/packages/quick_actions/quick_actions/example/ios/Runner/Info.plist similarity index 100% rename from packages/quick_actions/example/ios/Runner/Info.plist rename to packages/quick_actions/quick_actions/example/ios/Runner/Info.plist diff --git a/packages/quick_actions/example/ios/Runner/main.m b/packages/quick_actions/quick_actions/example/ios/Runner/main.m similarity index 100% rename from packages/quick_actions/example/ios/Runner/main.m rename to packages/quick_actions/quick_actions/example/ios/Runner/main.m diff --git a/packages/quick_actions/example/ios/RunnerUITests/Info.plist b/packages/quick_actions/quick_actions/example/ios/RunnerUITests/Info.plist similarity index 100% rename from packages/quick_actions/example/ios/RunnerUITests/Info.plist rename to packages/quick_actions/quick_actions/example/ios/RunnerUITests/Info.plist diff --git a/packages/quick_actions/example/ios/RunnerUITests/RunnerUITests.m b/packages/quick_actions/quick_actions/example/ios/RunnerUITests/RunnerUITests.m similarity index 100% rename from packages/quick_actions/example/ios/RunnerUITests/RunnerUITests.m rename to packages/quick_actions/quick_actions/example/ios/RunnerUITests/RunnerUITests.m diff --git a/packages/quick_actions/example/lib/main.dart b/packages/quick_actions/quick_actions/example/lib/main.dart similarity index 100% rename from packages/quick_actions/example/lib/main.dart rename to packages/quick_actions/quick_actions/example/lib/main.dart diff --git a/packages/quick_actions/example/pubspec.yaml b/packages/quick_actions/quick_actions/example/pubspec.yaml similarity index 100% rename from packages/quick_actions/example/pubspec.yaml rename to packages/quick_actions/quick_actions/example/pubspec.yaml diff --git a/packages/quick_actions/example/test_driver/integration_test.dart b/packages/quick_actions/quick_actions/example/test_driver/integration_test.dart similarity index 100% rename from packages/quick_actions/example/test_driver/integration_test.dart rename to packages/quick_actions/quick_actions/example/test_driver/integration_test.dart diff --git a/packages/quick_actions/ios/Assets/.gitkeep b/packages/quick_actions/quick_actions/ios/Assets/.gitkeep similarity index 100% rename from packages/quick_actions/ios/Assets/.gitkeep rename to packages/quick_actions/quick_actions/ios/Assets/.gitkeep diff --git a/packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.h b/packages/quick_actions/quick_actions/ios/Classes/FLTQuickActionsPlugin.h similarity index 100% rename from packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.h rename to packages/quick_actions/quick_actions/ios/Classes/FLTQuickActionsPlugin.h diff --git a/packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.m b/packages/quick_actions/quick_actions/ios/Classes/FLTQuickActionsPlugin.m similarity index 100% rename from packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.m rename to packages/quick_actions/quick_actions/ios/Classes/FLTQuickActionsPlugin.m diff --git a/packages/quick_actions/ios/quick_actions.podspec b/packages/quick_actions/quick_actions/ios/quick_actions.podspec similarity index 100% rename from packages/quick_actions/ios/quick_actions.podspec rename to packages/quick_actions/quick_actions/ios/quick_actions.podspec diff --git a/packages/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart similarity index 100% rename from packages/quick_actions/lib/quick_actions.dart rename to packages/quick_actions/quick_actions/lib/quick_actions.dart diff --git a/packages/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml similarity index 100% rename from packages/quick_actions/pubspec.yaml rename to packages/quick_actions/quick_actions/pubspec.yaml diff --git a/packages/quick_actions/test/quick_actions_test.dart b/packages/quick_actions/quick_actions/test/quick_actions_test.dart similarity index 100% rename from packages/quick_actions/test/quick_actions_test.dart rename to packages/quick_actions/quick_actions/test/quick_actions_test.dart diff --git a/packages/quick_actions/quick_actions_android.iml b/packages/quick_actions/quick_actions_android.iml deleted file mode 100644 index 462b903e05b6..000000000000 --- a/packages/quick_actions/quick_actions_android.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - From b1314ef2a3da23fe86bde988acd11bd512b119d7 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 10:01:15 +0100 Subject: [PATCH 02/25] Added platform interface with tests --- .../CHANGELOG.md | 3 + .../quick_actions_platform_interface/LICENSE | 25 +++ .../README.md | 26 +++ .../method_channel_quick_actions.dart | 50 ++++++ .../quick_actions_platform.dart | 52 ++++++ .../lib/quick_actions_platform_interface.dart | 4 + .../lib/types/quick_action_handler.dart | 4 + .../lib/types/shortcut_item.dart | 22 +++ .../lib/types/types.dart | 2 + .../pubspec.yaml | 21 +++ .../method_channel_quick_actions_test.dart | 155 ++++++++++++++++++ ...quick_actions_platform_interface_test.dart | 74 +++++++++ 12 files changed, 438 insertions(+) create mode 100644 packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md create mode 100644 packages/quick_actions/quick_actions_platform_interface/LICENSE create mode 100644 packages/quick_actions/quick_actions_platform_interface/README.md create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/pubspec.yaml create mode 100644 packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart create mode 100644 packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart diff --git a/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md new file mode 100644 index 000000000000..4b63991e9c4a --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/CHANGELOG.md @@ -0,0 +1,3 @@ +# 1.0.0 + +* Initial release of quick_actions_platform_interface diff --git a/packages/quick_actions/quick_actions_platform_interface/LICENSE b/packages/quick_actions/quick_actions_platform_interface/LICENSE new file mode 100644 index 000000000000..a6d6c0749818 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/LICENSE @@ -0,0 +1,25 @@ +Copyright 2017 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/quick_actions/quick_actions_platform_interface/README.md b/packages/quick_actions/quick_actions_platform_interface/README.md new file mode 100644 index 000000000000..ce8136ee9614 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/README.md @@ -0,0 +1,26 @@ +# quick_actions_platform_interface + +A common platform interface for the [`quick_actions`][1] plugin. + +This interface allows platform-specific implementations of the `quick_actions` +plugin, as well as the plugin itself, to ensure they are supporting the +same interface. + +# Usage + +To implement a new platform-specific implementation of `quick_actions`, extend +[`QuickActionsPlatform`][2] with an implementation that performs the +platform-specific behavior, and when you register your plugin, set the default +`QuickActionsPlatform` by calling +`QuickActionsPlatform.instance = MyPlatformQuickActions()`. + +# Note on breaking changes + +Strongly prefer non-breaking changes (such as adding a method to the interface) +over breaking changes for this package. + +See https://flutter.dev/go/platform-interface-breaking-changes for a discussion +on why a less-clean interface is preferable to a breaking change. + +[1]: ../quick_actions +[2]: lib/quick_actions_platform_interface.dart 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 new file mode 100644 index 000000000000..cc5105b9d51e --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/method_channel/method_channel_quick_actions.dart @@ -0,0 +1,50 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:meta/meta.dart' show visibleForTesting; +import 'package:quick_actions_platform_interface/types/types.dart'; + +import '../platform_interface/quick_actions_platform.dart'; + +final MethodChannel _channel = + MethodChannel('plugins.flutter.io/quick_actions'); + +/// An implementation of [QuickActionsPlatform] that uses method channels. +class MethodChannelQuickActions extends QuickActionsPlatform { + /// The MethodChannel that is being used by this implementation of the plugin. + @visibleForTesting + MethodChannel get channel => _channel; + + + @override + void initialize(QuickActionHandler handler) async { + channel.setMethodCallHandler((MethodCall call) async { + assert(call.method == 'launch'); + handler(call.arguments); + }); + final String? action = + await channel.invokeMethod('getLaunchAction'); + if (action != null) { + handler(action); + } + } + + @override + Future setShortcutItems(List items) async { + final List> itemsList = + items.map(_serializeItem).toList(); + await channel.invokeMethod('setShortcutItems', itemsList); + } + + @override + Future clearShortcutItems() => + channel.invokeMethod('clearShortcutItems'); + + + Map _serializeItem(ShortcutItem item) { + return { + 'type': item.type, + 'localizedTitle': item.localizedTitle, + 'icon': item.icon, + }; + } +} 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 new file mode 100644 index 000000000000..9b91a9080750 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/platform_interface/quick_actions_platform.dart @@ -0,0 +1,52 @@ +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; +import 'package:quick_actions_platform_interface/types/types.dart'; + +import '../method_channel/method_channel_quick_actions.dart'; + + +/// The interface that implementations of quick_actions must implement. +/// +/// Platform implementations should extend this class rather than implement it as `quick_actions` +/// does not consider newly added methods to be breaking changes. Extending this class +/// (using `extends`) ensures that the subclass will get the default implementation, while +/// platform implementations that `implements` this interface will be broken by newly added +/// [QuickActionsPlatform] methods. +abstract class QuickActionsPlatform extends PlatformInterface { + /// Constructs a QuickActionsPlatform. + QuickActionsPlatform() : super(token: _token); + + static final Object _token = Object(); + + static QuickActionsPlatform _instance = MethodChannelQuickActions(); + + /// The default instance of [ImagePickerPlatform] to use. + /// + /// Defaults to [MethodChannelImagePicker]. + static QuickActionsPlatform get instance => _instance; + + /// Platform-specific plugins should set this with their own platform-specific + /// class that extends [ImagePickerPlatform] when they register themselves. + // TODO(amirh): Extract common platform interface logic. + // https://github.com/flutter/flutter/issues/43368 + static set instance(QuickActionsPlatform instance) { + PlatformInterface.verifyToken(instance, _token); + _instance = instance; + } + + /// Initializes this plugin + /// + /// Call this once before any further interaction with the the plugin. + void initialize(QuickActionHandler handler) async { + throw UnimplementedError("initialize() has not been implemented."); + } + + /// Sets the [ShortcutItem]s to become the app's quick actions. + Future setShortcutItems(List items) async { + throw UnimplementedError("setShortcutItems() has not been implemented."); + } + + /// Removes all [ShortcutItem]s registered for the app. + Future clearShortcutItems() { + throw UnimplementedError("clearShortcutItems() has not been implemented."); + } +} diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart new file mode 100644 index 000000000000..772efc4e4770 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart @@ -0,0 +1,4 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + 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 new file mode 100644 index 000000000000..e6611eb7bf91 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/quick_action_handler.dart @@ -0,0 +1,4 @@ +/// Handler for a quick action launch event. +/// +/// The argument [type] corresponds to the [ShortcutItem]'s field. +typedef void QuickActionHandler(String type); \ No newline at end of file diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart new file mode 100644 index 000000000000..0aa6961eab8c --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart @@ -0,0 +1,22 @@ +/// Home screen quick-action shortcut item. +class ShortcutItem { + /// Constructs an instance with the given [type], [localizedTitle], and + /// [icon]. + /// + /// Only [icon] should be nullable. It will remain `null` if unset. + const ShortcutItem({ + required this.type, + required this.localizedTitle, + this.icon, + }); + + /// The identifier of this item; should be unique within the app. + final String type; + + /// Localized title of the item. + final String localizedTitle; + + /// Name of native resource (xcassets etc; NOT a Flutter asset) to be + /// displayed as the icon for this item. + final String? icon; +} diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart new file mode 100644 index 000000000000..18c8db0d9bf5 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -0,0 +1,2 @@ +export 'shortcut_item.dart'; +export 'quick_action_handler.dart'; \ No newline at end of file diff --git a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml new file mode 100644 index 000000000000..a24a816cb4ae --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml @@ -0,0 +1,21 @@ +name: quick_actions_platform_interface +description: A common platform interface for the quick_actions plugin. +homepage: https://github.com/flutter/plugins/tree/master/packages/quick_actions/quick_actions_platform_interface +# NOTE: We strongly prefer non-breaking changes, even at the expense of a +# less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes +version: 1.0.0 + +dependencies: + flutter: + sdk: flutter + plugin_platform_interface: ^2.0.0 + +dev_dependencies: + flutter_test: + sdk: flutter + mockito: ^5.0.1 + pedantic: ^1.11.0 + +environment: + sdk: ">=2.12.0-259.9.beta <3.0.0" + flutter: ">=1.22.0" 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 new file mode 100644 index 000000000000..b8fdeeefa0f4 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/test/method_channel_quick_actions_test.dart @@ -0,0 +1,155 @@ +// Copyright 2019 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 'dart:async'; + +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; + +import '../lib/method_channel/method_channel_quick_actions.dart'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + + group('$MethodChannelQuickActions', () { + MethodChannelQuickActions quickActions = MethodChannelQuickActions(); + + final List log = []; + + setUp(() { + quickActions.channel + .setMockMethodCallHandler((MethodCall methodCall) async { + log.add(methodCall); + return ''; + }); + + log.clear(); + }); + + group('#initialize', () { + test('passes getLaunchAction on launch method', () { + quickActions.initialize((type) { + 'launch'; + }); + + expect( + log, + [ + isMethodCall('getLaunchAction', arguments: null), + ], + ); + }); + + test('initialize', () async { + final Completer quickActionsHandler = Completer(); + quickActions.initialize((_) => quickActionsHandler.complete(true)); + expect( + log, + [ + isMethodCall('getLaunchAction', arguments: null), + ], + ); + log.clear(); + + expect(quickActionsHandler.future, completion(isTrue)); + }); + }); + + group('#setShortCutItems', () { + test('passes shortcutItem through channel', () { + quickActions.initialize((type) { + 'launch'; + }); + quickActions.setShortcutItems([ + ShortcutItem(type: 'test', localizedTitle: 'title', icon: 'icon.svg') + ]); + + expect( + log, + [ + isMethodCall('getLaunchAction', arguments: null), + isMethodCall('setShortcutItems', arguments: [ + { + 'type': 'test', + 'localizedTitle': 'title', + 'icon': 'icon.svg', + } + ]), + ], + ); + }); + + test('setShortcutItems with demo data', () async { + const String type = 'type'; + const String localizedTitle = 'localizedTitle'; + const String icon = 'icon'; + await quickActions.setShortcutItems( + const [ + ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon) + ], + ); + expect( + log, + [ + isMethodCall( + 'setShortcutItems', + arguments: >[ + { + 'type': type, + 'localizedTitle': localizedTitle, + 'icon': icon, + } + ], + ), + ], + ); + log.clear(); + }); + }); + + group('#clearShortCutItems', () { + test('send clearShortcutItems through channel', () { + quickActions.initialize((type) { + 'launch'; + }); + quickActions.clearShortcutItems(); + + expect( + log, + [ + isMethodCall('getLaunchAction', arguments: null), + isMethodCall('clearShortcutItems', arguments: null), + ], + ); + }); + + test('clearShortcutItems', () { + quickActions.clearShortcutItems(); + expect( + log, + [ + isMethodCall('clearShortcutItems', arguments: null), + ], + ); + log.clear(); + }); + }); + }); + + group('$ShortcutItem', () { + test('Shortcut item can be constructed', () { + const String type = 'type'; + const String localizedTitle = 'title'; + const String icon = 'foo'; + + const ShortcutItem item = + ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon); + + expect(item.type, type); + expect(item.localizedTitle, localizedTitle); + expect(item.icon, icon); + }); + }); +} 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 new file mode 100644 index 000000000000..520587f421f1 --- /dev/null +++ b/packages/quick_actions/quick_actions_platform_interface/test/quick_actions_platform_interface_test.dart @@ -0,0 +1,74 @@ +// Copyright 2019 The Chromium 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/services.dart'; +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'; + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + + group('$QuickActionsPlatform', () { + test('$MethodChannelQuickActions is the default instance', () { + expect(QuickActionsPlatform.instance, isA()); + }); + + test('Cannot be implemented with `implements`', () { + expect(() { + QuickActionsPlatform.instance = ImplementsQuickActionsPlatform(); + }, throwsNoSuchMethodError); + }); + + test('Can be extended', () { + QuickActionsPlatform.instance = ExtendsQuickActionsPlatform(); + }); + + test( + 'Default implementation of initialize() should throw unimplemented error', + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + + // Act & Assert + expect( + () => QuickActionsPlatform.initialize((type) {}), + throwsUnimplementedError, + ); + }); + + test( + 'Default implementation of setShortcutItems() should throw unimplemented error', + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + + // Act & Assert + expect( + () => QuickActionsPlatform.setShortcutItems([]), + throwsUnimplementedError, + ); + }); + + test( + 'Default implementation of clearShortcutItems() should throw unimplemented error', + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + + // Act & Assert + expect( + () => QuickActionsPlatform.clearShortcutItems(), + throwsUnimplementedError, + ); + }); + }); +} + +class ImplementsQuickActionsPlatform implements QuickActionsPlatform { + @override + dynamic noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); +} + +class ExtendsQuickActionsPlatform extends QuickActionsPlatform {} From 836bc78f1dd3bed3cc2f4bf9fba8bf18c191fe6c Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 10:39:57 +0100 Subject: [PATCH 03/25] Added exports --- .../lib/quick_actions_platform_interface.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart index 772efc4e4770..b6561deebc65 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart @@ -2,3 +2,5 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +export 'package:quick_actions_platform_interface/types/types.dart'; +export 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; \ No newline at end of file From 4b3c09ffd494f3ba17d6fa8ab5c99e966486c7e1 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 12:22:07 +0100 Subject: [PATCH 04/25] WIP: quick_action tests --- .../quick_actions/quick_actions/CHANGELOG.md | 4 + .../quick_actions/lib/quick_actions.dart | 80 ++--------- .../quick_actions/quick_actions/pubspec.yaml | 14 +- .../test/quick_actions_test.dart | 128 ++++++++---------- 4 files changed, 74 insertions(+), 152 deletions(-) diff --git a/packages/quick_actions/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md index 276ddfbf24c4..5e7ddf59d88a 100644 --- a/packages/quick_actions/quick_actions/CHANGELOG.md +++ b/packages/quick_actions/quick_actions/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.0 + +* Migrate to federated architecture. + ## 0.5.0 * Migrate to null safety. diff --git a/packages/quick_actions/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart index fe95b1d07765..a6bfd3d5cf8c 100644 --- a/packages/quick_actions/quick_actions/lib/quick_actions.dart +++ b/packages/quick_actions/quick_actions/lib/quick_actions.dart @@ -6,88 +6,24 @@ import 'dart:async'; import 'package:flutter/services.dart'; import 'package:meta/meta.dart'; +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/types/types.dart'; -const MethodChannel _kChannel = - MethodChannel('plugins.flutter.io/quick_actions'); - -/// Handler for a quick action launch event. -/// -/// The argument [type] corresponds to the [ShortcutItem]'s field. -typedef void QuickActionHandler(String type); - -/// Home screen quick-action shortcut item. -class ShortcutItem { - /// Constructs an instance with the given [type], [localizedTitle], and - /// [icon]. - /// - /// Only [icon] should be nullable. It will remain `null` if unset. - const ShortcutItem({ - required this.type, - required this.localizedTitle, - this.icon, - }); - - /// The identifier of this item; should be unique within the app. - final String type; - - /// Localized title of the item. - final String localizedTitle; - - /// Name of native resource (xcassets etc; NOT a Flutter asset) to be - /// displayed as the icon for this item. - final String? icon; -} +export 'package:quick_actions_platform_interface/types/types.dart'; /// Quick actions plugin. class QuickActions { - /// Gets an instance of the plugin with the default methodChannel. - /// - /// [initialize] should be called before using any other methods. - factory QuickActions() => _instance; - - /// This is a test-only constructor. Do not call this, it can break at any - /// time. - @visibleForTesting - QuickActions.withMethodChannel(this.channel); - - static final QuickActions _instance = - QuickActions.withMethodChannel(_kChannel); - - /// This is a test-only accessor. Do not call this, it can break at any time. - @visibleForTesting - final MethodChannel channel; - /// Initializes this plugin. /// /// Call this once before any further interaction with the the plugin. - void initialize(QuickActionHandler handler) async { - channel.setMethodCallHandler((MethodCall call) async { - assert(call.method == 'launch'); - handler(call.arguments); - }); - final String? action = - await channel.invokeMethod('getLaunchAction'); - if (action != null) { - handler(action); - } - } + void initialize(QuickActionHandler handler) async => + QuickActionsPlatform.instance.initialize(handler); /// Sets the [ShortcutItem]s to become the app's quick actions. - Future setShortcutItems(List items) async { - final List> itemsList = - items.map(_serializeItem).toList(); - await channel.invokeMethod('setShortcutItems', itemsList); - } + Future setShortcutItems(List items) async => + QuickActionsPlatform.instance.setShortcutItems(items); /// Removes all [ShortcutItem]s registered for the app. Future clearShortcutItems() => - channel.invokeMethod('clearShortcutItems'); - - Map _serializeItem(ShortcutItem item) { - return { - 'type': item.type, - 'localizedTitle': item.localizedTitle, - 'icon': item.icon, - }; - } + QuickActionsPlatform.instance.clearShortcutItems(); } diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index ed6555833b83..acb958d82d61 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -2,7 +2,7 @@ name: quick_actions description: Flutter plugin for creating shortcuts on home screen, also known as Quick Actions on iOS and App Shortcuts on Android. homepage: https://github.com/flutter/plugins/tree/master/packages/quick_actions -version: 0.5.0 +version: 0.6.0 flutter: plugin: @@ -17,15 +17,19 @@ dependencies: flutter: sdk: flutter meta: ^1.3.0 + quick_actions_platform_interface: + path: ../quick_actions_platform_interface dev_dependencies: - test: ^1.16.3 flutter_test: sdk: flutter integration_test: sdk: flutter - pedantic: ^1.10.0 + mockito: ^5.0.0-nullsafety.7 + pedantic: ^1.11.0 + plugin_platform_interface: ^2.0.0 + environment: - sdk: ">=2.12.0-259.9.beta <3.0.0" - flutter: ">=1.12.13+hotfix.5" + sdk: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" 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 9adcf5628a47..7dc1e3f5b702 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -1,90 +1,68 @@ -// Copyright 2017 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 'dart:async'; - -import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/mockito.dart'; +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:quick_actions/quick_actions.dart'; +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/quick_actions_platform_interface.dart'; +import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; void main() { - TestWidgetsFlutterBinding.ensureInitialized(); + WidgetsFlutterBinding.ensureInitialized(); - late QuickActions quickActions; - final List log = []; + group('$QuickActions', () { - setUp(() { - quickActions = QuickActions(); - quickActions.channel.setMockMethodCallHandler( - (MethodCall methodCall) async { - log.add(methodCall); - return 'non empty response'; - }, - ); - }); + setUpAll(() { + QuickActionsPlatform.instance = MockQuickActionsPlatform(); + }); - test('setShortcutItems with demo data', () async { - const String type = 'type'; - const String localizedTitle = 'localizedTitle'; - const String icon = 'icon'; - await quickActions.setShortcutItems( - const [ - ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon) - ], - ); - expect( - log, - [ - isMethodCall( - 'setShortcutItems', - arguments: >[ - { - 'type': type, - 'localizedTitle': localizedTitle, - 'icon': icon, - } - ], - ), - ], - ); - log.clear(); - }); + test('initialize() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { }); - test('clearShortcutItems', () { - quickActions.clearShortcutItems(); - expect( - log, - [ - isMethodCall('clearShortcutItems', arguments: null), - ], - ); - log.clear(); - }); + verify(QuickActionsPlatform.instance.initialize((_)=>{})).called(1); + }); + + test('setShortcutItems() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { }); + quickActions.setShortcutItems([]); - test('initialize', () async { - final Completer quickActionsHandler = Completer(); - quickActions.initialize((_) => quickActionsHandler.complete(true)); - expect( - log, - [ - isMethodCall('getLaunchAction', arguments: null), - ], - ); - log.clear(); + verify(QuickActionsPlatform.instance.initialize((String _) => {})).called(1); + verify(QuickActionsPlatform.instance.setShortcutItems([])).called(1); + }); - expect(quickActionsHandler.future, completion(isTrue)); + test('clearShortcutItems() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { 'launch';}); + quickActions.clearShortcutItems(); + + verify(QuickActionsPlatform.instance.initialize((type) { 'launch';})).called(1); + verify(QuickActionsPlatform.instance.clearShortcutItems()).called(1); + }); }); +} - test('Shortcut item can be constructed', () { - const String type = 'type'; - const String localizedTitle = 'title'; - const String icon = 'foo'; +class MockQuickActionsPlatform extends Mock + with MockPlatformInterfaceMixin + implements QuickActionsPlatform { + @override + Future clearShortcutItems() async { + super.noSuchMethod( + Invocation.method(#clearShortcutItems, [])); + } - const ShortcutItem item = - ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon); + @override + void initialize(QuickActionHandler handler) { + super.noSuchMethod( + Invocation.method(#initialize, [handler])); + } - expect(item.type, type); - expect(item.localizedTitle, localizedTitle); - expect(item.icon, icon); - }); + @override + Future setShortcutItems(List items) async { + super.noSuchMethod( + Invocation.method(#setShortcutItems, [items])); + } } + +class MockQuickActions extends QuickActions {} \ No newline at end of file From 0f79c715b9ee64e39bfc0fcd8c2bd466fcffda66 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 13:19:45 +0100 Subject: [PATCH 05/25] Formatted, made initialize return Future instead of void --- .../lib/method_channel/method_channel_quick_actions.dart | 8 +++----- .../lib/platform_interface/quick_actions_platform.dart | 3 +-- .../lib/quick_actions_platform_interface.dart | 2 +- .../lib/types/quick_action_handler.dart | 2 +- .../quick_actions_platform_interface/lib/types/types.dart | 2 +- .../test/method_channel_quick_actions_test.dart | 3 ++- 6 files changed, 9 insertions(+), 11 deletions(-) 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 cc5105b9d51e..e2a0451ecc8f 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 @@ -14,15 +14,14 @@ class MethodChannelQuickActions extends QuickActionsPlatform { @visibleForTesting MethodChannel get channel => _channel; - @override - void initialize(QuickActionHandler handler) async { + Future initialize(QuickActionHandler handler) async { channel.setMethodCallHandler((MethodCall call) async { assert(call.method == 'launch'); handler(call.arguments); }); final String? action = - await channel.invokeMethod('getLaunchAction'); + await channel.invokeMethod('getLaunchAction'); if (action != null) { handler(action); } @@ -31,7 +30,7 @@ class MethodChannelQuickActions extends QuickActionsPlatform { @override Future setShortcutItems(List items) async { final List> itemsList = - items.map(_serializeItem).toList(); + items.map(_serializeItem).toList(); await channel.invokeMethod('setShortcutItems', itemsList); } @@ -39,7 +38,6 @@ class MethodChannelQuickActions extends QuickActionsPlatform { Future clearShortcutItems() => channel.invokeMethod('clearShortcutItems'); - Map _serializeItem(ShortcutItem item) { return { 'type': item.type, 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 9b91a9080750..0c8ed0a20ba7 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 @@ -3,7 +3,6 @@ import 'package:quick_actions_platform_interface/types/types.dart'; import '../method_channel/method_channel_quick_actions.dart'; - /// The interface that implementations of quick_actions must implement. /// /// Platform implementations should extend this class rather than implement it as `quick_actions` @@ -36,7 +35,7 @@ abstract class QuickActionsPlatform extends PlatformInterface { /// Initializes this plugin /// /// Call this once before any further interaction with the the plugin. - void initialize(QuickActionHandler handler) async { + Future initialize(QuickActionHandler handler) async { throw UnimplementedError("initialize() has not been implemented."); } diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart index b6561deebc65..8393de6cd8e6 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart @@ -2,5 +2,5 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +export 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; export 'package:quick_actions_platform_interface/types/types.dart'; -export 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; \ No newline at end of file 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 e6611eb7bf91..42163f8e6f1c 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 @@ -1,4 +1,4 @@ /// Handler for a quick action launch event. /// /// The argument [type] corresponds to the [ShortcutItem]'s field. -typedef void QuickActionHandler(String type); \ No newline at end of file +typedef void QuickActionHandler(String type); diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart index 18c8db0d9bf5..a29b60566dac 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -1,2 +1,2 @@ +export 'quick_action_handler.dart'; export 'shortcut_item.dart'; -export 'quick_action_handler.dart'; \ No newline at end of file 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 b8fdeeefa0f4..6ebcf18efa8a 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 @@ -44,7 +44,8 @@ void main() { test('initialize', () async { final Completer quickActionsHandler = Completer(); - quickActions.initialize((_) => quickActionsHandler.complete(true)); + await quickActions + .initialize((_) => quickActionsHandler.complete(true)); expect( log, [ From 77d4eaadfc18b75d08d54efca2724a6ba679f5b2 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 12:22:07 +0100 Subject: [PATCH 06/25] WIP: quick_action tests --- .../quick_actions/quick_actions/CHANGELOG.md | 4 + .../quick_actions/lib/quick_actions.dart | 80 ++--------- .../quick_actions/quick_actions/pubspec.yaml | 14 +- .../test/quick_actions_test.dart | 128 ++++++++---------- 4 files changed, 74 insertions(+), 152 deletions(-) diff --git a/packages/quick_actions/quick_actions/CHANGELOG.md b/packages/quick_actions/quick_actions/CHANGELOG.md index 276ddfbf24c4..5e7ddf59d88a 100644 --- a/packages/quick_actions/quick_actions/CHANGELOG.md +++ b/packages/quick_actions/quick_actions/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.0 + +* Migrate to federated architecture. + ## 0.5.0 * Migrate to null safety. diff --git a/packages/quick_actions/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart index fe95b1d07765..a6bfd3d5cf8c 100644 --- a/packages/quick_actions/quick_actions/lib/quick_actions.dart +++ b/packages/quick_actions/quick_actions/lib/quick_actions.dart @@ -6,88 +6,24 @@ import 'dart:async'; import 'package:flutter/services.dart'; import 'package:meta/meta.dart'; +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/types/types.dart'; -const MethodChannel _kChannel = - MethodChannel('plugins.flutter.io/quick_actions'); - -/// Handler for a quick action launch event. -/// -/// The argument [type] corresponds to the [ShortcutItem]'s field. -typedef void QuickActionHandler(String type); - -/// Home screen quick-action shortcut item. -class ShortcutItem { - /// Constructs an instance with the given [type], [localizedTitle], and - /// [icon]. - /// - /// Only [icon] should be nullable. It will remain `null` if unset. - const ShortcutItem({ - required this.type, - required this.localizedTitle, - this.icon, - }); - - /// The identifier of this item; should be unique within the app. - final String type; - - /// Localized title of the item. - final String localizedTitle; - - /// Name of native resource (xcassets etc; NOT a Flutter asset) to be - /// displayed as the icon for this item. - final String? icon; -} +export 'package:quick_actions_platform_interface/types/types.dart'; /// Quick actions plugin. class QuickActions { - /// Gets an instance of the plugin with the default methodChannel. - /// - /// [initialize] should be called before using any other methods. - factory QuickActions() => _instance; - - /// This is a test-only constructor. Do not call this, it can break at any - /// time. - @visibleForTesting - QuickActions.withMethodChannel(this.channel); - - static final QuickActions _instance = - QuickActions.withMethodChannel(_kChannel); - - /// This is a test-only accessor. Do not call this, it can break at any time. - @visibleForTesting - final MethodChannel channel; - /// Initializes this plugin. /// /// Call this once before any further interaction with the the plugin. - void initialize(QuickActionHandler handler) async { - channel.setMethodCallHandler((MethodCall call) async { - assert(call.method == 'launch'); - handler(call.arguments); - }); - final String? action = - await channel.invokeMethod('getLaunchAction'); - if (action != null) { - handler(action); - } - } + void initialize(QuickActionHandler handler) async => + QuickActionsPlatform.instance.initialize(handler); /// Sets the [ShortcutItem]s to become the app's quick actions. - Future setShortcutItems(List items) async { - final List> itemsList = - items.map(_serializeItem).toList(); - await channel.invokeMethod('setShortcutItems', itemsList); - } + Future setShortcutItems(List items) async => + QuickActionsPlatform.instance.setShortcutItems(items); /// Removes all [ShortcutItem]s registered for the app. Future clearShortcutItems() => - channel.invokeMethod('clearShortcutItems'); - - Map _serializeItem(ShortcutItem item) { - return { - 'type': item.type, - 'localizedTitle': item.localizedTitle, - 'icon': item.icon, - }; - } + QuickActionsPlatform.instance.clearShortcutItems(); } diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index ed6555833b83..acb958d82d61 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -2,7 +2,7 @@ name: quick_actions description: Flutter plugin for creating shortcuts on home screen, also known as Quick Actions on iOS and App Shortcuts on Android. homepage: https://github.com/flutter/plugins/tree/master/packages/quick_actions -version: 0.5.0 +version: 0.6.0 flutter: plugin: @@ -17,15 +17,19 @@ dependencies: flutter: sdk: flutter meta: ^1.3.0 + quick_actions_platform_interface: + path: ../quick_actions_platform_interface dev_dependencies: - test: ^1.16.3 flutter_test: sdk: flutter integration_test: sdk: flutter - pedantic: ^1.10.0 + mockito: ^5.0.0-nullsafety.7 + pedantic: ^1.11.0 + plugin_platform_interface: ^2.0.0 + environment: - sdk: ">=2.12.0-259.9.beta <3.0.0" - flutter: ">=1.12.13+hotfix.5" + sdk: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" 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 9adcf5628a47..7dc1e3f5b702 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -1,90 +1,68 @@ -// Copyright 2017 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 'dart:async'; - -import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/mockito.dart'; +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:quick_actions/quick_actions.dart'; +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/quick_actions_platform_interface.dart'; +import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; void main() { - TestWidgetsFlutterBinding.ensureInitialized(); + WidgetsFlutterBinding.ensureInitialized(); - late QuickActions quickActions; - final List log = []; + group('$QuickActions', () { - setUp(() { - quickActions = QuickActions(); - quickActions.channel.setMockMethodCallHandler( - (MethodCall methodCall) async { - log.add(methodCall); - return 'non empty response'; - }, - ); - }); + setUpAll(() { + QuickActionsPlatform.instance = MockQuickActionsPlatform(); + }); - test('setShortcutItems with demo data', () async { - const String type = 'type'; - const String localizedTitle = 'localizedTitle'; - const String icon = 'icon'; - await quickActions.setShortcutItems( - const [ - ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon) - ], - ); - expect( - log, - [ - isMethodCall( - 'setShortcutItems', - arguments: >[ - { - 'type': type, - 'localizedTitle': localizedTitle, - 'icon': icon, - } - ], - ), - ], - ); - log.clear(); - }); + test('initialize() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { }); - test('clearShortcutItems', () { - quickActions.clearShortcutItems(); - expect( - log, - [ - isMethodCall('clearShortcutItems', arguments: null), - ], - ); - log.clear(); - }); + verify(QuickActionsPlatform.instance.initialize((_)=>{})).called(1); + }); + + test('setShortcutItems() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { }); + quickActions.setShortcutItems([]); - test('initialize', () async { - final Completer quickActionsHandler = Completer(); - quickActions.initialize((_) => quickActionsHandler.complete(true)); - expect( - log, - [ - isMethodCall('getLaunchAction', arguments: null), - ], - ); - log.clear(); + verify(QuickActionsPlatform.instance.initialize((String _) => {})).called(1); + verify(QuickActionsPlatform.instance.setShortcutItems([])).called(1); + }); - expect(quickActionsHandler.future, completion(isTrue)); + test('clearShortcutItems() PlatformInterface', () { + MockQuickActions quickActions = MockQuickActions(); + quickActions.initialize((type) { 'launch';}); + quickActions.clearShortcutItems(); + + verify(QuickActionsPlatform.instance.initialize((type) { 'launch';})).called(1); + verify(QuickActionsPlatform.instance.clearShortcutItems()).called(1); + }); }); +} - test('Shortcut item can be constructed', () { - const String type = 'type'; - const String localizedTitle = 'title'; - const String icon = 'foo'; +class MockQuickActionsPlatform extends Mock + with MockPlatformInterfaceMixin + implements QuickActionsPlatform { + @override + Future clearShortcutItems() async { + super.noSuchMethod( + Invocation.method(#clearShortcutItems, [])); + } - const ShortcutItem item = - ShortcutItem(type: type, localizedTitle: localizedTitle, icon: icon); + @override + void initialize(QuickActionHandler handler) { + super.noSuchMethod( + Invocation.method(#initialize, [handler])); + } - expect(item.type, type); - expect(item.localizedTitle, localizedTitle); - expect(item.icon, icon); - }); + @override + Future setShortcutItems(List items) async { + super.noSuchMethod( + Invocation.method(#setShortcutItems, [items])); + } } + +class MockQuickActions extends QuickActions {} \ No newline at end of file From 3d77603c6e37f494aeb6683b18e9825710b682df Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:21:48 +0100 Subject: [PATCH 07/25] Fixed tests --- .../integration_test/quick_actions_test.dart | 2 +- .../quick_actions/lib/quick_actions.dart | 4 +- .../test/quick_actions_test.dart | 47 +++++++++---------- 3 files changed, 24 insertions(+), 29 deletions(-) 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 f8841843b016..dd61b8abdeb8 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 @@ -12,7 +12,7 @@ void main() { testWidgets('Can set shortcuts', (WidgetTester tester) async { final QuickActions quickActions = QuickActions(); - quickActions.initialize(null); + await quickActions.initialize(null); const ShortcutItem shortCutItem = ShortcutItem( type: 'action_one', diff --git a/packages/quick_actions/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart index a6bfd3d5cf8c..4f812d91a426 100644 --- a/packages/quick_actions/quick_actions/lib/quick_actions.dart +++ b/packages/quick_actions/quick_actions/lib/quick_actions.dart @@ -4,8 +4,6 @@ import 'dart:async'; -import 'package:flutter/services.dart'; -import 'package:meta/meta.dart'; import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; import 'package:quick_actions_platform_interface/types/types.dart'; @@ -16,7 +14,7 @@ class QuickActions { /// Initializes this plugin. /// /// Call this once before any further interaction with the the plugin. - void initialize(QuickActionHandler handler) async => + Future initialize(QuickActionHandler handler) async => QuickActionsPlatform.instance.initialize(handler); /// Sets the [ShortcutItem]s to become the app's quick actions. 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 7dc1e3f5b702..aa1d93b033e0 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -11,33 +11,36 @@ void main() { WidgetsFlutterBinding.ensureInitialized(); group('$QuickActions', () { - - setUpAll(() { + setUp(() { QuickActionsPlatform.instance = MockQuickActionsPlatform(); }); - test('initialize() PlatformInterface', () { - MockQuickActions quickActions = MockQuickActions(); - quickActions.initialize((type) { }); + test('initialize() PlatformInterface', () async { + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; - verify(QuickActionsPlatform.instance.initialize((_)=>{})).called(1); + await quickActions.initialize(handler); + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); }); test('setShortcutItems() PlatformInterface', () { - MockQuickActions quickActions = MockQuickActions(); - quickActions.initialize((type) { }); + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; + quickActions.initialize(handler); quickActions.setShortcutItems([]); - verify(QuickActionsPlatform.instance.initialize((String _) => {})).called(1); + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); verify(QuickActionsPlatform.instance.setShortcutItems([])).called(1); }); test('clearShortcutItems() PlatformInterface', () { - MockQuickActions quickActions = MockQuickActions(); - quickActions.initialize((type) { 'launch';}); + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; + + quickActions.initialize(handler); quickActions.clearShortcutItems(); - verify(QuickActionsPlatform.instance.initialize((type) { 'launch';})).called(1); + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); verify(QuickActionsPlatform.instance.clearShortcutItems()).called(1); }); }); @@ -47,22 +50,16 @@ class MockQuickActionsPlatform extends Mock with MockPlatformInterfaceMixin implements QuickActionsPlatform { @override - Future clearShortcutItems() async { - super.noSuchMethod( - Invocation.method(#clearShortcutItems, [])); - } + Future clearShortcutItems() async => + super.noSuchMethod(Invocation.method(#clearShortcutItems, [])); @override - void initialize(QuickActionHandler handler) { - super.noSuchMethod( - Invocation.method(#initialize, [handler])); - } + Future initialize(QuickActionHandler? handler) async => + super.noSuchMethod(Invocation.method(#initialize, [handler])); @override - Future setShortcutItems(List items) async { - super.noSuchMethod( - Invocation.method(#setShortcutItems, [items])); - } + Future setShortcutItems(List? items) async => + super.noSuchMethod(Invocation.method(#setShortcutItems, [items])); } -class MockQuickActions extends QuickActions {} \ No newline at end of file +class MockQuickActions extends QuickActions {} From 357db7ed2589f3ef2fc895bc2f56a021f3aa1465 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:22:30 +0100 Subject: [PATCH 08/25] Fixed formatting --- ...quick_actions_platform_interface_test.dart | 55 +++++++++---------- 1 file changed, 27 insertions(+), 28 deletions(-) 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 520587f421f1..41364a435365 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 @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/services.dart'; 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'; @@ -27,42 +26,42 @@ void main() { test( 'Default implementation of initialize() should throw unimplemented error', - () { - // Arrange - final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); - // Act & Assert - expect( - () => QuickActionsPlatform.initialize((type) {}), - throwsUnimplementedError, - ); - }); + // Act & Assert + expect( + () => QuickActionsPlatform.initialize((type) {}), + throwsUnimplementedError, + ); + }); test( 'Default implementation of setShortcutItems() should throw unimplemented error', - () { - // Arrange - final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); - // Act & Assert - expect( - () => QuickActionsPlatform.setShortcutItems([]), - throwsUnimplementedError, - ); - }); + // Act & Assert + expect( + () => QuickActionsPlatform.setShortcutItems([]), + throwsUnimplementedError, + ); + }); test( 'Default implementation of clearShortcutItems() should throw unimplemented error', - () { - // Arrange - final QuickActionsPlatform = ExtendsQuickActionsPlatform(); + () { + // Arrange + final QuickActionsPlatform = ExtendsQuickActionsPlatform(); - // Act & Assert - expect( - () => QuickActionsPlatform.clearShortcutItems(), - throwsUnimplementedError, - ); - }); + // Act & Assert + expect( + () => QuickActionsPlatform.clearShortcutItems(), + throwsUnimplementedError, + ); + }); }); } From 9c68b66adfcc2f3dedfd073bd04a40f4e66509d8 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:28:03 +0100 Subject: [PATCH 09/25] fixed path --- packages/quick_actions/quick_actions/pubspec.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index acb958d82d61..6156b2af1d5d 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -17,8 +17,7 @@ dependencies: flutter: sdk: flutter meta: ^1.3.0 - quick_actions_platform_interface: - path: ../quick_actions_platform_interface + quick_actions_platform_interface: 1.0.0 dev_dependencies: flutter_test: From d9422936890d631114e68ff0fc3762d40d0b9179 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:32:02 +0100 Subject: [PATCH 10/25] formatting --- .../test/method_channel_quick_actions_test.dart | 1 + 1 file changed, 1 insertion(+) 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 6ebcf18efa8a..60e9ce492f4f 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 @@ -8,6 +8,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; +// ignore: avoid_relative_lib_imports import '../lib/method_channel/method_channel_quick_actions.dart'; void main() { From da5f02844af30e79c8156552b6d27907838ca059 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:33:42 +0100 Subject: [PATCH 11/25] Fixed analyze issue with import --- .../test/method_channel_quick_actions_test.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 60e9ce492f4f..0466bdd0483f 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 @@ -8,8 +8,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; -// ignore: avoid_relative_lib_imports -import '../lib/method_channel/method_channel_quick_actions.dart'; +import 'package:quick_actions_platform_interface/method_channel/method_channel_quick_actions.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); From 3727f619598c29e7baabc011fe5765913f0dad06 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:33:59 +0100 Subject: [PATCH 12/25] Fixed formatting --- .../test/method_channel_quick_actions_test.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 0466bdd0483f..1fc883fcb1f4 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 @@ -6,9 +6,8 @@ import 'dart:async'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; - import 'package:quick_actions_platform_interface/method_channel/method_channel_quick_actions.dart'; +import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); From f0652c8d19a2f2410acd37e38a7c00746e4ec5d9 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:52:36 +0100 Subject: [PATCH 13/25] Removed AUTHORS from quick_actions folder --- AUTHORS | 1 + packages/quick_actions/AUTHORS | 66 ---------------------------------- 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 packages/quick_actions/AUTHORS diff --git a/AUTHORS b/AUTHORS index 493a0b4ef9c2..0ca697b6a756 100644 --- a/AUTHORS +++ b/AUTHORS @@ -64,3 +64,4 @@ Aleksandr Yurkovskiy Anton Borries Alex Li Rahul Raj <64.rahulraj@gmail.com> +Daniel Roek diff --git a/packages/quick_actions/AUTHORS b/packages/quick_actions/AUTHORS deleted file mode 100644 index 493a0b4ef9c2..000000000000 --- a/packages/quick_actions/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> From e50b65785f09dee5b3c8777521b16e074a774b8c Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:53:58 +0100 Subject: [PATCH 14/25] added meta to pubspec --- .../quick_actions/quick_actions_platform_interface/pubspec.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml index a24a816cb4ae..eb1ff40bb4a4 100644 --- a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml +++ b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml @@ -8,6 +8,7 @@ version: 1.0.0 dependencies: flutter: sdk: flutter + meta: ^1.3.0 plugin_platform_interface: ^2.0.0 dev_dependencies: From 1e6624d3074f8aaf6b686e20b85c7a81b8ea4dcb Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 14:56:03 +0100 Subject: [PATCH 15/25] Fixed formatting --- packages/quick_actions/AUTHORS | 66 ------------------- .../pubspec.yaml | 1 + 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 packages/quick_actions/AUTHORS diff --git a/packages/quick_actions/AUTHORS b/packages/quick_actions/AUTHORS deleted file mode 100644 index 493a0b4ef9c2..000000000000 --- a/packages/quick_actions/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml index a24a816cb4ae..eb1ff40bb4a4 100644 --- a/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml +++ b/packages/quick_actions/quick_actions_platform_interface/pubspec.yaml @@ -8,6 +8,7 @@ version: 1.0.0 dependencies: flutter: sdk: flutter + meta: ^1.3.0 plugin_platform_interface: ^2.0.0 dev_dependencies: From 343effe387191ba2e25ab489598b9c79accd305a Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 15:04:27 +0100 Subject: [PATCH 16/25] Added license in files --- .../quick_actions/quick_actions/test/quick_actions_test.dart | 4 ++++ .../lib/method_channel/method_channel_quick_actions.dart | 4 ++++ .../lib/platform_interface/quick_actions_platform.dart | 4 ++++ .../lib/types/quick_action_handler.dart | 4 ++++ .../lib/types/shortcut_item.dart | 4 ++++ .../quick_actions_platform_interface/lib/types/types.dart | 4 ++++ 6 files changed, 24 insertions(+) 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 aa1d93b033e0..eb16bf954de2 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -1,3 +1,7 @@ +// Copyright 2017 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/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; 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 e2a0451ecc8f..15b2cc352fe5 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium 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/services.dart'; import 'package:meta/meta.dart' show visibleForTesting; 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 0c8ed0a20ba7..907702c8ccf1 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium 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:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:quick_actions_platform_interface/types/types.dart'; 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 42163f8e6f1c..21d01149cddd 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + /// Handler for a quick action launch event. /// /// The argument [type] corresponds to the [ShortcutItem]'s field. diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart index 0aa6961eab8c..3f9bd3bd6f55 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + /// Home screen quick-action shortcut item. class ShortcutItem { /// Constructs an instance with the given [type], [localizedTitle], and diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart index a29b60566dac..07c4d93ebc22 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -1,2 +1,6 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + export 'quick_action_handler.dart'; export 'shortcut_item.dart'; From f73a1cb6bd747652efe63cc32475a5c2c2a88103 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 15:14:30 +0100 Subject: [PATCH 17/25] Added license in files --- .../quick_actions/quick_actions/test/quick_actions_test.dart | 1 + .../lib/method_channel/method_channel_quick_actions.dart | 4 ++++ .../lib/platform_interface/quick_actions_platform.dart | 4 ++++ .../lib/types/quick_action_handler.dart | 4 ++++ .../lib/types/shortcut_item.dart | 4 ++++ .../quick_actions_platform_interface/lib/types/types.dart | 4 ++++ 6 files changed, 21 insertions(+) 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 9adcf5628a47..ba336b2a29af 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -1,6 +1,7 @@ // Copyright 2017 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 'dart:async'; import 'package:flutter/services.dart'; 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 e2a0451ecc8f..a24177ce271a 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium 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/services.dart'; import 'package:meta/meta.dart' show visibleForTesting; 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 0c8ed0a20ba7..ee75f97b3080 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium 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:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:quick_actions_platform_interface/types/types.dart'; 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 42163f8e6f1c..fab97581c382 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 @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file.\\\ + /// Handler for a quick action launch event. /// /// The argument [type] corresponds to the [ShortcutItem]'s field. diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart index 0aa6961eab8c..bce1c02679fc 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart @@ -1,3 +1,7 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file.\\\ + /// Home screen quick-action shortcut item. class ShortcutItem { /// Constructs an instance with the given [type], [localizedTitle], and diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart index a29b60566dac..9fb998fd22ff 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -1,2 +1,6 @@ +// Copyright 2019 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file.\\\ + export 'quick_action_handler.dart'; export 'shortcut_item.dart'; From c0f3dec3685e353709d651e103f91a8859bfe40c Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 15:16:02 +0100 Subject: [PATCH 18/25] fixed version in pubspec --- packages/quick_actions/quick_actions/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index 6156b2af1d5d..18edbc6a1671 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: flutter: sdk: flutter meta: ^1.3.0 - quick_actions_platform_interface: 1.0.0 + quick_actions_platform_interface: ^1.0.0 dev_dependencies: flutter_test: From c9fbf5a54108632d4c6bde6ddf6fa413331e9f0e Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 15:25:15 +0100 Subject: [PATCH 19/25] Removed accidental \\\ --- .../lib/method_channel/method_channel_quick_actions.dart | 2 +- .../lib/platform_interface/quick_actions_platform.dart | 2 +- .../lib/types/quick_action_handler.dart | 2 +- .../lib/types/shortcut_item.dart | 2 +- .../quick_actions_platform_interface/lib/types/types.dart | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) 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 a24177ce271a..15b2cc352fe5 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 @@ -1,6 +1,6 @@ // Copyright 2019 The Chromium Authors. All rights reserved. // 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/foundation.dart'; import 'package:flutter/services.dart'; 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 ee75f97b3080..907702c8ccf1 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 @@ -1,6 +1,6 @@ // Copyright 2019 The Chromium Authors. All rights reserved. // 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:plugin_platform_interface/plugin_platform_interface.dart'; import 'package:quick_actions_platform_interface/types/types.dart'; 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 fab97581c382..21d01149cddd 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 @@ -1,6 +1,6 @@ // Copyright 2019 The Chromium Authors. All rights reserved. // 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. /// Handler for a quick action launch event. /// diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart index bce1c02679fc..3f9bd3bd6f55 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart @@ -1,6 +1,6 @@ // Copyright 2019 The Chromium Authors. All rights reserved. // 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. /// Home screen quick-action shortcut item. class ShortcutItem { diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart index 9fb998fd22ff..07c4d93ebc22 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -1,6 +1,6 @@ // Copyright 2019 The Chromium Authors. All rights reserved. // 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. export 'quick_action_handler.dart'; export 'shortcut_item.dart'; From a3524b9e0cfd3d4f75cf9bcfd0e5f892de4d3749 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Fri, 19 Mar 2021 15:30:13 +0100 Subject: [PATCH 20/25] changed license to Flutter 2017 --- .../lib/method_channel/method_channel_quick_actions.dart | 2 +- .../lib/platform_interface/quick_actions_platform.dart | 2 +- .../lib/quick_actions_platform_interface.dart | 2 +- .../lib/types/quick_action_handler.dart | 2 +- .../lib/types/shortcut_item.dart | 2 +- .../quick_actions_platform_interface/lib/types/types.dart | 2 +- .../test/method_channel_quick_actions_test.dart | 2 +- .../test/quick_actions_platform_interface_test.dart | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) 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 15b2cc352fe5..bc414976378c 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 @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. 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 907702c8ccf1..d4ba69aba5ef 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 @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart index 8393de6cd8e6..e80fccad22ea 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/quick_actions_platform_interface.dart @@ -1,4 +1,4 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. +// Copyright 2017 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. 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 21d01149cddd..6343cc83cdc6 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 @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart index 3f9bd3bd6f55..9f1a85d39f46 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/shortcut_item.dart @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. diff --git a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart index 07c4d93ebc22..682ccf824ba8 100644 --- a/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart +++ b/packages/quick_actions/quick_actions_platform_interface/lib/types/types.dart @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. 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 1fc883fcb1f4..147cdcfd4668 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 @@ -1,4 +1,4 @@ -// Copyright 2019 The Flutter Authors. All rights reserved. +// Copyright 2017 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. 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 41364a435365..6fbd140a23ec 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 @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. +// Copyright 2017 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. From f3e71b0a442eafff909076b32bd93c70ec640e68 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 24 Mar 2021 10:15:34 +0100 Subject: [PATCH 21/25] Added quick_action files --- .../quick_actions/lib/quick_actions.dart | 28 ++++++++ .../test/quick_actions_test.dart | 69 +++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 packages/quick_actions/quick_actions/lib/quick_actions.dart create mode 100644 packages/quick_actions/quick_actions/test/quick_actions_test.dart diff --git a/packages/quick_actions/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart new file mode 100644 index 000000000000..4e91b898eaa5 --- /dev/null +++ b/packages/quick_actions/quick_actions/lib/quick_actions.dart @@ -0,0 +1,28 @@ +// Copyright 2013 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 'dart:async'; + +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/types/types.dart'; + +export 'package:quick_actions_platform_interface/types/types.dart'; + + +/// Quick actions plugin. +class QuickActions { + /// Initializes this plugin. + /// + /// Call this once before any further interaction with the the plugin. + Future initialize(QuickActionHandler handler) async => + QuickActionsPlatform.instance.initialize(handler); + + /// Sets the [ShortcutItem]s to become the app's quick actions. + Future setShortcutItems(List items) async => + QuickActionsPlatform.instance.setShortcutItems(items); + + /// Removes all [ShortcutItem]s registered for the app. + Future clearShortcutItems() => + QuickActionsPlatform.instance.clearShortcutItems(); +} \ No newline at end of file diff --git a/packages/quick_actions/quick_actions/test/quick_actions_test.dart b/packages/quick_actions/quick_actions/test/quick_actions_test.dart new file mode 100644 index 000000000000..a38450858dcb --- /dev/null +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -0,0 +1,69 @@ +// Copyright 2013 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/widgets.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mockito/mockito.dart'; +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; +import 'package:quick_actions/quick_actions.dart'; +import 'package:quick_actions_platform_interface/platform_interface/quick_actions_platform.dart'; +import 'package:quick_actions_platform_interface/quick_actions_platform_interface.dart'; +import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; + +void main() { + WidgetsFlutterBinding.ensureInitialized(); + + group('$QuickActions', () { + setUp(() { + QuickActionsPlatform.instance = MockQuickActionsPlatform(); + }); + + test('initialize() PlatformInterface', () async { + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; + + await quickActions.initialize(handler); + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); + }); + + test('setShortcutItems() PlatformInterface', () { + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; + quickActions.initialize(handler); + quickActions.setShortcutItems([]); + + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); + verify(QuickActionsPlatform.instance.setShortcutItems([])).called(1); + }); + + test('clearShortcutItems() PlatformInterface', () { + QuickActions quickActions = QuickActions(); + QuickActionHandler handler = (type) {}; + + quickActions.initialize(handler); + quickActions.clearShortcutItems(); + + verify(QuickActionsPlatform.instance.initialize(handler)).called(1); + verify(QuickActionsPlatform.instance.clearShortcutItems()).called(1); + }); + }); +} + +class MockQuickActionsPlatform extends Mock + with MockPlatformInterfaceMixin + implements QuickActionsPlatform { + @override + Future clearShortcutItems() async => + super.noSuchMethod(Invocation.method(#clearShortcutItems, [])); + + @override + Future initialize(QuickActionHandler? handler) async => + super.noSuchMethod(Invocation.method(#initialize, [handler])); + + @override + Future setShortcutItems(List? items) async => + super.noSuchMethod(Invocation.method(#setShortcutItems, [items])); +} + +class MockQuickActions extends QuickActions {} \ No newline at end of file From 648e1c29e13fcc1cb56e74cb6dea6032cd4dc426 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 24 Mar 2021 10:16:29 +0100 Subject: [PATCH 22/25] Fixed formatting --- packages/quick_actions/quick_actions/lib/quick_actions.dart | 3 +-- .../quick_actions/quick_actions/test/quick_actions_test.dart | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/quick_actions/quick_actions/lib/quick_actions.dart b/packages/quick_actions/quick_actions/lib/quick_actions.dart index 4e91b898eaa5..f90a44e0443d 100644 --- a/packages/quick_actions/quick_actions/lib/quick_actions.dart +++ b/packages/quick_actions/quick_actions/lib/quick_actions.dart @@ -9,7 +9,6 @@ import 'package:quick_actions_platform_interface/types/types.dart'; export 'package:quick_actions_platform_interface/types/types.dart'; - /// Quick actions plugin. class QuickActions { /// Initializes this plugin. @@ -25,4 +24,4 @@ class QuickActions { /// Removes all [ShortcutItem]s registered for the app. Future clearShortcutItems() => QuickActionsPlatform.instance.clearShortcutItems(); -} \ No newline at end of file +} 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 a38450858dcb..4edb65d75837 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -66,4 +66,4 @@ class MockQuickActionsPlatform extends Mock super.noSuchMethod(Invocation.method(#setShortcutItems, [items])); } -class MockQuickActions extends QuickActions {} \ No newline at end of file +class MockQuickActions extends QuickActions {} From 32550d833015c60e4ea8103d757a3c89d2191f98 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 24 Mar 2021 11:28:24 +0100 Subject: [PATCH 23/25] Removed WidgetsFlutterBinding --- .../quick_actions/quick_actions/test/quick_actions_test.dart | 2 -- 1 file changed, 2 deletions(-) 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 4edb65d75837..bb9fdc63b9bf 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -12,8 +12,6 @@ import 'package:quick_actions_platform_interface/quick_actions_platform_interfac import 'package:quick_actions_platform_interface/types/shortcut_item.dart'; void main() { - WidgetsFlutterBinding.ensureInitialized(); - group('$QuickActions', () { setUp(() { QuickActionsPlatform.instance = MockQuickActionsPlatform(); From ed83e5d56e0cdaf37e91dc5ce7b350bc07f5c194 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 24 Mar 2021 11:31:03 +0100 Subject: [PATCH 24/25] Reverted bumping Flutter version --- packages/quick_actions/quick_actions/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/quick_actions/quick_actions/pubspec.yaml b/packages/quick_actions/quick_actions/pubspec.yaml index 18edbc6a1671..f6622525d458 100644 --- a/packages/quick_actions/quick_actions/pubspec.yaml +++ b/packages/quick_actions/quick_actions/pubspec.yaml @@ -31,4 +31,4 @@ dev_dependencies: environment: sdk: ">=2.12.0 <3.0.0" - flutter: ">=2.0.0" + flutter: ">=1.12.13+hotfix.5" From c4d0cf4449de496e5baa4ed733667b1c0359c677 Mon Sep 17 00:00:00 2001 From: "daniel.roek" Date: Wed, 24 Mar 2021 11:37:51 +0100 Subject: [PATCH 25/25] Removed unused import --- .../quick_actions/quick_actions/test/quick_actions_test.dart | 1 - 1 file changed, 1 deletion(-) 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 bb9fdc63b9bf..b8d7695735b6 100644 --- a/packages/quick_actions/quick_actions/test/quick_actions_test.dart +++ b/packages/quick_actions/quick_actions/test/quick_actions_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:plugin_platform_interface/plugin_platform_interface.dart';