summaryrefslogtreecommitdiff
path: root/lib/model/connection/flutter_blue_plus_device_connection.dart
diff options
context:
space:
mode:
authoruvok2025-07-31 18:14:54 +0200
committeruvok2025-07-31 18:14:54 +0200
commit7887ab9999b384e567cb8c19d38c13057d127573 (patch)
tree9a7b6bf04d2f9b5cc2d26e496ff6af659fb87db3 /lib/model/connection/flutter_blue_plus_device_connection.dart
parent32f6e089c79ba1c3a9d5ee438999dc4b8f784871 (diff)
ValueNotifier, remove manual back button
Diffstat (limited to 'lib/model/connection/flutter_blue_plus_device_connection.dart')
-rw-r--r--lib/model/connection/flutter_blue_plus_device_connection.dart11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/model/connection/flutter_blue_plus_device_connection.dart b/lib/model/connection/flutter_blue_plus_device_connection.dart
index 3f860a6..9cc73d1 100644
--- a/lib/model/connection/flutter_blue_plus_device_connection.dart
+++ b/lib/model/connection/flutter_blue_plus_device_connection.dart
@@ -15,6 +15,7 @@
import 'dart:async';
+import 'package:flutter/foundation.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:logger/logger.dart';
import 'package:uvok_epaper_badge/first_where_ext.dart';
@@ -24,7 +25,9 @@ import 'package:uvok_epaper_badge/model/device/flutter_blue_plus_device.dart';
var logger = Logger();
class FlutterBluePlusDeviceConnection implements DeviceConnection {
- ConnectionStatus _status = ConnectionStatus.disconnected;
+ final ValueNotifier<ConnectionStatus> _status = ValueNotifier(
+ ConnectionStatus.disconnected,
+ );
// Just to have a resonable default subscription?
StreamSubscription<BluetoothConnectionState> subs =
Stream<BluetoothConnectionState>.empty().listen((e) => ());
@@ -58,7 +61,7 @@ class FlutterBluePlusDeviceConnection implements DeviceConnection {
findCharac(svcs);
- _status = ConnectionStatus.connected;
+ _status.value = ConnectionStatus.connected;
await Future.delayed(Duration(seconds: 5));
logger.i("Try re-discover");
@@ -68,11 +71,11 @@ class FlutterBluePlusDeviceConnection implements DeviceConnection {
@override
Future<void> disconnect() async {
subs.cancel().ignore();
- _status = ConnectionStatus.disconnected;
+ _status.value = ConnectionStatus.disconnected;
}
@override
- ConnectionStatus get status => _status;
+ ValueNotifier<ConnectionStatus> get status => _status;
void _onConnStateChange(BluetoothConnectionState event) {
logger.i("New conn state: ${event.toString()}");