[battery] Migrate battery to null safety (#3380)

diff --git a/packages/battery/battery/CHANGELOG.md b/packages/battery/battery/CHANGELOG.md
index ca35c96..d907ca3 100644
--- a/packages/battery/battery/CHANGELOG.md
+++ b/packages/battery/battery/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.0-nullsafety
+
+* Migrate to null safety.
+
 ## 1.0.11
 
 * Update the example app: remove the deprecated `RaisedButton` and `FlatButton` widgets.
diff --git a/packages/battery/battery/example/lib/main.dart b/packages/battery/battery/example/lib/main.dart
index c84f5ee..8482655 100644
--- a/packages/battery/battery/example/lib/main.dart
+++ b/packages/battery/battery/example/lib/main.dart
@@ -27,7 +27,7 @@
 }
 
 class MyHomePage extends StatefulWidget {
-  MyHomePage({Key key, this.title}) : super(key: key);
+  MyHomePage({Key? key, required this.title}) : super(key: key);
 
   final String title;
 
@@ -36,10 +36,10 @@
 }
 
 class _MyHomePageState extends State<MyHomePage> {
-  Battery _battery = Battery();
+  final Battery _battery = Battery();
 
-  BatteryState _batteryState;
-  StreamSubscription<BatteryState> _batteryStateSubscription;
+  BatteryState? _batteryState;
+  late StreamSubscription<BatteryState> _batteryStateSubscription;
 
   @override
   void initState() {
diff --git a/packages/battery/battery/example/pubspec.yaml b/packages/battery/battery/example/pubspec.yaml
index 4e7b9ef..748660a 100644
--- a/packages/battery/battery/example/pubspec.yaml
+++ b/packages/battery/battery/example/pubspec.yaml
@@ -12,11 +12,11 @@
     sdk: flutter
   integration_test:
     path: ../../../integration_test
-  pedantic: ^1.8.0
+  pedantic: ^1.10.0-nullsafety
 
 flutter:
   uses-material-design: true
 
 environment:
-  sdk: ">=2.1.0 <3.0.0"
+  sdk: ">=2.12.0-0 <3.0.0"
   flutter: ">=1.12.13+hotfix.5 <2.0.0"
diff --git a/packages/battery/battery/integration_test/battery_test.dart b/packages/battery/battery/integration_test/battery_test.dart
index ed7b6fe..2b0e269 100644
--- a/packages/battery/battery/integration_test/battery_test.dart
+++ b/packages/battery/battery/integration_test/battery_test.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'package:flutter_test/flutter_test.dart';
 import 'package:battery/battery.dart';
 import 'package:integration_test/integration_test.dart';
diff --git a/packages/battery/battery/pubspec.yaml b/packages/battery/battery/pubspec.yaml
index 9c2c276..455905d 100644
--- a/packages/battery/battery/pubspec.yaml
+++ b/packages/battery/battery/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Flutter plugin for accessing information about the battery state
   (full, charging, discharging) on Android and iOS.
 homepage: https://github.com/flutter/plugins/tree/master/packages/battery/battery
-version: 1.0.11
+version: 2.0.0-nullsafety
 
 flutter:
   plugin:
@@ -16,20 +16,18 @@
 dependencies:
   flutter:
     sdk: flutter
-  meta: ^1.0.5
-  battery_platform_interface: ^1.0.0
+  meta: ^1.3.0-nullsafety
+  battery_platform_interface: ^2.0.0-nullsafety
 
 dev_dependencies:
-  async: ^2.0.8
-  test: ^1.3.0
-  mockito: ^4.1.1
+  mockito: ^5.0.0-nullsafety.0
   flutter_test:
     sdk: flutter
-  plugin_platform_interface: ^1.0.0
+  plugin_platform_interface: ^1.1.0-nullsafety
   integration_test:
     path: ../../integration_test
-  pedantic: ^1.8.0
+  pedantic: ^1.10.0-nullsafety
 
 environment:
-  sdk: ">=2.1.0 <3.0.0"
+  sdk: ">=2.12.0-0 <3.0.0"
   flutter: ">=1.12.13+hotfix.5"
diff --git a/packages/battery/battery/test/battery_test.dart b/packages/battery/battery/test/battery_test.dart
index 5c78920..43155c5 100644
--- a/packages/battery/battery/test/battery_test.dart
+++ b/packages/battery/battery/test/battery_test.dart
@@ -5,14 +5,14 @@
 import 'dart:async';
 
 import 'package:battery_platform_interface/battery_platform_interface.dart';
+import 'package:flutter_test/flutter_test.dart';
 import 'package:plugin_platform_interface/plugin_platform_interface.dart';
-import 'package:test/test.dart';
 import 'package:battery/battery.dart';
 import 'package:mockito/mockito.dart';
 
 void main() {
   group('battery', () {
-    Battery battery;
+    late Battery battery;
     MockBatteryPlatform fakePlatform;
     setUp(() async {
       fakePlatform = MockBatteryPlatform();