@@ -29,7 +29,7 @@ class _ScannerState extends State<Scanner> with SingleTickerProviderStateMixin {
2929 final GlobalKey qrKey = GlobalKey (debugLabel: 'QR' );
3030 AnimationController ? _animationController;
3131 bool isPlaying = false ;
32- late MobileScannerController cameraController;
32+ MobileScannerController ? cameraController;
3333 final TextEditingController _textFieldController = TextEditingController ();
3434 CredManager ? credManager;
3535
@@ -67,7 +67,7 @@ class _ScannerState extends State<Scanner> with SingleTickerProviderStateMixin {
6767 void dispose () {
6868 super .dispose ();
6969 _animationController? .dispose ();
70- cameraController.dispose ();
70+ cameraController! .dispose ();
7171 }
7272
7373 @override
@@ -141,7 +141,8 @@ class _ScannerState extends State<Scanner> with SingleTickerProviderStateMixin {
141141 IconButton (
142142 iconSize: 80 ,
143143 icon: ValueListenableBuilder (
144- valueListenable: cameraController.cameraFacingState,
144+ valueListenable:
145+ cameraController! .cameraFacingState,
145146 builder: (context, state, child) {
146147 switch (state as CameraFacing ) {
147148 case CameraFacing .front:
@@ -159,7 +160,7 @@ class _ScannerState extends State<Scanner> with SingleTickerProviderStateMixin {
159160 }
160161 },
161162 ),
162- onPressed: () => cameraController.switchCamera (),
163+ onPressed: () => cameraController! .switchCamera (),
163164 ),
164165 ],
165166 ),
@@ -178,10 +179,10 @@ class _ScannerState extends State<Scanner> with SingleTickerProviderStateMixin {
178179 isPlaying = ! isPlaying;
179180 if (isPlaying) {
180181 _animationController? .forward ();
181- cameraController.stop ();
182+ cameraController! .stop ();
182183 } else {
183184 _animationController? .reverse ();
184- cameraController.start ();
185+ cameraController! .start ();
185186 }
186187 });
187188 }
0 commit comments