Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
mobile_scanner
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Julian Steenbakker
2022-12-08 10:56:27 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
f7ed6e391797e8bee4faf5eb1c5e64c85de3e9e2
f7ed6e39
1 parent
f903f310
imp: remove redundant internalController
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
42 deletions
lib/src/mobile_scanner.dart
lib/src/mobile_scanner.dart
View file @
f7ed6e3
...
...
@@ -51,16 +51,7 @@ class _MobileScannerState extends State<MobileScanner>
StreamSubscription
<
BarcodeCapture
>?
_barcodesSubscription
;
/// The internally managed controller.
MobileScannerController
?
_controller
;
/// Get the effective controller.
MobileScannerController
get
_effectiveController
{
if
(
widget
.
controller
!=
null
)
{
return
widget
.
controller
!;
}
return
_controller
!;
}
late
MobileScannerController
_controller
;
/// Whether the controller should resume
/// when the application comes back to the foreground.
...
...
@@ -80,40 +71,35 @@ class _MobileScannerState extends State<MobileScanner>
void
initState
()
{
super
.
initState
();
WidgetsBinding
.
instance
.
addObserver
(
this
);
_controller
=
widget
.
controller
??
MobileScannerController
();
if
(
widget
.
controller
==
null
)
{
_controller
=
MobileScannerController
();
}
_barcodesSubscription
=
_effectiveController
.
barcodes
.
listen
(
_barcodesSubscription
=
_controller
.
barcodes
.
listen
(
widget
.
onDetect
,
);
final
internalController
=
_controller
;
if
(
internalController
!=
null
&&
!
internalController
.
isStarting
)
{
_startScanner
(
internalController
);
if
(!
_controller
.
isStarting
)
{
_startScanner
(
_controller
);
}
}
@override
void
didChangeAppLifecycleState
(
AppLifecycleState
state
)
{
// App state changed before the controller was initialized.
if
(
_
effectiveC
ontroller
.
isStarting
)
{
if
(
_
c
ontroller
.
isStarting
)
{
return
;
}
switch
(
state
)
{
case
AppLifecycleState
.
resumed
:
_resumeFromBackground
=
false
;
_startScanner
(
_
effectiveC
ontroller
);
_startScanner
(
_
c
ontroller
);
break
;
case
AppLifecycleState
.
paused
:
_resumeFromBackground
=
true
;
break
;
case
AppLifecycleState
.
inactive
:
if
(!
_resumeFromBackground
)
{
_
effectiveC
ontroller
.
stop
();
_
c
ontroller
.
stop
();
}
break
;
case
AppLifecycleState
.
detached
:
...
...
@@ -122,27 +108,9 @@ class _MobileScannerState extends State<MobileScanner>
}
@override
void
didUpdateWidget
(
covariant
MobileScanner
oldWidget
)
{
super
.
didUpdateWidget
(
oldWidget
);
if
(
oldWidget
.
controller
==
null
)
{
if
(
widget
.
controller
!=
null
)
{
_controller
?.
dispose
();
_controller
=
widget
.
controller
;
}
}
else
{
if
(
widget
.
controller
==
null
)
{
_controller
=
MobileScannerController
();
}
else
if
(
oldWidget
.
controller
!=
widget
.
controller
)
{
_controller
=
widget
.
controller
;
}
}
}
@override
Widget
build
(
BuildContext
context
)
{
return
ValueListenableBuilder
<
MobileScannerArguments
?>(
valueListenable:
_
effectiveC
ontroller
.
startArguments
,
valueListenable:
_
c
ontroller
.
startArguments
,
builder:
(
context
,
value
,
child
)
{
if
(
value
==
null
)
{
return
widget
.
placeholderBuilder
?.
call
(
context
,
child
)
??
...
...
@@ -176,7 +144,7 @@ class _MobileScannerState extends State<MobileScanner>
void
dispose
()
{
WidgetsBinding
.
instance
.
removeObserver
(
this
);
_barcodesSubscription
?.
cancel
();
_controller
?
.
dispose
();
_controller
.
dispose
();
super
.
dispose
();
}
}
...
...
Please
register
or
login
to post a comment