[wifi_info_flutter] Migrate the platform interface to null safety (#3424)

diff --git a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/CHANGELOG.md b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/CHANGELOG.md
index 951f8f5..043a3d3 100644
--- a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/CHANGELOG.md
+++ b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.0-nullsafety
+
+* Migrate to null safety.
+
 ## 1.0.1
 
 * Update Flutter SDK constraint.
diff --git a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/src/method_channel_wifi_info_flutter.dart b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/src/method_channel_wifi_info_flutter.dart
index ef390c3..ba422ec 100644
--- a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/src/method_channel_wifi_info_flutter.dart
+++ b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/src/method_channel_wifi_info_flutter.dart
@@ -17,17 +17,17 @@
       MethodChannel('plugins.flutter.io/wifi_info_flutter');
 
   @override
-  Future<String> getWifiName() async {
+  Future<String?> getWifiName() async {
     return methodChannel.invokeMethod<String>('wifiName');
   }
 
   @override
-  Future<String> getWifiBSSID() {
+  Future<String?> getWifiBSSID() {
     return methodChannel.invokeMethod<String>('wifiBSSID');
   }
 
   @override
-  Future<String> getWifiIP() {
+  Future<String?> getWifiIP() {
     return methodChannel.invokeMethod<String>('wifiIPAddress');
   }
 
@@ -50,7 +50,7 @@
 }
 
 /// Convert a String to a LocationAuthorizationStatus value.
-LocationAuthorizationStatus _parseLocationAuthorizationStatus(String result) {
+LocationAuthorizationStatus _parseLocationAuthorizationStatus(String? result) {
   return LocationAuthorizationStatus.values.firstWhere(
     (LocationAuthorizationStatus status) => result == describeEnum(status),
     orElse: () => LocationAuthorizationStatus.unknown,
diff --git a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/wifi_info_flutter_platform_interface.dart b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/wifi_info_flutter_platform_interface.dart
index 85034b2..5115af7 100644
--- a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/wifi_info_flutter_platform_interface.dart
+++ b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/lib/wifi_info_flutter_platform_interface.dart
@@ -43,17 +43,17 @@
   }
 
   /// Obtains the wifi name (SSID) of the connected network
-  Future<String> getWifiName() {
+  Future<String?> getWifiName() {
     throw UnimplementedError('getWifiName() has not been implemented.');
   }
 
   /// Obtains the wifi BSSID of the connected network.
-  Future<String> getWifiBSSID() {
+  Future<String?> getWifiBSSID() {
     throw UnimplementedError('getWifiBSSID() has not been implemented.');
   }
 
   /// Obtains the IP address of the connected wifi network
-  Future<String> getWifiIP() {
+  Future<String?> getWifiIP() {
     throw UnimplementedError('getWifiIP() has not been implemented.');
   }
 
diff --git a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/pubspec.yaml b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/pubspec.yaml
index 62bffd0..1d830f0 100644
--- a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/pubspec.yaml
+++ b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/pubspec.yaml
@@ -1,20 +1,20 @@
 name: wifi_info_flutter_platform_interface
 description: A common platform interface for the wifi_info_flutter plugin.
-version: 1.0.1
+version: 2.0.0-nullsafety
 # 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
 homepage: https://github.com/flutter/plugins/tree/master/packages/wifi_info_flutter/wifi_info_flutter_platform_interface
 
 environment:
-  sdk: ">=2.7.0 <3.0.0"
+  sdk: ">=2.12.0-0 <3.0.0"
   flutter: ">=1.17.0"
 
 dependencies:
-  plugin_platform_interface: ^1.0.3
+  plugin_platform_interface: ^1.1.0-nullsafety
   flutter:
     sdk: flutter
 
 dev_dependencies:
-  pedantic: ^1.9.2
+  pedantic: ^1.10.0-nullsafety
   flutter_test:
     sdk: flutter
diff --git a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/test/method_channel_wifi_info_flutter_test.dart b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/test/method_channel_wifi_info_flutter_test.dart
index b48b2c4..3373317 100644
--- a/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/test/method_channel_wifi_info_flutter_test.dart
+++ b/packages/wifi_info_flutter/wifi_info_flutter_platform_interface/test/method_channel_wifi_info_flutter_test.dart
@@ -12,7 +12,7 @@
 
   group('$MethodChannelWifiInfoFlutter', () {
     final List<MethodCall> log = <MethodCall>[];
-    MethodChannelWifiInfoFlutter methodChannelWifiInfoFlutter;
+    late MethodChannelWifiInfoFlutter methodChannelWifiInfoFlutter;
 
     setUp(() async {
       methodChannelWifiInfoFlutter = MethodChannelWifiInfoFlutter();
@@ -39,7 +39,7 @@
     });
 
     test('getWifiName', () async {
-      final String result = await methodChannelWifiInfoFlutter.getWifiName();
+      final String? result = await methodChannelWifiInfoFlutter.getWifiName();
       expect(result, '1337wifi');
       expect(
         log,
@@ -53,7 +53,7 @@
     });
 
     test('getWifiBSSID', () async {
-      final String result = await methodChannelWifiInfoFlutter.getWifiBSSID();
+      final String? result = await methodChannelWifiInfoFlutter.getWifiBSSID();
       expect(result, 'c0:ff:33:c0:d3:55');
       expect(
         log,
@@ -67,7 +67,7 @@
     });
 
     test('getWifiIP', () async {
-      final String result = await methodChannelWifiInfoFlutter.getWifiIP();
+      final String? result = await methodChannelWifiInfoFlutter.getWifiIP();
       expect(result, '127.0.0.1');
       expect(
         log,
diff --git a/script/nnbd_plugins.sh b/script/nnbd_plugins.sh
index 447e874..492c8ad 100644
--- a/script/nnbd_plugins.sh
+++ b/script/nnbd_plugins.sh
@@ -15,6 +15,7 @@
   "flutter_plugin_android_lifecycle"
   "flutter_webview"
   "google_sign_in"
+  "image_picker"
   "ios_platform_images"
   "local_auth"
   "path_provider"
@@ -27,7 +28,7 @@
   "url_launcher"
   "video_player"
   "webview_flutter"
-  "image_picker"
+  "wifi_info_flutter"
 )
 
 # This list contains the list of plugins that have *not* been