|
@@ -3,7 +3,6 @@ import 'package:get/get.dart';
|
|
|
import 'package:vitalapp/components/dialog_input.dart';
|
|
|
import 'package:vitalapp/managers/device_controller_manager.dart';
|
|
|
import 'package:vitalapp/pages/mappers/urine.dart';
|
|
|
-import 'package:vitalapp/pages/medical/controllers/urinalysis.dart';
|
|
|
import 'package:vitalapp/pages/medical/widgets/device_status_position.dart';
|
|
|
import 'package:vnote_device_plugin/consts/types.dart';
|
|
|
import 'package:vitalapp/managers/interfaces/models/device.dart';
|
|
@@ -74,6 +73,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
connectStatus = urinaly.connectStatus;
|
|
|
|
|
|
loadListeners();
|
|
|
+ worker.connect();
|
|
|
}
|
|
|
|
|
|
Future<void> initUrinlysis() async {
|
|
@@ -85,7 +85,6 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
worker.connectErrorEvent.addListener(_onConnectFail);
|
|
|
worker.connectedEvent.addListener(_onConnectSuccess);
|
|
|
worker.disconnectedEvent.addListener(_onDisconnected);
|
|
|
- worker.connect();
|
|
|
}
|
|
|
|
|
|
Future<void> initData() async {
|
|
@@ -99,13 +98,6 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
setState(() {});
|
|
|
}
|
|
|
|
|
|
- Future<void> disconnect() async {
|
|
|
- if (!(worker == null)) {
|
|
|
- await worker.disconnect();
|
|
|
- releaseListeners();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
void releaseListeners() {
|
|
|
worker.connectErrorEvent.removeListener(_onConnectFail);
|
|
|
worker.connectedEvent.removeListener(_onConnectSuccess);
|
|
@@ -113,11 +105,18 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
worker.disconnectedEvent.removeListener(_onDisconnected);
|
|
|
}
|
|
|
|
|
|
+ /// 尝试重连
|
|
|
+ Future<void> tryReconnect() async {
|
|
|
+ await worker.disconnect();
|
|
|
+ await worker.connect();
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
- void dispose() {
|
|
|
+ void dispose() async {
|
|
|
controller.changePatient.removeListener(_onPatientChange);
|
|
|
- disconnect();
|
|
|
- worker.dispose();
|
|
|
+ releaseListeners();
|
|
|
+ await worker.disconnect();
|
|
|
+
|
|
|
super.dispose();
|
|
|
}
|
|
|
|
|
@@ -140,8 +139,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
logger.i("设备连接失败:${worker.mac}");
|
|
|
if (errorCount < 3) {
|
|
|
errorCount++;
|
|
|
- disconnect();
|
|
|
- worker.connect();
|
|
|
+ tryReconnect();
|
|
|
} else {
|
|
|
isConnectFail = true;
|
|
|
}
|
|
@@ -163,8 +161,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
logger.i("设备连接中断:${worker.mac}");
|
|
|
if (errorCount < 3) {
|
|
|
errorCount++;
|
|
|
- disconnect();
|
|
|
- worker.connect();
|
|
|
+ tryReconnect();
|
|
|
} else {
|
|
|
isConnectFail = true;
|
|
|
}
|
|
@@ -197,7 +194,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
),
|
|
|
IconButton(
|
|
|
onPressed: () {
|
|
|
- worker.connect();
|
|
|
+ tryReconnect();
|
|
|
setState(() {
|
|
|
connectStatus = WorkerStatus.connecting;
|
|
|
isConnectFail = false;
|