[url_launcher] Bump platform interface package to stable NNBD (#3570)

Also enables null safety for the unit tests, which had been opted out.
diff --git a/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md b/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
index 5bbbe9d..5cd5643 100644
--- a/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher_platform_interface/CHANGELOG.md
@@ -1,8 +1,4 @@
-## 2.0.0-nullsafety.1
-
-* Bump Dart SDK to support null safety.
-
-## 2.0.0-nullsafety
+## 2.0.0
 
 * Migrate to null safety.
 
diff --git a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
index e576e96..a8761c3 100644
--- a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
+++ b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml
@@ -3,19 +3,19 @@
 homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_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: 2.0.0-nullsafety.1
+version: 2.0.0
 
 dependencies:
   flutter:
     sdk: flutter
-  plugin_platform_interface: ^1.1.0-nullsafety.1
+  plugin_platform_interface: ">=1.0.0 <3.0.0"
 
 dev_dependencies:
   flutter_test:
     sdk: flutter
-  mockito: ^4.1.1
-  pedantic: ^1.10.0-nullsafety.1
+  mockito: ^5.0.0-nullsafety.7
+  pedantic: ^1.10.0
 
 environment:
-  sdk: ">=2.12.0-0 <3.0.0"
+  sdk: ">=2.12.0-2.12.0-259.9.beta <3.0.0"
   flutter: ">=1.22.0"
diff --git a/packages/url_launcher/url_launcher_platform_interface/test/link_test.dart b/packages/url_launcher/url_launcher_platform_interface/test/link_test.dart
index 58cdd22..a01637e 100644
--- a/packages/url_launcher/url_launcher_platform_interface/test/link_test.dart
+++ b/packages/url_launcher/url_launcher_platform_interface/test/link_test.dart
@@ -2,9 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// TODO(egarciad): Remove once Mockito has been migrated to null safety.
-// @dart = 2.9
-
 import 'dart:ui';
 
 import 'package:mockito/mockito.dart';
@@ -19,18 +16,20 @@
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
-  PlatformMessageCallback oldHandler;
-  MethodCall lastCall;
+  PlatformMessageCallback? oldHandler;
+  MethodCall? lastCall;
 
   setUp(() {
     oldHandler = window.onPlatformMessage;
     window.onPlatformMessage = (
       String name,
-      ByteData data,
-      PlatformMessageResponseCallback callback,
+      ByteData? data,
+      PlatformMessageResponseCallback? callback,
     ) {
       lastCall = _codec.decodeMethodCall(data);
-      callback(_codec.encodeSuccessEnvelope(true));
+      if (callback != null) {
+        callback(_codec.encodeSuccessEnvelope(true));
+      }
     };
   });
 
diff --git a/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart b/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart
index dfd4b73..b5a96b1 100644
--- a/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart
+++ b/packages/url_launcher/url_launcher_platform_interface/test/method_channel_url_launcher_test.dart
@@ -2,8 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// TODO(mvanbeusekom): Remove once Mockito is migrated to null safety.
-// @dart = 2.9
 import 'package:mockito/mockito.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
@@ -315,5 +313,5 @@
 
 class ExtendsUrlLauncherPlatform extends UrlLauncherPlatform {
   @override
-  final LinkDelegate linkDelegate = null;
+  final LinkDelegate? linkDelegate = null;
 }