diff options
Diffstat (limited to 'lib/model/connection/universal_ble_connection.dart')
-rw-r--r-- | lib/model/connection/universal_ble_connection.dart | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/model/connection/universal_ble_connection.dart b/lib/model/connection/universal_ble_connection.dart index b86bf2b..fa986a0 100644 --- a/lib/model/connection/universal_ble_connection.dart +++ b/lib/model/connection/universal_ble_connection.dart @@ -13,13 +13,16 @@ // 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:flutter/foundation.dart'; import 'package:universal_ble/universal_ble.dart'; import 'package:uvok_epaper_badge/model/connection/device_connection.dart'; import 'package:uvok_epaper_badge/model/device/universal_ble_device.dart'; class UniversalBleConnection implements DeviceConnection { final UniversalBleDevice _device; - ConnectionStatus _status = ConnectionStatus.disconnected; + final ValueNotifier<ConnectionStatus> _status = ValueNotifier( + ConnectionStatus.disconnected, + ); UniversalBleConnection(this._device); @@ -27,11 +30,11 @@ class UniversalBleConnection implements DeviceConnection { Future<void> connect() async { await _device.device.connect(); - _status = await _device.device.isConnected + _status.value = await _device.device.isConnected ? ConnectionStatus.connected : ConnectionStatus.disconnected; - if (_status == ConnectionStatus.connected) { + if (_status.value == ConnectionStatus.connected) { /* Ignore return value for now */ await _device.device.discoverServices(); } @@ -40,9 +43,9 @@ class UniversalBleConnection implements DeviceConnection { @override Future<void> disconnect() async { await _device.device.disconnect(); - _status = ConnectionStatus.disconnected; + _status.value = ConnectionStatus.disconnected; } @override - ConnectionStatus get status => _status; + ValueNotifier<ConnectionStatus> get status => _status; } |