Migrate ios_add2app_life_cycle to nullsafety (#80617)
diff --git a/dev/integration_tests/ios_add2app_life_cycle/flutterapp/lib/main.dart b/dev/integration_tests/ios_add2app_life_cycle/flutterapp/lib/main.dart
index a64dcc9..b831bcd 100644
--- a/dev/integration_tests/ios_add2app_life_cycle/flutterapp/lib/main.dart
+++ b/dev/integration_tests/ios_add2app_life_cycle/flutterapp/lib/main.dart
@@ -8,14 +8,14 @@
import 'package:flutter/services.dart';
import 'package:collection/collection.dart';
-VoidCallback originalSemanticsListener;
+VoidCallback? originalSemanticsListener;
void main() {
WidgetsFlutterBinding.ensureInitialized();
// Disconnects semantics listener for testing purposes.
originalSemanticsListener = ui.window.onSemanticsEnabledChanged;
ui.window.onSemanticsEnabledChanged = null;
- RendererBinding.instance.setSemanticsEnabled(false);
+ RendererBinding.instance?.setSemanticsEnabled(false);
// If the test passes, LifeCycleSpy will rewire the semantics listener back.
runApp(const LifeCycleSpy());
}
@@ -28,7 +28,7 @@
///
/// Rewiring semantics is a signal to native IOS test that the test has passed.
class LifeCycleSpy extends StatefulWidget {
- const LifeCycleSpy({Key key}) : super(key: key);
+ const LifeCycleSpy({Key? key}) : super(key: key);
@override
_LifeCycleSpyState createState() => _LifeCycleSpyState();
@@ -40,36 +40,36 @@
AppLifecycleState.inactive,
AppLifecycleState.resumed,
];
- List<AppLifecycleState> _actualLifeCycleSequence;
+ List<AppLifecycleState?>? _actualLifeCycleSequence;
@override
void initState(){
super.initState();
- WidgetsBinding.instance.addObserver(this);
- _actualLifeCycleSequence = <AppLifecycleState>[
- ServicesBinding.instance.lifecycleState
+ WidgetsBinding.instance?.addObserver(this);
+ _actualLifeCycleSequence = <AppLifecycleState?>[
+ ServicesBinding.instance?.lifecycleState
];
}
@override
void dispose() {
- WidgetsBinding.instance.removeObserver(this);
+ WidgetsBinding.instance?.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
setState(() {
- _actualLifeCycleSequence = List<AppLifecycleState>.from(_actualLifeCycleSequence);
- _actualLifeCycleSequence.add(state);
+ _actualLifeCycleSequence = List<AppLifecycleState>.from(_actualLifeCycleSequence!);
+ _actualLifeCycleSequence?.add(state);
});
}
@override
Widget build(BuildContext context) {
- if (const ListEquality<AppLifecycleState>().equals(_actualLifeCycleSequence, _expectedLifeCycleSequence)) {
+ if (const ListEquality<AppLifecycleState?>().equals(_actualLifeCycleSequence, _expectedLifeCycleSequence)) {
// Rewires the semantics harness if test passes.
- RendererBinding.instance.setSemanticsEnabled(true);
+ RendererBinding.instance?.setSemanticsEnabled(true);
ui.window.onSemanticsEnabledChanged = originalSemanticsListener;
}
return const MaterialApp(
diff --git a/dev/integration_tests/ios_add2app_life_cycle/flutterapp/pubspec.yaml b/dev/integration_tests/ios_add2app_life_cycle/flutterapp/pubspec.yaml
index e263902..dc28689 100644
--- a/dev/integration_tests/ios_add2app_life_cycle/flutterapp/pubspec.yaml
+++ b/dev/integration_tests/ios_add2app_life_cycle/flutterapp/pubspec.yaml
@@ -14,7 +14,7 @@
version: 1.0.0+1
environment:
- sdk: ">=2.0.0-dev.68.0 <3.0.0"
+ sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter: