[share] Migrate to null-safety (#3311)
diff --git a/packages/share/CHANGELOG.md b/packages/share/CHANGELOG.md
index 8a38062..86906bb 100644
--- a/packages/share/CHANGELOG.md
+++ b/packages/share/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.0-nullsafety
+
+* Migrate to null safety.
+
## 0.6.5+5
* Update Flutter SDK constraint.
diff --git a/packages/share/lib/share.dart b/packages/share/lib/share.dart
index 4a3ff6f..f155667 100644
--- a/packages/share/lib/share.dart
+++ b/packages/share/lib/share.dart
@@ -33,8 +33,8 @@
/// from [MethodChannel].
static Future<void> share(
String text, {
- String subject,
- Rect sharePositionOrigin,
+ String? subject,
+ Rect? sharePositionOrigin,
}) {
assert(text != null);
assert(text.isNotEmpty);
@@ -67,10 +67,10 @@
/// from [MethodChannel].
static Future<void> shareFiles(
List<String> paths, {
- List<String> mimeTypes,
- String subject,
- String text,
- Rect sharePositionOrigin,
+ List<String>? mimeTypes,
+ String? subject,
+ String? text,
+ Rect? sharePositionOrigin,
}) {
assert(paths != null);
assert(paths.isNotEmpty);
diff --git a/packages/share/pubspec.yaml b/packages/share/pubspec.yaml
index 23644d2..69d0fdb 100644
--- a/packages/share/pubspec.yaml
+++ b/packages/share/pubspec.yaml
@@ -2,10 +2,7 @@
description: Flutter plugin for sharing content via the platform share UI, using
the ACTION_SEND intent on Android and UIActivityViewController on iOS.
homepage: https://github.com/flutter/plugins/tree/master/packages/share
-# 0.6.y+z is compatible with 1.0.0, if you land a breaking change bump
-# the version to 2.0.0.
-# See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
-version: 0.6.5+5
+version: 2.0.0-nullsafety
flutter:
plugin:
@@ -17,20 +14,20 @@
pluginClass: FLTSharePlugin
dependencies:
- meta: ^1.0.5
- mime: ^0.9.7
+ meta: ^1.3.0-nullsafety.6
+ mime: ^1.0.0-nullsafety.0
flutter:
sdk: flutter
dev_dependencies:
- test: ^1.3.0
- mockito: ^3.0.0
+ test: ^1.16.0-nullsafety.13
+ mockito: ^4.1.3
flutter_test:
sdk: flutter
integration_test:
path: ../integration_test
- pedantic: ^1.8.0
+ pedantic: ^1.10.0-nullsafety.3
environment:
- sdk: ">=2.1.0 <3.0.0"
flutter: ">=1.12.13+hotfix.5"
+ sdk: ">=2.12.0-0 <3.0.0"
diff --git a/packages/share/test/share_test.dart b/packages/share/test/share_test.dart
index e862d1b..fa9f980 100644
--- a/packages/share/test/share_test.dart
+++ b/packages/share/test/share_test.dart
@@ -15,7 +15,7 @@
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
- MockMethodChannel mockChannel;
+ late MockMethodChannel mockChannel;
setUp(() {
mockChannel = MockMethodChannel();
@@ -26,14 +26,6 @@
});
});
- test('sharing null fails', () {
- expect(
- () => Share.share(null),
- throwsA(const TypeMatcher<AssertionError>()),
- );
- verifyZeroInteractions(mockChannel);
- });
-
test('sharing empty fails', () {
expect(
() => Share.share(''),
@@ -58,14 +50,6 @@
}));
});
- test('sharing null file fails', () {
- expect(
- () => Share.shareFiles([null]),
- throwsA(const TypeMatcher<AssertionError>()),
- );
- verifyZeroInteractions(mockChannel);
- });
-
test('sharing empty file fails', () {
expect(
() => Share.shareFiles(['']),
diff --git a/script/nnbd_plugins.sh b/script/nnbd_plugins.sh
index 6e08c72..5e671c2 100644
--- a/script/nnbd_plugins.sh
+++ b/script/nnbd_plugins.sh
@@ -13,6 +13,7 @@
"local_auth"
"path_provider"
"plugin_platform_interface"
+ "share"
"url_launcher"
"video_player"
"webview_flutter"