Kaynağa Gözat

fix medical widgets late prop bug

Melon 1 yıl önce
ebeveyn
işleme
192b522b12

+ 7 - 6
lib/pages/medical/widgets/blood_pressure.dart

@@ -27,7 +27,7 @@ class _BloodPressureState extends State<BloodPressure> {
   var controller = Get.find<MedicalController>();
   PressureDeviceStatus pressureDeviceStatus = PressureDeviceStatus.start;
   bool isConnectFail = false;
-  late DeviceControllerManager nibp;
+  DeviceControllerManager? nibp;
   NibpDeviceWorker? worker;
   int liveValue = 0;
   int errorCount = 0;
@@ -55,8 +55,8 @@ class _BloodPressureState extends State<BloodPressure> {
       return;
     }
     nibp = DeviceControllerManager(DeviceTypes.NIBP, device.model, device.mac);
-    worker = nibp.worker as NibpDeviceWorker;
-    _connectStatus = nibp.connectStatus;
+    worker = nibp!.worker as NibpDeviceWorker;
+    _connectStatus = nibp!.connectStatus;
 
     loadListeners();
     connect();
@@ -110,7 +110,8 @@ class _BloodPressureState extends State<BloodPressure> {
 
   @override
   void dispose() {
-    nibp.dispose();
+    nibp?.dispose();
+    nibp = null;
     releaseListeners();
     disconnect();
     worker?.dispose();
@@ -136,12 +137,12 @@ class _BloodPressureState extends State<BloodPressure> {
     final orgManager = Get.find<IOrganizationManager>();
     final paramSbp = await orgManager.getDynamicParamByKey("Sbp");
     if (paramSbp != null) {
-      sbp = nibp.handleExamValueSpecially(sbp, paramSbp);
+      sbp = nibp!.handleExamValueSpecially(sbp, paramSbp);
       logger.i('NIBP Value handle specially - Sbp: $sbp.');
     }
     final paramDbp = await orgManager.getDynamicParamByKey("Sbp");
     if (paramDbp != null) {
-      dbp = nibp.handleExamValueSpecially(dbp, paramDbp);
+      dbp = nibp!.handleExamValueSpecially(dbp, paramDbp);
       logger.i('NIBP Value handle specially -  Dbp:$dbp.');
     }
     setState(() {

+ 5 - 4
lib/pages/medical/widgets/blood_sugar.dart

@@ -27,7 +27,7 @@ class BloodSugar extends StatefulWidget {
 
 class _ExamBloodSugarState extends State<BloodSugar> {
   var controller = Get.find<MedicalController>();
-  late DeviceControllerManager sugar;
+  DeviceControllerManager? sugar;
   SugarDeviceWorker? worker;
   bool isConnectFail = false;
   WorkerStatus _connectStatus = WorkerStatus.connecting;
@@ -62,8 +62,8 @@ class _ExamBloodSugarState extends State<BloodSugar> {
     }
     sugar =
         DeviceControllerManager(DeviceTypes.SUGAR, device.model, device.mac);
-    worker = sugar.worker as SugarDeviceWorker?;
-    _connectStatus = sugar.connectStatus;
+    worker = sugar!.worker as SugarDeviceWorker?;
+    _connectStatus = sugar!.connectStatus;
 
     loadListeners();
     connect();
@@ -111,7 +111,8 @@ class _ExamBloodSugarState extends State<BloodSugar> {
 
   @override
   void dispose() {
-    sugar.dispose();
+    sugar?.dispose();
+    sugar = null;
     releaseListeners();
     disconnect();
     worker?.dispose();

+ 5 - 4
lib/pages/medical/widgets/body_bmi.dart

@@ -26,7 +26,7 @@ class BodyWeight extends StatefulWidget {
 
 class _ExamBodyWeightState extends State<BodyWeight> {
   var controller = Get.find<MedicalController>();
-  late DeviceControllerManager bmi;
+  DeviceControllerManager? bmi;
   WeightDeviceWorker? worker;
   bool isConnectFail = false;
   int errorCount = 0;
@@ -71,7 +71,8 @@ class _ExamBodyWeightState extends State<BodyWeight> {
 
   @override
   void dispose() {
-    bmi.dispose();
+    bmi?.dispose();
+    bmi = null;
     releaseListeners();
     disconnect();
     worker?.dispose();
@@ -94,8 +95,8 @@ class _ExamBodyWeightState extends State<BodyWeight> {
       return;
     }
     bmi = DeviceControllerManager(DeviceTypes.WEIGHT, device.model, device.mac);
-    worker = bmi.worker as WeightDeviceWorker;
-    _connectStatus = bmi.connectStatus;
+    worker = bmi!.worker as WeightDeviceWorker;
+    _connectStatus = bmi!.connectStatus;
 
     loadListeners();
     connect();

+ 5 - 4
lib/pages/medical/widgets/body_temperature.dart

@@ -23,7 +23,7 @@ class BodyTemperature extends StatefulWidget {
 
 class _ExamBodyTemperatureState extends State<BodyTemperature> {
   var controller = Get.find<MedicalController>();
-  late DeviceControllerManager temp;
+  DeviceControllerManager? temp;
 
   TempDeviceWorker? worker;
 
@@ -55,8 +55,8 @@ class _ExamBodyTemperatureState extends State<BodyTemperature> {
       return;
     }
     temp = DeviceControllerManager(DeviceTypes.TEMP, device.model, device.mac);
-    worker = temp.worker as TempDeviceWorker;
-    connectStatus = temp.connectStatus;
+    worker = temp!.worker as TempDeviceWorker;
+    connectStatus = temp!.connectStatus;
 
     loadListeners();
     connect();
@@ -113,7 +113,8 @@ class _ExamBodyTemperatureState extends State<BodyTemperature> {
   @override
   void dispose() {
     if (worker != null) {
-      temp.dispose();
+      temp?.dispose();
+      temp = null;
     }
     releaseListeners();
     disconnect();

+ 5 - 4
lib/pages/medical/widgets/body_weight_height.dart

@@ -27,7 +27,7 @@ class BodyWeightHeight extends StatefulWidget {
 
 class _ExamBodyWeightState extends State<BodyWeightHeight> {
   var controller = Get.find<MedicalController>();
-  late DeviceControllerManager bmi;
+  DeviceControllerManager? bmi;
   WeightHeightDeviceWorker? worker;
   bool isConnectFail = false;
   int errorCount = 0;
@@ -72,7 +72,8 @@ class _ExamBodyWeightState extends State<BodyWeightHeight> {
 
   @override
   void dispose() {
-    bmi.dispose();
+    bmi?.dispose();
+    bmi = null;
     releaseListeners();
     disconnect();
     worker?.dispose();
@@ -96,8 +97,8 @@ class _ExamBodyWeightState extends State<BodyWeightHeight> {
     }
     bmi = DeviceControllerManager(
         DeviceTypes.WEIGHTHEIGHT, device.model, device.mac);
-    worker = bmi.worker as WeightHeightDeviceWorker;
-    _connectStatus = bmi.connectStatus;
+    worker = bmi!.worker as WeightHeightDeviceWorker;
+    _connectStatus = bmi!.connectStatus;
 
     loadListeners();
     connect();

+ 5 - 4
lib/pages/medical/widgets/bool_oxygen.dart

@@ -22,7 +22,7 @@ class BloodOxygen extends StatefulWidget {
 
 class _ExamBloodOxygenState extends State<BloodOxygen> {
   final controller = Get.find<MedicalController>();
-  late DeviceControllerManager spo2;
+  DeviceControllerManager? spo2;
   SpO2DeviceWorker? worker;
   String pulse = '';
   String spO2 = '';
@@ -40,7 +40,8 @@ class _ExamBloodOxygenState extends State<BloodOxygen> {
 
   @override
   void dispose() {
-    spo2.dispose();
+    spo2?.dispose();
+    spo2 = null;
     releaseListeners();
     disconnect();
     worker?.dispose();
@@ -61,8 +62,8 @@ class _ExamBloodOxygenState extends State<BloodOxygen> {
       return;
     }
     spo2 = DeviceControllerManager(DeviceTypes.SPO2, device.model, device.mac);
-    worker = spo2.worker as SpO2DeviceWorker;
-    _connectStatus = spo2.connectStatus;
+    worker = spo2!.worker as SpO2DeviceWorker;
+    _connectStatus = spo2!.connectStatus;
     loadListeners();
     connect();
   }

+ 5 - 4
lib/pages/medical/widgets/heart_rate.dart

@@ -32,7 +32,7 @@ class _HeartRateState extends State<HeartRate> {
   final MedicalController medicalController = Get.find<MedicalController>();
   final IDataConvertManager dataConvertManager =
       Get.find<IDataConvertManager>();
-  late DeviceControllerManager heart;
+  DeviceControllerManager? heart;
   late HeartDeviceWorker worker;
   WorkerStatus connectStatus = WorkerStatus.connecting;
   List<int> ecgPoint = [];
@@ -246,8 +246,8 @@ class _HeartRateState extends State<HeartRate> {
     }
     heart =
         DeviceControllerManager(DeviceTypes.HEART, device.model, device.mac);
-    worker = heart.worker as HeartDeviceWorker;
-    connectStatus = heart.connectStatus;
+    worker = heart!.worker as HeartDeviceWorker;
+    connectStatus = heart!.connectStatus;
 
     loadListeners();
     connect();
@@ -269,7 +269,8 @@ class _HeartRateState extends State<HeartRate> {
 
   @override
   void dispose() {
-    heart.dispose();
+    heart?.dispose();
+    heart = null;
     releaseListeners();
     disconnect();
     worker.dispose();

+ 4 - 3
lib/pages/medical/widgets/twelve_ecg.dart

@@ -37,7 +37,7 @@ class _HeartRateState extends State<TwelveHeartRate> {
   final MedicalController medicalController = Get.find<MedicalController>();
   final IDataConvertManager dataConvertManager =
       Get.find<IDataConvertManager>();
-  late DeviceControllerManager twelveHeart;
+  DeviceControllerManager? twelveHeart;
   late TwelveHeartDeviceWorker worker;
   WorkerStatus connectStatus = WorkerStatus.connecting;
   TwelveEcgStatus twelveEcgStatus = TwelveEcgStatus.noSampling;
@@ -239,7 +239,7 @@ class _HeartRateState extends State<TwelveHeartRate> {
     }
     twelveHeart = DeviceControllerManager(
         DeviceTypes.TWELVEHEART, device.model, device.mac);
-    worker = twelveHeart.worker as TwelveHeartDeviceWorker;
+    worker = twelveHeart!.worker as TwelveHeartDeviceWorker;
     connectStatus = WorkerStatus.disconnected;
 
     loadListeners();
@@ -268,7 +268,8 @@ class _HeartRateState extends State<TwelveHeartRate> {
 
   @override
   void dispose() {
-    twelveHeart.dispose();
+    twelveHeart!.dispose();
+    twelveHeart = null;
     releaseListeners();
     disconnect();
     worker.dispose();