summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/control/flutter_blue_plus_scanner_controller.dart17
-rw-r--r--lib/main.dart18
-rw-r--r--lib/widgets/notifying_list_widget.dart6
3 files changed, 21 insertions, 20 deletions
diff --git a/lib/control/flutter_blue_plus_scanner_controller.dart b/lib/control/flutter_blue_plus_scanner_controller.dart
index 33dd4c3..a7f34b6 100644
--- a/lib/control/flutter_blue_plus_scanner_controller.dart
+++ b/lib/control/flutter_blue_plus_scanner_controller.dart
@@ -68,21 +68,4 @@ class FlutterBluePlusScannerController extends ScannerControllerImpl {
stopScan().ignore();
super.dispose();
}
-
- final List<ScanResult> _scanResults = [];
- bool _deviceInResults(ScanResult incomingDev) => _scanResults.any(
- (existingDev) => existingDev.device.remoteId == incomingDev.device.remoteId,
- );
- void _onScanResult(List<ScanResult> results) {
- if (results.isNotEmpty) {
- for (var r in results.where(
- (d) => d.rssi > -90 && !_deviceInResults(d),
- )) {
- logger.i(
- '${r.device.remoteId}: "${r.device.platformName}" / "${r.device.advName}" / "${r.advertisementData.advName}" found!',
- );
- _scanResults.add(r);
- }
- }
- }
}
diff --git a/lib/main.dart b/lib/main.dart
index 40a7641..e160a76 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -13,8 +13,10 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
+import 'package:uvok_epaper_badge/control/flutter_blue_plus_scanner_controller.dart';
import 'package:uvok_epaper_badge/control/mock_scanner_controller.dart';
import 'package:uvok_epaper_badge/control/scanner_controller.dart';
+import 'package:uvok_epaper_badge/control/universal_ble_scanner_controller.dart';
import 'package:uvok_epaper_badge/widgets/badge_app.dart';
import 'package:flutter/material.dart';
@@ -23,6 +25,20 @@ import 'package:logger/logger.dart';
var logger = Logger();
void main() {
- final ScannerController scanner = MockScannerController();
+ final ScannerController scanner;
+ final int arg = 0;
+
+ switch (arg) {
+ case 1:
+ scanner = UniversalBleScannerController(rssiLimit: -70);
+ break;
+ case 2:
+ scanner = FlutterBluePlusScannerController();
+ break;
+ default:
+ scanner = MockScannerController();
+ break;
+ }
+
runApp(BadgeApp(selectedScanner: scanner));
}
diff --git a/lib/widgets/notifying_list_widget.dart b/lib/widgets/notifying_list_widget.dart
index 7fdc2b1..b53cb2f 100644
--- a/lib/widgets/notifying_list_widget.dart
+++ b/lib/widgets/notifying_list_widget.dart
@@ -22,6 +22,8 @@ abstract class NotifyingListWidget<T> extends StatefulWidget {
const NotifyingListWidget({
super.key,
required this.items,
- required this.onItemSelected,
- });
+ ValueChanged<T?>? onItemSelected,
+ }) : onItemSelected = onItemSelected ?? (_noOp);
+
+ static _noOp(_) {}
}