Skip to content

Commit

Permalink
imp: remove listview example, make all examples return a list
Browse files Browse the repository at this point in the history
  • Loading branch information
juliansteenbakker committed Oct 28, 2024
1 parent c4ba195 commit d74d7a5
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 139 deletions.
39 changes: 8 additions & 31 deletions example/lib/barcode_scanner_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'dart:async';

import 'package:flutter/material.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:mobile_scanner_example/scanned_barcode_label.dart';
import 'package:mobile_scanner_example/scanner_button_widgets.dart';
import 'package:mobile_scanner_example/scanner_error_widget.dart';

Expand All @@ -20,40 +21,12 @@ class _BarcodeScannerWithControllerState
torchEnabled: true,
);

Barcode? _barcode;
StreamSubscription<Object?>? _subscription;

Widget _buildBarcode(Barcode? value) {
if (value == null) {
return const Text(
'Scan something!',
overflow: TextOverflow.fade,
style: TextStyle(color: Colors.white),
);
}

return Text(
value.displayValue ?? 'No display value.',
overflow: TextOverflow.fade,
style: const TextStyle(color: Colors.white),
);
}

void _handleBarcode(BarcodeCapture barcodes) {
if (mounted) {
setState(() {
_barcode = barcodes.barcodes.firstOrNull;
});
}
}

@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);

_subscription = controller.barcodes.listen(_handleBarcode);

unawaited(controller.start());
}

Expand All @@ -69,8 +42,6 @@ class _BarcodeScannerWithControllerState
case AppLifecycleState.paused:
return;
case AppLifecycleState.resumed:
_subscription = controller.barcodes.listen(_handleBarcode);

unawaited(controller.start());
case AppLifecycleState.inactive:
unawaited(_subscription?.cancel());
Expand Down Expand Up @@ -104,7 +75,13 @@ class _BarcodeScannerWithControllerState
children: [
ToggleFlashlightButton(controller: controller),
StartStopMobileScannerButton(controller: controller),
Expanded(child: Center(child: _buildBarcode(_barcode))),
Expanded(
child: Center(
child: ScannedBarcodeLabel(
barcodes: controller.barcodes,
),
),
),
SwitchCameraButton(controller: controller),
AnalyzeImageFromGalleryButton(controller: controller),
],
Expand Down
101 changes: 0 additions & 101 deletions example/lib/barcode_scanner_listview.dart

This file was deleted.

6 changes: 0 additions & 6 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:mobile_scanner_example/barcode_scanner_analyze_image.dart';
import 'package:mobile_scanner_example/barcode_scanner_controller.dart';
import 'package:mobile_scanner_example/barcode_scanner_listview.dart';
import 'package:mobile_scanner_example/barcode_scanner_pageview.dart';
import 'package:mobile_scanner_example/barcode_scanner_returning_image.dart';
import 'package:mobile_scanner_example/barcode_scanner_simple.dart';
Expand Down Expand Up @@ -51,11 +50,6 @@ class MyHome extends StatelessWidget {
'MobileScanner Simple',
const BarcodeScannerSimple(),
),
_buildItem(
context,
'MobileScanner with ListView',
const BarcodeScannerListView(),
),
_buildItem(
context,
'MobileScanner with Controller',
Expand Down
4 changes: 3 additions & 1 deletion example/lib/scanned_barcode_label.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class ScannedBarcodeLabel extends StatelessWidget {
builder: (context, snapshot) {
final scannedBarcodes = snapshot.data?.barcodes ?? [];

final values = scannedBarcodes.map((e) => e.displayValue).join(', ');

if (scannedBarcodes.isEmpty) {
return const Text(
'Scan something!',
Expand All @@ -25,7 +27,7 @@ class ScannedBarcodeLabel extends StatelessWidget {
}

return Text(
scannedBarcodes.first.displayValue ?? 'No display value.',
values.isEmpty ? 'No display value.' : values,
overflow: TextOverflow.fade,
style: const TextStyle(color: Colors.white),
);
Expand Down

0 comments on commit d74d7a5

Please sign in to comment.