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 a64dcc985cb..b831bcd0693 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/rendering.dart'; 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 @@ void main() { /// /// 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 @@ class _LifeCycleSpyState extends State with WidgetsBindingObserver AppLifecycleState.inactive, AppLifecycleState.resumed, ]; - List _actualLifeCycleSequence; + List? _actualLifeCycleSequence; @override void initState(){ super.initState(); - WidgetsBinding.instance.addObserver(this); - _actualLifeCycleSequence = [ - ServicesBinding.instance.lifecycleState + WidgetsBinding.instance?.addObserver(this); + _actualLifeCycleSequence = [ + ServicesBinding.instance?.lifecycleState ]; } @override void dispose() { - WidgetsBinding.instance.removeObserver(this); + WidgetsBinding.instance?.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) { setState(() { - _actualLifeCycleSequence = List.from(_actualLifeCycleSequence); - _actualLifeCycleSequence.add(state); + _actualLifeCycleSequence = List.from(_actualLifeCycleSequence!); + _actualLifeCycleSequence?.add(state); }); } @override Widget build(BuildContext context) { - if (const ListEquality().equals(_actualLifeCycleSequence, _expectedLifeCycleSequence)) { + if (const ListEquality().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 e2639023dd7..dc28689cfeb 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 @@ description: A new flutter module project. 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: