diff --git a/android/app/build.gradle b/android/app/build.gradle
index ab0271d6..455ac631 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -48,14 +48,14 @@ configurations.all {
//configurations.all {
// resolutionStrategy {
-// force 'androidx.core:core-ktx:1.6.0'
+// force "androidx.core:core:1.13.1"
// }
//}
android {
compileSdkVersion 34
// ndkVersion "24.0.8215888"
- buildToolsVersion "31.0.0"
+// buildToolsVersion "31.0.0"
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -190,7 +190,7 @@ dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2"
implementation 'com.android.support:appcompat-v7:27.1.1'
testImplementation 'junit:junit:4.12'
- implementation project(':blesdk_2301')
+// implementation project(':blesdk_2301')
// compile "com.jstyle:1770sdk:1.0.2"
implementation 'io.reactivex.rxjava3:rxjava:3.1.3'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index afe87f9a..c0c22dfc 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -9,13 +9,13 @@
-
-
+
+
-
+
-
+
diff --git a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/smart_ring_2301/BleManager.kt b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/smart_ring_2301/BleManager.kt
index bdead682..619c005b 100644
--- a/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/smart_ring_2301/BleManager.kt
+++ b/android/app/src/main/kotlin/com/cloud/diplomaticquarterapp/smart_ring_2301/BleManager.kt
@@ -196,7 +196,7 @@ class BleManager private constructor(var context: Context) {
init {
if (serviceIntent == null) {
serviceIntent = Intent(context, BleService::class.java)
- context.bindService(serviceIntent, serviceConnection, Service.BIND_AUTO_CREATE)
+ context.bindService(serviceIntent!!, serviceConnection, Service.BIND_AUTO_CREATE)
}
val bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
bluetoothAdapter = bluetoothManager.adapter
diff --git a/android/build.gradle b/android/build.gradle
index c036b096..2626a68a 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.8.0'
+ ext.kotlin_version = '1.8.20'
// if (System.properties['os.arch'] == "aarch64") {
// // For M1 Users we need to use the NDK 24 which added support for aarch64
@@ -9,7 +9,7 @@ buildscript {
// ndkVersion = "21.4.7075529"
// }
- ext.kotlin_version = '1.8.20'
+// ext.kotlin_version = '1.8.20'
repositories {
google()
jcenter()
@@ -22,7 +22,7 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:7.1.3'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.8'
// classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart
index 608943ac..1020298e 100644
--- a/lib/pages/login/confirm-login.dart
+++ b/lib/pages/login/confirm-login.dart
@@ -43,6 +43,7 @@ import 'package:local_auth/local_auth.dart';
import 'package:provider/provider.dart';
import 'package:local_auth_ios/types/auth_messages_ios.dart';
+
class ConfirmLogin extends StatefulWidget {
final Function? changePageViewIndex;
final fromRegistration;
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/andesfit_device_types/andesfit_blood_pressure_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/andesfit_device_types/andesfit_blood_pressure_connect_screen.dart
index a4b2d11b..6082686b 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/andesfit_device_types/andesfit_blood_pressure_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/andesfit_device_types/andesfit_blood_pressure_connect_screen.dart
@@ -10,14 +10,14 @@ class AndesFitBloodPressureConnectScreen extends StatefulWidget {
final BluetoothDevice deviceModel;
final bool isEcgAvailable;
- const AndesFitBloodPressureConnectScreen({this.deviceModel, this.isEcgAvailable = false});
+ const AndesFitBloodPressureConnectScreen({required this.deviceModel, this.isEcgAvailable = false});
@override
State createState() => _AndesFitBloodPressureConnectScreenState();
}
class _AndesFitBloodPressureConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -48,7 +48,7 @@ class _AndesFitBloodPressureConnectScreenState extends State createState() => _AndesFitBloodSugarConnectScreenState();
}
class _AndesFitBloodSugarConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -28,7 +27,7 @@ class _AndesFitBloodSugarConnectScreenState extends State createState() => _AndesFitSpirometerConnectScreenState();
}
class _AndesFitSpirometerConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -31,7 +30,7 @@ class _AndesFitSpirometerConnectScreenState extends State createState() => _AndesFitTemperatureConnectScreenState();
}
class _AndesFitTemperatureConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -39,7 +38,7 @@ class _AndesFitTemperatureConnectScreenState extends State createState() => _AndesFitWeightScaleConnectScreenState();
}
class _AndesFitWeightScaleConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -39,7 +38,7 @@ class _AndesFitWeightScaleConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void dispose() {
@@ -59,9 +59,9 @@ class _BleDevicesScreenState extends State {
myTrackersVm.isDeviceSelected = true;
log("isDeviceSelected from Screen: ${myTrackersVm.isDeviceSelected}");
FlutterBluePlus.stopScan();
- switch (device.deviceType) {
+ switch (device.deviceType!) {
case TrackerTypeEnum.OxymeterTracker:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
return;
}
myTrackersVm.oxyRtModel = null;
@@ -73,23 +73,23 @@ class _BleDevicesScreenState extends State {
myTrackersVm.andesfitBpRtResultModel = null;
myTrackersVm.selectedAndesFitScanResult = null;
myTrackersVm.isAndesfitDeviceConnected = null;
- myTrackersVm.bleDevicesStream.cancel();
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
- Navigator.pushReplacement(context, FadePage(page: AndesFitBloodPressureConnectScreen(deviceModel: device.andesfitBluetoothDevice, isEcgAvailable: false)));
+ myTrackersVm.bleDevicesStream!.cancel();
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
+ Navigator.pushReplacement(context, FadePage(page: AndesFitBloodPressureConnectScreen(deviceModel: device.andesfitBluetoothDevice!, isEcgAvailable: false)));
return;
}
- Navigator.pushReplacement(context, FadePage(page: BloodPressureConnectScreen(deviceModel: device, isEcgAvailable: getIfECGAvailableInBPDevice(device.name))));
+ Navigator.pushReplacement(context, FadePage(page: BloodPressureConnectScreen(deviceModel: device, isEcgAvailable: getIfECGAvailableInBPDevice(device.name!))));
break;
case TrackerTypeEnum.BloodSugarTracker:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
myTrackersVm.currentBloodGlucose = null;
- Navigator.pushReplacement(context, FadePage(page: AndesFitBloodSugarConnectScreen(deviceModel: device.andesfitBluetoothDevice)));
+ Navigator.pushReplacement(context, FadePage(page: AndesFitBloodSugarConnectScreen(deviceModel: device.andesfitBluetoothDevice!)));
return;
}
break;
case TrackerTypeEnum.ECGTracker:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
return;
}
myTrackersVm.ecgRtModel = null;
@@ -97,38 +97,38 @@ class _BleDevicesScreenState extends State {
break;
case TrackerTypeEnum.WeightScale:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
myTrackersVm.andesfitWeightScaleData = null;
- Navigator.pushReplacement(context, FadePage(page: AndesFitWeightScaleConnectScreen(deviceModel: device.andesfitBluetoothDevice)));
+ Navigator.pushReplacement(context, FadePage(page: AndesFitWeightScaleConnectScreen(deviceModel: device.andesfitBluetoothDevice!)));
return;
}
break;
case TrackerTypeEnum.Temperature:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
myTrackersVm.currentTempInCelsius = null;
- Navigator.pushReplacement(context, FadePage(page: AndesFitTemperatureConnectScreen(deviceModel: device.andesfitBluetoothDevice)));
+ Navigator.pushReplacement(context, FadePage(page: AndesFitTemperatureConnectScreen(deviceModel: device.andesfitBluetoothDevice!)));
return;
}
break;
case TrackerTypeEnum.Spirometer:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
myTrackersVm.currentTempInCelsius = null;
- Navigator.pushReplacement(context, FadePage(page: AndesFitSpirometerConnectScreen(deviceModel: device.andesfitBluetoothDevice)));
+ Navigator.pushReplacement(context, FadePage(page: AndesFitSpirometerConnectScreen(deviceModel: device.andesfitBluetoothDevice!)));
return;
}
break;
case TrackerTypeEnum.SmartRing:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
return;
}
Navigator.pushReplacement(context, FadePage(page: SmartRingAllInOneConnectScreen(deviceModel: device)));
break;
case TrackerTypeEnum.AllInOneTracker:
- if (myTrackersVm.isDeviceFromAndesFit(device.name)) {
+ if (myTrackersVm.isDeviceFromAndesFit(device.name!)) {
return;
}
Navigator.pushReplacement(context, FadePage(page: CheckMeAllInOneConnectScreen(deviceModel: device)));
@@ -150,7 +150,7 @@ class _BleDevicesScreenState extends State {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackerVm, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackerVm, Widget? child) {
if (myTrackerVm.devicesList.isEmpty) {
return Padding(
padding: const EdgeInsets.all(24.0),
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in-one_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in-one_connect_screen.dart
index 56b32ada..c310e7c0 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in-one_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in-one_connect_screen.dart
@@ -11,14 +11,14 @@ import 'package:provider/provider.dart';
class CheckMeAllInOneConnectScreen extends StatefulWidget {
final BleDeviceModel deviceModel;
- const CheckMeAllInOneConnectScreen({this.deviceModel});
+ const CheckMeAllInOneConnectScreen({required this.deviceModel});
@override
State createState() => _CheckMeAllInOneConnectScreenState();
}
class _CheckMeAllInOneConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -62,7 +62,6 @@ class _CheckMeAllInOneConnectScreenState extends State onTrackerTypePressed(TrackerTypeEnum trackerTypeEnum, MyTrackersViewModel myTrackersViewModel) async {
@@ -147,7 +146,7 @@ class _CheckMeAllInOneConnectScreenState extends State SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- CheckMeTemperatureModel checkMeTemp = myTrackersVm.checkMeTemperatures[index];
+ CheckMeTemperatureModel checkMeTemp = myTrackersVm.checkMeTemperatures![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -120,18 +116,18 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget {
children: [
if (myTrackersVm.filesLoader) ...[
Center(child: CircularProgressIndicator())
- ] else if (myTrackersVm.checkMeEcg != null && myTrackersVm.checkMeEcg.isNotEmpty) ...[
+ ] else if (myTrackersVm.checkMeEcg != null && myTrackersVm.checkMeEcg!.isNotEmpty) ...[
Material(
child: ListView.separated(
- itemCount: myTrackersVm.checkMeEcg.length,
+ itemCount: myTrackersVm.checkMeEcg!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- CheckMeECGModel checkMeECGModel = myTrackersVm.checkMeEcg[index];
+ CheckMeECGModel checkMeECGModel = myTrackersVm.checkMeEcg![index];
return InkWell(
onTap: () {
- myTrackersVm.getEcgWaveDataFromCheckMePro(checkMeECGModel.timeString);
+ myTrackersVm.getEcgWaveDataFromCheckMePro(checkMeECGModel.timeString!);
Navigator.push(context, MaterialPageRoute(builder: (context) => CheckMeECGInfoScreen(TrackerTypeEnum.ECGTracker)));
},
child: Container(
@@ -163,15 +159,15 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget {
children: [
if (myTrackersVm.filesLoader) ...[
Center(child: CircularProgressIndicator())
- ] else if (myTrackersVm.checkMeOxi != null && myTrackersVm.checkMeOxi.isNotEmpty) ...[
+ ] else if (myTrackersVm.checkMeOxi != null && myTrackersVm.checkMeOxi!.isNotEmpty) ...[
Material(
child: ListView.separated(
- itemCount: myTrackersVm.checkMeOxi.length,
+ itemCount: myTrackersVm.checkMeOxi!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- CheckMeOxiModel checkMeOxiModel = myTrackersVm.checkMeOxi[index];
+ CheckMeOxiModel checkMeOxiModel = myTrackersVm.checkMeOxi![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -205,15 +201,15 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget {
children: [
if (myTrackersVm.filesLoader) ...[
Center(child: CircularProgressIndicator())
- ] else if (myTrackersVm.checkMeBP != null && myTrackersVm.checkMeBP.isNotEmpty) ...[
+ ] else if (myTrackersVm.checkMeBP != null && myTrackersVm.checkMeBP!.isNotEmpty) ...[
Material(
child: ListView.separated(
- itemCount: myTrackersVm.checkMeBP.length,
+ itemCount: myTrackersVm.checkMeBP!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- CheckMeBPModel checkMeBPModel = myTrackersVm.checkMeBP[index];
+ CheckMeBPModel checkMeBPModel = myTrackersVm.checkMeBP![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -247,15 +243,15 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget {
children: [
if (myTrackersVm.filesLoader) ...[
Center(child: CircularProgressIndicator())
- ] else if (myTrackersVm.checkMeGlucose != null && myTrackersVm.checkMeGlucose.isNotEmpty) ...[
+ ] else if (myTrackersVm.checkMeGlucose != null && myTrackersVm.checkMeGlucose!.isNotEmpty) ...[
Material(
child: ListView.separated(
- itemCount: myTrackersVm.checkMeGlucose.length,
+ itemCount: myTrackersVm.checkMeGlucose!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- CheckMeGlucoseModel checkMeGlucoseModel = myTrackersVm.checkMeGlucose[index];
+ CheckMeGlucoseModel checkMeGlucoseModel = myTrackersVm.checkMeGlucose![index];
return InkWell(
onTap: () => null,
child: Container(
@@ -293,7 +289,7 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.all(24.0),
child: Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget? child) {
return getAllInOneOperationWidgets(myTrackersVm, allInOneTrackerTypeEnum, context);
},
),
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_chart_view.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_chart_view.dart
index a5ba453a..9b6bd0f9 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_chart_view.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_chart_view.dart
@@ -5,11 +5,11 @@ import 'package:flutter/material.dart';
class CheckMeECGChartView extends StatelessWidget {
final CheckMeECGWaveModel checkMeECGWave;
- CheckMeECGChartView({@required this.checkMeECGWave});
+ CheckMeECGChartView({required this.checkMeECGWave});
@override
Widget build(BuildContext context) {
- List list = checkMeECGWave.bytes;
+ List list = checkMeECGWave.bytes ?? [];
List> mainList = chunkIntList(list, 1250);
return ListView.separated(
shrinkWrap: true,
@@ -28,13 +28,13 @@ class CheckMeECGChartView extends StatelessWidget {
horizontalInterval: 30,
getDrawingVerticalLine: (value) {
return FlLine(
- color: Colors.red[300],
+ color: Colors.red[300]!,
strokeWidth: 0.4,
);
},
getDrawingHorizontalLine: (value) {
return FlLine(
- color: Colors.red[300],
+ color: Colors.red[300]!,
strokeWidth: 0.4,
);
},
@@ -55,7 +55,7 @@ class CheckMeECGChartView extends StatelessWidget {
barWidth: 0.5,
dotData: FlDotData(show: false),
spots: getDataList(mainList[index]),
- colors: [Colors.grey[800]],
+ color: Colors.grey[800],
isStrokeCapRound: true,
belowBarData: BarAreaData(show: false),
),
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_info_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_info_screen.dart
index 168c117a..75185d28 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_info_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_ecg_info_screen.dart
@@ -30,6 +30,9 @@ class CheckMeECGInfoScreen extends StatelessWidget {
case TrackerTypeEnum.ECGTracker:
return "ECG";
+ case TrackerTypeEnum.SmartRing:
+ return "Smart Ring";
+
case TrackerTypeEnum.WeightScale:
return "Weight Scale";
@@ -42,7 +45,6 @@ class CheckMeECGInfoScreen extends StatelessWidget {
case TrackerTypeEnum.AllInOneTracker:
return "All in One";
}
- return "All in One";
}
Widget buildECGDetailsWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
@@ -55,18 +57,18 @@ class CheckMeECGInfoScreen extends StatelessWidget {
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
- Text("HR: ${myTrackersVm.checkMeECGWave.hr} bpm"),
- Text("ST: ${myTrackersVm.checkMeECGWave.st} mV"),
- Text("QRS: ${myTrackersVm.checkMeECGWave.qrs} ms"),
+ Text("HR: ${myTrackersVm.checkMeECGWave!.hr} bpm"),
+ Text("ST: ${myTrackersVm.checkMeECGWave!.st} mV"),
+ Text("QRS: ${myTrackersVm.checkMeECGWave!.qrs} ms"),
],
),
mHeight(4.0),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
- Text("PVCS: ${myTrackersVm.checkMeECGWave.pvcs} "),
- Text("QTC: ${myTrackersVm.checkMeECGWave.qtc} ms"),
- Text("QT: ${myTrackersVm.checkMeECGWave.qt} ms"),
+ Text("PVCS: ${myTrackersVm.checkMeECGWave!.pvcs} "),
+ Text("QTC: ${myTrackersVm.checkMeECGWave!.qtc} ms"),
+ Text("QT: ${myTrackersVm.checkMeECGWave!.qt} ms"),
],
),
],
@@ -86,7 +88,7 @@ class CheckMeECGInfoScreen extends StatelessWidget {
child: Padding(
padding: const EdgeInsets.all(24.0),
child: Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget? child) {
if (myTrackersVm.checkMeECGWave == null) {
return Padding(
padding: const EdgeInsets.all(24.0),
@@ -102,7 +104,7 @@ class CheckMeECGInfoScreen extends StatelessWidget {
children: [
buildECGDetailsWidget(myTrackersVm, context),
mHeight(20),
- CheckMeECGChartView(checkMeECGWave: myTrackersVm.checkMeECGWave),
+ CheckMeECGChartView(checkMeECGWave: myTrackersVm.checkMeECGWave!),
],
);
},
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/all_in_one_tracker_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/all_in_one_tracker_connect_screen.dart
index d9b793ab..eee6be12 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/all_in_one_tracker_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/all_in_one_tracker_connect_screen.dart
@@ -1,6 +1,4 @@
-import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/ble_devices_model.dart';
-import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:diplomaticquarterapp/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
@@ -11,14 +9,14 @@ import 'package:provider/provider.dart';
class AndesAllInOneConnectScreenIos extends StatefulWidget {
final BleDeviceModel deviceModel;
- const AndesAllInOneConnectScreenIos({this.deviceModel});
+ const AndesAllInOneConnectScreenIos({required this.deviceModel});
@override
State createState() => _AndesAllInOneConnectScreenState();
}
class _AndesAllInOneConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -37,7 +35,7 @@ class _AndesAllInOneConnectScreenState extends State createState() => _BloodPressureConnectScreenState();
}
class _BloodPressureConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -53,7 +53,7 @@ class _BloodPressureConnectScreenState extends State
mHeight(24.0),
Column(
children: [
- Text(myTrackersViewModel.bpRtMeasuringModel.pressure.toString(), style: TextStyle(fontSize: 100, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.bpRtMeasuringModel!.pressure.toString(), style: TextStyle(fontSize: 100, fontWeight: FontWeight.bold)),
Text("Pressure", style: TextStyle(fontSize: 20)),
],
),
@@ -71,28 +71,28 @@ class _BloodPressureConnectScreenState extends State
Column(
children: [
Text("Sys", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.bpRtResultModel.sys.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.bpRtResultModel!.sys.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("mmHg", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("Dia", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.bpRtResultModel.dia.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.bpRtResultModel!.dia.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("mmHg", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("♥︎", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.bpRtResultModel.pr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.bpRtResultModel!.pr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("/min", style: TextStyle(fontSize: 10)),
],
),
],
),
mHeight(30.0),
- buildStatusForBP(myTrackersViewModel.bpRtResultModel.result),
+ buildStatusForBP(myTrackersViewModel.bpRtResultModel!.result!),
mHeight(24.0),
],
),
@@ -124,14 +124,14 @@ class _BloodPressureConnectScreenState extends State
Column(
children: [
Text("Duration", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtMeasuringModelFromBP.curDuration.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtMeasuringModelFromBP!.curDuration.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("seconds", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("♥︎", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtMeasuringModelFromBP.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtMeasuringModelFromBP!.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("/min", style: TextStyle(fontSize: 10)),
],
),
@@ -149,14 +149,14 @@ class _BloodPressureConnectScreenState extends State
Column(
children: [
Text("Regular", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtResultModelFromBP.diagnosis.isRegular ? "YES" : "NO", style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtResultModelFromBP!.diagnosis!.isRegular! ? "YES" : "NO", style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("♥︎", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtResultModelFromBP.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtResultModelFromBP!.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("/min", style: TextStyle(fontSize: 10)),
],
),
@@ -197,7 +197,7 @@ class _BloodPressureConnectScreenState extends State
// ],
// ),
mHeight(30.0),
- buildStatusForECG(myTrackersViewModel.ecgRtResultModelFromBP.result),
+ buildStatusForECG(myTrackersViewModel.ecgRtResultModelFromBP!.result!),
],
),
] else ...[
@@ -275,7 +275,7 @@ class _BloodPressureConnectScreenState extends State
padding: const EdgeInsets.all(20),
margin: const EdgeInsets.symmetric(vertical: 35, horizontal: 30),
child: SingleChildScrollView(
- child: Consumer(builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
+ child: Consumer(builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget? child) {
return Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
@@ -346,7 +346,7 @@ class _BloodPressureConnectScreenState extends State
body: Padding(
padding: const EdgeInsets.all(24.0),
child: Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackersViewModel, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackersViewModel, Widget? child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/ecg_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/ecg_connect_screen.dart
index 0005bac8..6c5ec203 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/ecg_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/ecg_connect_screen.dart
@@ -17,14 +17,14 @@ import 'package:provider/provider.dart';
class ECGConnectScreen extends StatefulWidget {
final BleDeviceModel deviceModel;
- const ECGConnectScreen({this.deviceModel});
+ const ECGConnectScreen({required this.deviceModel});
@override
State createState() => _ECGConnectScreenState();
}
class _ECGConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -39,7 +39,7 @@ class _ECGConnectScreenState extends State {
super.dispose();
}
- Widget buildStatus(int currentStatus) {
+ Widget buildStatus(int? currentStatus) {
String resultStatus = "";
if (currentStatus == 0) {
@@ -72,8 +72,6 @@ class _ECGConnectScreenState extends State {
);
}
-
-
showHistoryDialog(BuildContext context) {
return showDialog(
context: context,
@@ -82,7 +80,7 @@ class _ECGConnectScreenState extends State {
padding: const EdgeInsets.all(20),
margin: const EdgeInsets.symmetric(vertical: 35, horizontal: 30),
child: SingleChildScrollView(
- child: Consumer(builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
+ child: Consumer(builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget? child) {
return Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
@@ -169,21 +167,21 @@ class _ECGConnectScreenState extends State {
Column(
children: [
Text("Record Time", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtModel.param.recordTime.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtModel!.param!.recordTime.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("seconds", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("♥︎", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.ecgRtModel.param.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.ecgRtModel!.param!.hr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("/min", style: TextStyle(fontSize: 10)),
],
),
],
),
mHeight(30.0),
- buildStatus(myTrackersViewModel.ecgRtModel.param.curStatus),
+ buildStatus(myTrackersViewModel.ecgRtModel!.param!.curStatus!.toInt()),
],
)
],
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/oxymeter_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/oxymeter_connect_screen.dart
index bd7b7247..e5ac0a2b 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/oxymeter_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/lepu_device_types/oxymeter_connect_screen.dart
@@ -9,14 +9,14 @@ import 'package:provider/provider.dart';
class OxymeterConnectScreen extends StatefulWidget {
final BleDeviceModel deviceModel;
- const OxymeterConnectScreen({this.deviceModel});
+ const OxymeterConnectScreen({required this.deviceModel});
@override
State createState() => _OxymeterConnectScreenState();
}
class _OxymeterConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -42,7 +42,7 @@ class _OxymeterConnectScreenState extends State {
body: Padding(
padding: const EdgeInsets.all(24.0),
child: Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackersViewModel, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackersViewModel, Widget? child) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@@ -58,27 +58,27 @@ class _OxymeterConnectScreenState extends State {
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
- if (myTrackersViewModel.oxyRtModel.isProbeOff) ...[
+ if (myTrackersViewModel.oxyRtModel!.isProbeOff ?? false) ...[
Text("Check Probe", style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
] else ...[
Column(
children: [
Text("SPO₂", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.oxyRtModel.spo2.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.oxyRtModel!.spo2.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("%", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("Pulse", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.oxyRtModel.pr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.oxyRtModel!.pr.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("bpm", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("PI", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.oxyRtModel.pi.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.oxyRtModel!.pi.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("%", style: TextStyle(fontSize: 10)),
],
),
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/select_tracker_type.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/select_tracker_type.dart
index aea30209..75cae060 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/select_tracker_type.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/select_tracker_type.dart
@@ -9,7 +9,7 @@ import 'package:provider/provider.dart';
class SelectTrackerType extends StatelessWidget {
const SelectTrackerType();
- List myTrackersTypeList({BuildContext context}) {
+ List myTrackersTypeList({required BuildContext context}) {
List medical = [];
medical.add(InkWell(
onTap: () {
diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/smart_ring_connect_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/smart_ring_connect_screen.dart
index 7aa66b24..3f65b259 100644
--- a/lib/pages/medical/my_trackers/ble_device_type_screens/smart_ring_connect_screen.dart
+++ b/lib/pages/medical/my_trackers/ble_device_type_screens/smart_ring_connect_screen.dart
@@ -11,14 +11,14 @@ import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
class SmartRingAllInOneConnectScreen extends StatefulWidget {
final BleDeviceModel deviceModel;
- const SmartRingAllInOneConnectScreen({this.deviceModel});
+ const SmartRingAllInOneConnectScreen({required this.deviceModel});
@override
State createState() => _SmartRingAllInOneConnectScreenState();
}
class _SmartRingAllInOneConnectScreenState extends State {
- MyTrackersViewModel myTrackersVm;
+ late MyTrackersViewModel myTrackersVm;
@override
void initState() {
@@ -59,7 +59,6 @@ class _SmartRingAllInOneConnectScreenState extends State onTrackerTypePressed(SmartRingOperationsEnum smartRingOperationsEnum, MyTrackersViewModel myTrackersViewModel) async {
@@ -159,7 +158,7 @@ class _SmartRingAllInOneConnectScreenState extends State {
- MyTrackersViewModel myTrackersViewModel;
+ late MyTrackersViewModel myTrackersViewModel;
@override
void initState() {
@@ -55,10 +55,8 @@ class _SmartRingInfoScreenState extends State {
case SmartRingOperationsEnum.SportsMode:
return "Sports Mode";
}
- return "Battery Level";
}
-
Widget getAllInOneOperationWidgets(MyTrackersViewModel myTrackersVm, SmartRingOperationsEnum smartRingOperationsEnum, BuildContext context) {
switch (smartRingOperationsEnum) {
case SmartRingOperationsEnum.Temperature:
@@ -77,23 +75,21 @@ class _SmartRingInfoScreenState extends State {
return buildBatteryLevelWidget(myTrackersVm, context);
case SmartRingOperationsEnum.SportsMode:
return buildRtSportsDataSmartRingWidget(myTrackersVm, context);
- break;
}
- return getNoDataWidget(context);
}
Widget buildTemperatureWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingTemperatureHistory != null && myTrackersVm.smartRingTemperatureHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingTemperatureHistory != null && myTrackersVm.smartRingTemperatureHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingTemperatureHistory.length,
+ itemCount: myTrackersVm.smartRingTemperatureHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingGenericModel smartRingTemp = myTrackersVm.smartRingTemperatureHistory[index];
+ SmartRingGenericModel smartRingTemp = myTrackersVm.smartRingTemperatureHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -120,15 +116,15 @@ class _SmartRingInfoScreenState extends State {
Widget buildHeartRateDynamicWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingHeartRateDynamicHistory != null && myTrackersVm.smartRingHeartRateDynamicHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingHeartRateDynamicHistory != null && myTrackersVm.smartRingHeartRateDynamicHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingHeartRateDynamicHistory.length,
+ itemCount: myTrackersVm.smartRingHeartRateDynamicHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingGenericModel smartRingHr = myTrackersVm.smartRingHeartRateDynamicHistory[index];
+ SmartRingGenericModel smartRingHr = myTrackersVm.smartRingHeartRateDynamicHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -155,15 +151,15 @@ class _SmartRingInfoScreenState extends State {
Widget buildHeartRateStaticWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingHeartRateStaticHistory != null && myTrackersVm.smartRingHeartRateStaticHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingHeartRateStaticHistory != null && myTrackersVm.smartRingHeartRateStaticHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingHeartRateStaticHistory.length,
+ itemCount: myTrackersVm.smartRingHeartRateStaticHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingGenericModel smartRingHr = myTrackersVm.smartRingHeartRateStaticHistory[index];
+ SmartRingGenericModel smartRingHr = myTrackersVm.smartRingHeartRateStaticHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -202,21 +198,21 @@ class _SmartRingInfoScreenState extends State {
Column(
children: [
Text("Step", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.rtSportDataSmartRingModel.step.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.rtSportDataSmartRingModel!.step.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("Calories", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.rtSportDataSmartRingModel.calories.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.rtSportDataSmartRingModel!.calories.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("kCal", style: TextStyle(fontSize: 10)),
],
),
Column(
children: [
Text("♥︎", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.rtSportDataSmartRingModel.heartRate.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.rtSportDataSmartRingModel!.heartRate.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("/min", style: TextStyle(fontSize: 10)),
],
),
@@ -229,7 +225,7 @@ class _SmartRingInfoScreenState extends State {
Column(
children: [
Text("Time", style: TextStyle(fontSize: 20)),
- Text(myTrackersViewModel.rtSportDataSmartRingModel.exerciseTime.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
+ Text(myTrackersViewModel.rtSportDataSmartRingModel!.exerciseTime.toString(), style: TextStyle(fontSize: 50, fontWeight: FontWeight.bold)),
Text("seconds", style: TextStyle(fontSize: 10)),
],
),
@@ -248,15 +244,15 @@ class _SmartRingInfoScreenState extends State {
Widget buildHrvWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingHrvHistory != null && myTrackersVm.smartRingHrvHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingHrvHistory != null && myTrackersVm.smartRingHrvHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingHrvHistory.length,
+ itemCount: myTrackersVm.smartRingHrvHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingHrvModel smartRingHrvModel = myTrackersVm.smartRingHrvHistory[index];
+ SmartRingHrvModel smartRingHrvModel = myTrackersVm.smartRingHrvHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -293,15 +289,15 @@ class _SmartRingInfoScreenState extends State {
Widget buildTotalStepCountHistoryWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingStepCountHistory != null && myTrackersVm.smartRingStepCountHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingStepCountHistory != null && myTrackersVm.smartRingStepCountHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingStepCountHistory.length,
+ itemCount: myTrackersVm.smartRingStepCountHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingStepCountModel smartRingStepCountModel = myTrackersVm.smartRingStepCountHistory[index];
+ SmartRingStepCountModel smartRingStepCountModel = myTrackersVm.smartRingStepCountHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -340,15 +336,15 @@ class _SmartRingInfoScreenState extends State {
Widget buildBloodOxygenWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingBloodOxygenHistory != null && myTrackersVm.smartRingBloodOxygenHistory.isNotEmpty) {
+ } else if (myTrackersVm.smartRingBloodOxygenHistory != null && myTrackersVm.smartRingBloodOxygenHistory!.isNotEmpty) {
return Expanded(
child: ListView.separated(
- itemCount: myTrackersVm.smartRingBloodOxygenHistory.length,
+ itemCount: myTrackersVm.smartRingBloodOxygenHistory!.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
shrinkWrap: true,
reverse: false,
itemBuilder: (context, index) {
- SmartRingGenericModel smartRingGenericModel = myTrackersVm.smartRingBloodOxygenHistory[index];
+ SmartRingGenericModel smartRingGenericModel = myTrackersVm.smartRingBloodOxygenHistory![index];
return InkWell(
onTap: () => Navigator.pop(context),
child: Container(
@@ -375,7 +371,7 @@ class _SmartRingInfoScreenState extends State {
Widget buildBatteryLevelWidget(MyTrackersViewModel myTrackersVm, BuildContext context) {
if (myTrackersVm.filesLoader) {
return Center(child: CircularProgressIndicator());
- } else if (myTrackersVm.smartRingBatteryLevel != null && myTrackersVm.smartRingBatteryLevel.isNotEmpty) {
+ } else if (myTrackersVm.smartRingBatteryLevel != null && myTrackersVm.smartRingBatteryLevel!.isNotEmpty) {
return Center(
child: Text("Battery Level: ${myTrackersVm.smartRingBatteryLevel}"),
);
@@ -397,7 +393,7 @@ class _SmartRingInfoScreenState extends State {
child: Column(
children: [
Consumer(
- builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) {
+ builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget? child) {
return getAllInOneOperationWidgets(myTrackersVm, widget.smartRingOperationsEnum, context);
},
),
diff --git a/lib/pages/medical/my_trackers/ble_models/andesfit_devices/weight_data_model.dart b/lib/pages/medical/my_trackers/ble_models/andesfit_devices/weight_data_model.dart
index c89e339c..7cbbe706 100644
--- a/lib/pages/medical/my_trackers/ble_models/andesfit_devices/weight_data_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/andesfit_devices/weight_data_model.dart
@@ -7,5 +7,5 @@ class WeightScaleData {
String muscle;
String bmr;
- WeightScaleData({this.weight, this.bmi, this.fat, this.bone, this.water, this.muscle, this.bmr});
+ WeightScaleData({required this.weight, required this.bmi, required this.fat, required this.bone, required this.water, required this.muscle, required this.bmr});
}
diff --git a/lib/pages/medical/my_trackers/ble_models/ble_devices_model.dart b/lib/pages/medical/my_trackers/ble_models/ble_devices_model.dart
index 86e403a9..527df466 100644
--- a/lib/pages/medical/my_trackers/ble_models/ble_devices_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/ble_devices_model.dart
@@ -2,14 +2,20 @@ import 'package:diplomaticquarterapp/pages/medical/my_trackers/my_trackers_view_
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
class BleDeviceModel {
- String macAddr;
- int model;
- String name;
- int rssi;
- TrackerTypeEnum deviceType;
- BluetoothDevice andesfitBluetoothDevice;
+ String? macAddr;
+ int? model;
+ String? name;
+ int? rssi;
+ TrackerTypeEnum? deviceType;
+ BluetoothDevice? andesfitBluetoothDevice;
- BleDeviceModel({this.macAddr, this.model, this.name, this.rssi, this.andesfitBluetoothDevice});
+ BleDeviceModel({
+ this.macAddr,
+ this.model,
+ this.name,
+ this.rssi,
+ this.andesfitBluetoothDevice,
+ });
BleDeviceModel.fromJson(Map json, TrackerTypeEnum trackerType) {
macAddr = json['macAddr'];
@@ -17,11 +23,11 @@ class BleDeviceModel {
name = json['name'];
rssi = json['rssi'];
deviceType = trackerType;
- andesfitBluetoothDevice = null;
+ andesfitBluetoothDevice = null; // You can remove this line if it's intended to be null by default
}
@override
String toString() {
- return 'BleDeviceModel{macAddr: $macAddr, model: $model, name: $name, rssi: $rssi, deviceType: $deviceType, andesfitBluetoothDevice: ${andesfitBluetoothDevice.toString()}';
+ return 'BleDeviceModel{macAddr: $macAddr, model: $model, name: $name, rssi: $rssi, deviceType: $deviceType, andesfitBluetoothDevice: ${andesfitBluetoothDevice?.toString()}';
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/check_me_info_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/check_me_info_model.dart
index 6d625ff1..853d8498 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/check_me_info_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/check_me_info_model.dart
@@ -1,28 +1,29 @@
class CheckMeInfoModel {
- String region;
- String model;
- String hardwareVer;
- String softwareVer;
- String languageVer;
- String curLanguage;
- String fileVer;
- String sPCPVer;
- String application;
- String sN;
- String branchCode;
+ String? region;
+ String? model;
+ String? hardwareVer;
+ String? softwareVer;
+ String? languageVer;
+ String? curLanguage;
+ String? fileVer;
+ String? sPCPVer;
+ String? application;
+ String? sN;
+ String? branchCode;
- CheckMeInfoModel(
- {this.region,
- this.model,
- this.hardwareVer,
- this.softwareVer,
- this.languageVer,
- this.curLanguage,
- this.fileVer,
- this.sPCPVer,
- this.application,
- this.sN,
- this.branchCode});
+ CheckMeInfoModel({
+ required this.region,
+ required this.model,
+ required this.hardwareVer,
+ required this.softwareVer,
+ required this.languageVer,
+ required this.curLanguage,
+ required this.fileVer,
+ required this.sPCPVer,
+ required this.application,
+ required this.sN,
+ required this.branchCode,
+ });
@override
String toString() {
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_bp_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_bp_model.dart
index 0dc05d99..d2bdaa08 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_bp_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_bp_model.dart
@@ -1,11 +1,17 @@
class CheckMeBPModel {
- String date;
- int dia;
- int pr;
- int sys;
- String timeString;
+ String? date;
+ int? dia;
+ int? pr;
+ int? sys;
+ String? timeString;
- CheckMeBPModel({this.date, this.dia, this.pr, this.sys, this.timeString});
+ CheckMeBPModel({
+ required this.date,
+ required this.dia,
+ required this.pr,
+ required this.sys,
+ required this.timeString,
+ });
CheckMeBPModel.fromJson(Map json) {
date = json['date'];
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_model.dart
index 3a57e762..419398f6 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_model.dart
@@ -1,11 +1,17 @@
class CheckMeECGModel {
- String date;
- int face;
- String timeString;
- int voice;
- int way;
+ String? date;
+ int? face;
+ String? timeString;
+ int? voice;
+ int? way;
- CheckMeECGModel({this.date, this.face, this.timeString, this.voice, this.way});
+ CheckMeECGModel({
+ required this.date,
+ required this.face,
+ required this.timeString,
+ required this.voice,
+ required this.way,
+ });
CheckMeECGModel.fromJson(Map json) {
date = json['date'];
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_wave_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_wave_model.dart
index 6f763f1a..4cbdba43 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_wave_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_ecg_wave_model.dart
@@ -1,27 +1,42 @@
class CheckMeECGWaveModel {
- List bytes;
- int hr;
- List hrList;
- int hrSize;
- int pvcs;
- int qrs;
- int qt;
- int qtc;
- int result;
- int st;
- int total;
- int waveIntSize;
- List waveList;
- int waveSize;
- int waveViewSize;
+ List? bytes;
+ int? hr;
+ List? hrList;
+ int? hrSize;
+ int? pvcs;
+ int? qrs;
+ int? qt;
+ int? qtc;
+ int? result;
+ int? st;
+ int? total;
+ int? waveIntSize;
+ List? waveList;
+ int? waveSize;
+ int? waveViewSize;
- CheckMeECGWaveModel(
- {this.bytes, this.hr, this.hrList, this.hrSize, this.pvcs, this.qrs, this.qt, this.qtc, this.result, this.st, this.total, this.waveIntSize, this.waveList, this.waveSize, this.waveViewSize});
+ CheckMeECGWaveModel({
+ this.bytes,
+ this.hr,
+ this.hrList,
+ this.hrSize,
+ this.pvcs,
+ this.qrs,
+ this.qt,
+ this.qtc,
+ this.result,
+ this.st,
+ this.total,
+ this.waveIntSize,
+ this.waveList,
+ this.waveSize,
+ this.waveViewSize,
+ });
CheckMeECGWaveModel.fromJson(Map json) {
- bytes = json['bytes'].cast();
+ bytes = json['bytes']?.cast();
hr = json['hr'];
- hrList = json['hrList'].cast();
+ hrList = json['hrList']?.cast();
hrSize = json['hrSize'];
pvcs = json['pvcs'];
qrs = json['qrs'];
@@ -31,28 +46,28 @@ class CheckMeECGWaveModel {
st = json['st'];
total = json['total'];
waveIntSize = json['waveIntSize'];
- waveList = json['waveList'].cast();
+ waveList = json['waveList']?.cast();
waveSize = json['waveSize'];
waveViewSize = json['waveViewSize'];
}
Map toJson() {
- final Map data = new Map();
- data['bytes'] = this.bytes;
- data['hr'] = this.hr;
- data['hrList'] = this.hrList;
- data['hrSize'] = this.hrSize;
- data['pvcs'] = this.pvcs;
- data['qrs'] = this.qrs;
- data['qt'] = this.qt;
- data['qtc'] = this.qtc;
- data['result'] = this.result;
- data['st'] = this.st;
- data['total'] = this.total;
- data['waveIntSize'] = this.waveIntSize;
- data['waveList'] = this.waveList;
- data['waveSize'] = this.waveSize;
- data['waveViewSize'] = this.waveViewSize;
+ final Map data = {};
+ data['bytes'] = bytes;
+ data['hr'] = hr;
+ data['hrList'] = hrList;
+ data['hrSize'] = hrSize;
+ data['pvcs'] = pvcs;
+ data['qrs'] = qrs;
+ data['qt'] = qt;
+ data['qtc'] = qtc;
+ data['result'] = result;
+ data['st'] = st;
+ data['total'] = total;
+ data['waveIntSize'] = waveIntSize;
+ data['waveList'] = waveList;
+ data['waveSize'] = waveSize;
+ data['waveViewSize'] = waveViewSize;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_glucose_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_glucose_model.dart
index 6b5d6797..26bf9a31 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_glucose_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_glucose_model.dart
@@ -4,21 +4,25 @@ class CheckMeGlucoseModel {
String note;
String timeString;
- CheckMeGlucoseModel({this.date, this.glu, this.note, this.timeString});
+ CheckMeGlucoseModel({
+ required this.date,
+ required this.glu,
+ required this.note,
+ required this.timeString,
+ });
- CheckMeGlucoseModel.fromJson(Map json) {
- date = json['date'];
- glu = json['glu'];
- note = json['note'];
- timeString = json['timeString'];
- }
+ CheckMeGlucoseModel.fromJson(Map json)
+ : date = json['date'],
+ glu = json['glu'].toDouble(),
+ note = json['note'],
+ timeString = json['timeString'];
Map toJson() {
- final Map data = new Map();
- data['date'] = this.date;
- data['glu'] = this.glu;
- data['note'] = this.note;
- data['timeString'] = this.timeString;
+ final Map data = {};
+ data['date'] = date;
+ data['glu'] = glu;
+ data['note'] = note;
+ data['timeString'] = timeString;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_oxi_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_oxi_model.dart
index 5167e7ae..b1292a50 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_oxi_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_oxi_model.dart
@@ -1,36 +1,40 @@
class CheckMeOxiModel {
- String date;
- int face;
- int oxy;
- num pi;
- int pr;
- String timeString;
- int way;
+ String? date;
+ int? face;
+ int? oxy;
+ num? pi;
+ int? pr;
+ String? timeString;
+ int? way;
- CheckMeOxiModel({this.date, this.face, this.oxy, this.pi, this.pr, this.timeString, this.way});
+ CheckMeOxiModel({
+ this.date,
+ this.face,
+ this.oxy,
+ this.pi,
+ this.pr,
+ this.timeString,
+ this.way,
+ });
- CheckMeOxiModel.fromJson(Map json) {
- date = json['date'];
- face = json['face'];
- oxy = json['oxy'];
- pi = json['pi'];
- pr = json['pr'];
- timeString = json['timeString'];
- way = json['way'];
- }
+ CheckMeOxiModel.fromJson(Map json)
+ : date = json['date'],
+ face = json['face'],
+ oxy = json['oxy'],
+ pi = json['pi'],
+ pr = json['pr'],
+ timeString = json['timeString'],
+ way = json['way'];
Map toJson() {
- final Map data = new Map();
- data['date'] = this.date;
- data['face'] = this.face;
- data['oxy'] = this.oxy;
- data['pi'] = this.pi;
- data['pr'] = this.pr;
- data['timeString'] = this.timeString;
- data['way'] = this.way;
+ final Map data = {};
+ data['date'] = date;
+ data['face'] = face;
+ data['oxy'] = oxy;
+ data['pi'] = pi;
+ data['pr'] = pr;
+ data['timeString'] = timeString;
+ data['way'] = way;
return data;
}
}
-
-
-
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_temperature_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_temperature_model.dart
index 90265fe9..9a009701 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_temperature_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_temperature_model.dart
@@ -5,25 +5,28 @@ class CheckMeTemperatureModel {
double tmp;
int way;
- CheckMeTemperatureModel({this.date, this.face, this.timeString, this.tmp, this.way});
+ CheckMeTemperatureModel({
+ required this.date,
+ required this.face,
+ required this.timeString,
+ required this.tmp,
+ required this.way,
+ });
- CheckMeTemperatureModel.fromJson(Map json) {
- date = json['date'];
- face = json['face'];
- timeString = json['timeString'];
- tmp = json['tmp'];
- way = json['way'];
- }
+ CheckMeTemperatureModel.fromJson(Map json)
+ : date = json['date'],
+ face = json['face'],
+ timeString = json['timeString'],
+ tmp = json['tmp'].toDouble(),
+ way = json['way'];
Map toJson() {
- final Map data = new Map();
- data['date'] = this.date;
- data['face'] = this.face;
- data['timeString'] = this.timeString;
- data['tmp'] = this.tmp;
- data['way'] = this.way;
+ final Map data = {};
+ data['date'] = date;
+ data['face'] = face;
+ data['timeString'] = timeString;
+ data['tmp'] = tmp;
+ data['way'] = way;
return data;
}
}
-
-
diff --git a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_user_model.dart b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_user_model.dart
index faf377fc..8d4d0151 100644
--- a/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_user_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/checkmepro_all_in_one_models/checkme_user_model.dart
@@ -1,36 +1,44 @@
class CheckMeUserInfoModel {
- String birthday;
- int color;
- int height;
- int ico;
- String id;
- String name;
- int sex;
- int weight;
+ String? birthday;
+ int? color;
+ int? height;
+ int? ico;
+ String? id;
+ String? name;
+ int? sex;
+ int? weight;
- CheckMeUserInfoModel({this.birthday, this.color, this.height, this.ico, this.id, this.name, this.sex, this.weight});
+ CheckMeUserInfoModel({
+ this.birthday,
+ this.color,
+ this.height,
+ this.ico,
+ this.id,
+ this.name,
+ this.sex,
+ this.weight,
+ });
- CheckMeUserInfoModel.fromJson(Map json) {
- birthday = json['birthday'];
- color = json['color'];
- height = json['height'];
- ico = json['ico'];
- id = json['id'];
- name = json['name'];
- sex = json['sex'];
- weight = json['weight'];
- }
+ CheckMeUserInfoModel.fromJson(Map json)
+ : birthday = json['birthday'],
+ color = json['color'],
+ height = json['height'],
+ ico = json['ico'],
+ id = json['id'],
+ name = json['name'],
+ sex = json['sex'],
+ weight = json['weight'];
Map toJson() {
- final Map data = new Map();
- data['birthday'] = this.birthday;
- data['color'] = this.color;
- data['height'] = this.height;
- data['ico'] = this.ico;
- data['id'] = this.id;
- data['name'] = this.name;
- data['sex'] = this.sex;
- data['weight'] = this.weight;
+ final Map data = {};
+ data['birthday'] = birthday;
+ data['color'] = color;
+ data['height'] = height;
+ data['ico'] = ico;
+ data['id'] = id;
+ data['name'] = name;
+ data['sex'] = sex;
+ data['weight'] = weight;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/smart_ring_models.dart b/lib/pages/medical/my_trackers/ble_models/smart_ring_models.dart
index 03380caa..009cbd31 100644
--- a/lib/pages/medical/my_trackers/ble_models/smart_ring_models.dart
+++ b/lib/pages/medical/my_trackers/ble_models/smart_ring_models.dart
@@ -1,7 +1,6 @@
-//TEMPERATURE
-
import 'package:diplomaticquarterapp/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart';
+
String getValueKeyBySmartRingOperation(SmartRingOperationsEnum smartRingOperationsEnum) {
switch (smartRingOperationsEnum) {
case SmartRingOperationsEnum.Temperature:
@@ -11,31 +10,34 @@ String getValueKeyBySmartRingOperation(SmartRingOperationsEnum smartRingOperatio
case SmartRingOperationsEnum.RealTimeHeartRate:
return "arrayDynamicHR";
case SmartRingOperationsEnum.HRV:
- break;
+ return "HRV"; // Return a default value for this case
case SmartRingOperationsEnum.BloodOxygen:
return "Blood_oxygen";
case SmartRingOperationsEnum.BatteryLevel:
return "batteryLevel";
+ default:
+ return "batteryLevel"; // Default case
}
- return "batteryLevel";
}
class SmartRingGenericModel {
DateTime date;
String value;
- SmartRingGenericModel({this.date, this.value});
+ SmartRingGenericModel({
+ required this.date,
+ required this.value,
+ });
- SmartRingGenericModel.fromJson(Map json, SmartRingOperationsEnum smartRingOperationsEnum) {
- date = json['date'] != null ? DateTime.parse(((json["date"] as String).replaceAll(".", "-"))) : DateTime.now();
- value = json['${getValueKeyBySmartRingOperation(smartRingOperationsEnum)}'];
- }
+ SmartRingGenericModel.fromJson(Map json, SmartRingOperationsEnum smartRingOperationsEnum)
+ : date = DateTime.parse(json['date'] ?? ''),
+ value = json[getValueKeyBySmartRingOperation(smartRingOperationsEnum)] ?? '';
Map toJson(SmartRingOperationsEnum smartRingOperationsEnum) {
- final Map data = new Map();
- data['date'] = this.date;
- data['${getValueKeyBySmartRingOperation(smartRingOperationsEnum)}'] = this.value;
- return data;
+ return {
+ 'date': date.toString(),
+ getValueKeyBySmartRingOperation(smartRingOperationsEnum): value,
+ };
}
}
@@ -48,28 +50,35 @@ class SmartRingStepCountModel {
String calories;
String exerciseMinutes;
- SmartRingStepCountModel({this.date, this.goal, this.distance, this.step, this.exerciseTime, this.calories, this.exerciseMinutes});
-
- SmartRingStepCountModel.fromJson(Map json) {
- date = json['date'];
- goal = json['goal'];
- distance = json['distance'];
- step = json['step'];
- exerciseTime = json['ExerciseTime'];
- calories = json['calories'];
- exerciseMinutes = json['exerciseMinutes'];
- }
+ SmartRingStepCountModel({
+ required this.date,
+ required this.goal,
+ required this.distance,
+ required this.step,
+ required this.exerciseTime,
+ required this.calories,
+ required this.exerciseMinutes,
+ });
+
+ SmartRingStepCountModel.fromJson(Map json)
+ : date = json['date'] ?? '',
+ goal = json['goal'] ?? '',
+ distance = json['distance'] ?? '',
+ step = json['step'] ?? '',
+ exerciseTime = json['ExerciseTime'] ?? '',
+ calories = json['calories'] ?? '',
+ exerciseMinutes = json['exerciseMinutes'] ?? '';
Map toJson() {
- final Map data = new Map();
- data['date'] = this.date;
- data['goal'] = this.goal;
- data['distance'] = this.distance;
- data['step'] = this.step;
- data['ExerciseTime'] = this.exerciseTime;
- data['calories'] = this.calories;
- data['exerciseMinutes'] = this.exerciseMinutes;
- return data;
+ return {
+ 'date': date,
+ 'goal': goal,
+ 'distance': distance,
+ 'step': step,
+ 'ExerciseTime': exerciseTime,
+ 'calories': calories,
+ 'exerciseMinutes': exerciseMinutes,
+ };
}
}
@@ -82,52 +91,63 @@ class SmartRingHrvModel {
String hrv;
String vascularAging;
- SmartRingHrvModel({this.date, this.highBP, this.stress, this.lowBP, this.heartRate, this.hrv, this.vascularAging});
-
- SmartRingHrvModel.fromJson(Map json) {
- date = json['date'];
- highBP = json['highBP'];
- stress = json['stress'];
- lowBP = json['lowBP'];
- heartRate = json['heartRate'];
- hrv = json['hrv'];
- vascularAging = json['vascularAging'];
- }
+ SmartRingHrvModel({
+ required this.date,
+ required this.highBP,
+ required this.stress,
+ required this.lowBP,
+ required this.heartRate,
+ required this.hrv,
+ required this.vascularAging,
+ });
+
+ SmartRingHrvModel.fromJson(Map json)
+ : date = json['date'] ?? '',
+ highBP = json['highBP'] ?? '',
+ stress = json['stress'] ?? '',
+ lowBP = json['lowBP'] ?? '',
+ heartRate = json['heartRate'] ?? '',
+ hrv = json['hrv'] ?? '',
+ vascularAging = json['vascularAging'] ?? '';
Map toJson() {
- final Map data = new Map();
- data['date'] = this.date;
- data['highBP'] = this.highBP;
- data['stress'] = this.stress;
- data['lowBP'] = this.lowBP;
- data['heartRate'] = this.heartRate;
- data['hrv'] = this.hrv;
- data['vascularAging'] = this.vascularAging;
- return data;
+ return {
+ 'date': date,
+ 'highBP': highBP,
+ 'stress': stress,
+ 'lowBP': lowBP,
+ 'heartRate': heartRate,
+ 'hrv': hrv,
+ 'vascularAging': vascularAging,
+ };
}
}
class RtSportDataSmartRingModel {
- String heartRate;
- String step;
- String exerciseTime;
- String calories;
-
- RtSportDataSmartRingModel({this.heartRate, this.step, this.exerciseTime, this.calories});
-
- RtSportDataSmartRingModel.fromJson(Map json) {
- heartRate = json['heartRate'];
- step = json['step'];
- exerciseTime = json['ExerciseTime'];
- calories = json['calories'];
- }
+ String? heartRate;
+ String? step;
+ String? exerciseTime;
+ String? calories;
+
+ RtSportDataSmartRingModel({
+ this.heartRate,
+ this.step,
+ this.exerciseTime,
+ this.calories,
+ });
+
+ RtSportDataSmartRingModel.fromJson(Map json)
+ : heartRate = json['heartRate'],
+ step = json['step'],
+ exerciseTime = json['ExerciseTime'],
+ calories = json['calories'];
Map toJson() {
- final Map data = new Map();
- data['heartRate'] = this.heartRate;
- data['step'] = this.step;
- data['ExerciseTime'] = this.exerciseTime;
- data['calories'] = this.calories;
- return data;
+ return {
+ 'heartRate': heartRate,
+ 'step': step,
+ 'ExerciseTime': exerciseTime,
+ 'calories': calories,
+ };
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/viatom_devices/bp_rt_model.dart b/lib/pages/medical/my_trackers/ble_models/viatom_devices/bp_rt_model.dart
index dbd6a4c4..bf731150 100644
--- a/lib/pages/medical/my_trackers/ble_models/viatom_devices/bp_rt_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/viatom_devices/bp_rt_model.dart
@@ -1,38 +1,37 @@
class BpRtMeasuringModel {
- bool deflate;
- int pr;
- int pressure;
- bool pulse;
+ bool? deflate;
+ int? pr;
+ int? pressure;
+ bool? pulse;
BpRtMeasuringModel({this.deflate, this.pr, this.pressure, this.pulse});
- BpRtMeasuringModel.fromJson(Map json) {
- deflate = json['deflate'];
- pr = json['pr'];
- pressure = json['pressure'];
- pulse = json['pulse'];
- }
+ BpRtMeasuringModel.fromJson(Map json)
+ : deflate = json['deflate'],
+ pr = json['pr'],
+ pressure = json['pressure'],
+ pulse = json['pulse'];
Map toJson() {
- final Map data = new Map();
- data['deflate'] = this.deflate;
- data['pr'] = this.pr;
- data['pressure'] = this.pressure;
- data['pulse'] = this.pulse;
+ final Map data = {};
+ data['deflate'] = deflate;
+ data['pr'] = pr;
+ data['pressure'] = pressure;
+ data['pulse'] = pulse;
return data;
}
}
class BpRtResultModel {
- bool deflate;
- int dia;
- int mean;
- int pr;
- int pressure;
- int result;
- int sys;
- bool isBpHigh;
- bool isPulseHigh;
+ bool? deflate;
+ int? dia;
+ int? mean;
+ int? pr;
+ int? pressure;
+ int? result;
+ int? sys;
+ bool? isBpHigh;
+ bool? isPulseHigh;
BpRtResultModel({
this.deflate,
@@ -46,98 +45,96 @@ class BpRtResultModel {
this.isPulseHigh,
});
- BpRtResultModel.fromJson(Map json) {
- deflate = json['deflate'];
- dia = json['dia'];
- mean = json['mean'];
- pr = json['pr'];
- pressure = json['pressure'];
- result = json['result'];
- sys = json['sys'];
- isBpHigh = false;
- isPulseHigh = false;
- }
+ BpRtResultModel.fromJson(Map json)
+ : deflate = json['deflate'],
+ dia = json['dia'],
+ mean = json['mean'],
+ pr = json['pr'],
+ pressure = json['pressure'],
+ result = json['result'],
+ sys = json['sys'],
+ isBpHigh = false,
+ isPulseHigh = false;
}
class ECGRtMeasuringModelFromBP {
- int curDuration;
- int hr;
- bool leadOff;
- bool poolSignal;
+ int? curDuration;
+ int? hr;
+ bool? leadOff;
+ bool? poolSignal;
ECGRtMeasuringModelFromBP({this.curDuration, this.hr, this.leadOff, this.poolSignal});
- ECGRtMeasuringModelFromBP.fromJson(Map json) {
- curDuration = json['curDuration'];
- hr = json['hr'];
- leadOff = json['leadOff'];
- poolSignal = json['poolSignal'];
- }
+ ECGRtMeasuringModelFromBP.fromJson(Map json)
+ : curDuration = json['curDuration'],
+ hr = json['hr'],
+ leadOff = json['leadOff'],
+ poolSignal = json['poolSignal'];
}
class ECGRtResultModelFromBP {
- Diagnosis diagnosis;
- int hr;
- int pvcs;
- int qrs;
- int qtc;
- int result;
+ Diagnosis? diagnosis;
+ int? hr;
+ int? pvcs;
+ int? qrs;
+ int? qtc;
+ int? result;
ECGRtResultModelFromBP({this.diagnosis, this.hr, this.pvcs, this.qrs, this.qtc, this.result});
- ECGRtResultModelFromBP.fromJson(Map json) {
- diagnosis = json['diagnosis'] != null ? new Diagnosis.fromJson(json['diagnosis']) : null;
- hr = json['hr'];
- pvcs = json['pvcs'];
- qrs = json['qrs'];
- qtc = json['qtc'];
- result = json['result'];
- }
+ ECGRtResultModelFromBP.fromJson(Map json)
+ : diagnosis = json['diagnosis'] != null ? Diagnosis.fromJson(json['diagnosis']) : null,
+ hr = json['hr'],
+ pvcs = json['pvcs'],
+ qrs = json['qrs'],
+ qtc = json['qtc'],
+ result = json['result'];
}
+
class Diagnosis {
- List bytes;
- bool isFastHr;
- bool isFibrillation;
- bool isHeartPause;
- bool isIrregular;
- bool isLeadOff;
- bool isPoorSignal;
- bool isProlongedQtc;
- bool isPvcs;
- bool isRegular;
- bool isShortQtc;
- bool isSlowHr;
- bool isWideQrs;
-
- Diagnosis(
- {this.bytes,
- this.isFastHr,
- this.isFibrillation,
- this.isHeartPause,
- this.isIrregular,
- this.isLeadOff,
- this.isPoorSignal,
- this.isProlongedQtc,
- this.isPvcs,
- this.isRegular,
- this.isShortQtc,
- this.isSlowHr,
- this.isWideQrs});
-
- Diagnosis.fromJson(Map json) {
- bytes = json['bytes'].cast();
- isFastHr = json['isFastHr'];
- isFibrillation = json['isFibrillation'];
- isHeartPause = json['isHeartPause'];
- isIrregular = json['isIrregular'];
- isLeadOff = json['isLeadOff'];
- isPoorSignal = json['isPoorSignal'];
- isProlongedQtc = json['isProlongedQtc'];
- isPvcs = json['isPvcs'];
- isRegular = json['isRegular'];
- isShortQtc = json['isShortQtc'];
- isSlowHr = json['isSlowHr'];
- isWideQrs = json['isWideQrs'];
- }
-}
+ List? bytes;
+ bool? isFastHr;
+ bool? isFibrillation;
+ bool? isHeartPause;
+ bool? isIrregular;
+ bool? isLeadOff;
+ bool? isPoorSignal;
+ bool? isProlongedQtc;
+ bool? isPvcs;
+ bool? isRegular;
+ bool? isShortQtc;
+ bool? isSlowHr;
+ bool? isWideQrs;
+
+ Diagnosis({
+ this.bytes,
+ this.isFastHr,
+ this.isFibrillation,
+ this.isHeartPause,
+ this.isIrregular,
+ this.isLeadOff,
+ this.isPoorSignal,
+ this.isProlongedQtc,
+ this.isPvcs,
+ this.isRegular,
+ this.isShortQtc,
+ this.isSlowHr,
+ this.isWideQrs,
+ });
+
+ Diagnosis.fromJson(Map json)
+ : bytes = json['bytes']?.cast(),
+ isFastHr = json['isFastHr'],
+ isFibrillation = json['isFibrillation'],
+ isHeartPause = json['isHeartPause'],
+ isIrregular = json['isIrregular'],
+ isLeadOff = json['isLeadOff'],
+ isPoorSignal = json['isPoorSignal'],
+ isProlongedQtc = json['isProlongedQtc'],
+ isPvcs = json['isPvcs'],
+ isRegular = json['isRegular'],
+ isShortQtc = json['isShortQtc'],
+ isSlowHr = json['isSlowHr'],
+ isWideQrs = json['isWideQrs'];
+}
\ No newline at end of file
diff --git a/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_file_detail_model.dart b/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_file_detail_model.dart
index 17989e63..866f5ff3 100644
--- a/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_file_detail_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_file_detail_model.dart
@@ -1,25 +1,28 @@
class ECGFileDetailModel {
- int duration;
- String fileName;
- List shortData;
- int startTime;
+ int? duration;
+ String? fileName;
+ List? shortData;
+ int? startTime;
- ECGFileDetailModel(
- {this.duration, this.fileName, this.shortData, this.startTime});
+ ECGFileDetailModel({
+ this.duration,
+ this.fileName,
+ this.shortData,
+ this.startTime,
+ });
- ECGFileDetailModel.fromJson(Map json) {
- duration = json['duration'];
- fileName = json['fileName'];
- shortData = json['shortData'].cast();
- startTime = json['startTime'];
- }
+ ECGFileDetailModel.fromJson(Map json)
+ : duration = json['duration'],
+ fileName = json['fileName'],
+ shortData = json['shortData'].cast(),
+ startTime = json['startTime'];
Map toJson() {
- final Map data = new Map();
- data['duration'] = this.duration;
- data['fileName'] = this.fileName;
- data['shortData'] = this.shortData;
- data['startTime'] = this.startTime;
+ final Map data = {};
+ data['duration'] = duration;
+ data['fileName'] = fileName;
+ data['shortData'] = shortData;
+ data['startTime'] = startTime;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_rt_model.dart b/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_rt_model.dart
index d4433f3d..c0b0e890 100644
--- a/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_rt_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/viatom_devices/ecg_rt_model.dart
@@ -1,78 +1,75 @@
class ECGRtModel {
- Param param;
- Wave wave;
+ Param? param;
+ Wave? wave;
ECGRtModel({this.param, this.wave});
- ECGRtModel.fromJson(Map json) {
- param = json['param'] != null ? new Param.fromJson(json['param']) : null;
- wave = json['wave'] != null ? new Wave.fromJson(json['wave']) : null;
- }
+ ECGRtModel.fromJson(Map json)
+ : param = json['param'] != null ? Param.fromJson(json['param']) : null,
+ wave = json['wave'] != null ? Wave.fromJson(json['wave']) : null;
Map toJson() {
- final Map data = new Map();
- if (this.param != null) {
- data['param'] = this.param.toJson();
+ final Map data = {};
+ if (param != null) {
+ data['param'] = param!.toJson();
}
- if (this.wave != null) {
- data['wave'] = this.wave.toJson();
+ if (wave != null) {
+ data['wave'] = wave!.toJson();
}
return data;
}
}
class Param {
- num battery;
- num batteryState;
- num curStatus;
- num hr;
- bool poorSignal;
- bool rSignal;
- num recordTime;
+ num? battery;
+ num? batteryState;
+ num? curStatus;
+ num? hr;
+ bool? poorSignal;
+ bool? rSignal;
+ num? recordTime;
Param({this.battery, this.batteryState, this.curStatus, this.hr, this.poorSignal, this.rSignal, this.recordTime});
- Param.fromJson(Map json) {
- battery = json['battery'];
- batteryState = json['batteryState'];
- curStatus = json['curStatus'];
- hr = json['hr'];
- poorSignal = json['poorSignal'];
- rSignal = json['rSignal'];
- recordTime = json['recordTime'];
- }
+ Param.fromJson(Map json)
+ : battery = json['battery'],
+ batteryState = json['batteryState'],
+ curStatus = json['curStatus'],
+ hr = json['hr'],
+ poorSignal = json['poorSignal'],
+ rSignal = json['rSignal'],
+ recordTime = json['recordTime'];
Map toJson() {
- final Map data = new Map();
- data['battery'] = this.battery;
- data['batteryState'] = this.batteryState;
- data['curStatus'] = this.curStatus;
- data['hr'] = this.hr;
- data['poorSignal'] = this.poorSignal;
- data['rSignal'] = this.rSignal;
- data['recordTime'] = this.recordTime;
+ final Map data = {};
+ data['battery'] = battery;
+ data['batteryState'] = batteryState;
+ data['curStatus'] = curStatus;
+ data['hr'] = hr;
+ data['poorSignal'] = poorSignal;
+ data['rSignal'] = rSignal;
+ data['recordTime'] = recordTime;
return data;
}
}
class Wave {
- List ecgBytes;
- List ecgFloats;
- List ecgShorts;
+ List? ecgBytes;
+ List? ecgFloats;
+ List? ecgShorts;
Wave({this.ecgBytes, this.ecgFloats, this.ecgShorts});
- Wave.fromJson(Map json) {
- ecgBytes = json['ecgBytes'].cast();
- ecgFloats = json['ecgFloats'].cast();
- ecgShorts = json['ecgShorts'].cast();
- }
+ Wave.fromJson(Map json)
+ : ecgBytes = json['ecgBytes']?.cast(),
+ ecgFloats = json['ecgFloats']?.cast(),
+ ecgShorts = json['ecgShorts']?.cast();
Map toJson() {
- final Map data = new Map();
- data['ecgBytes'] = this.ecgBytes;
- data['ecgFloats'] = this.ecgFloats;
- data['ecgShorts'] = this.ecgShorts;
+ final Map data = {};
+ data['ecgBytes'] = ecgBytes;
+ data['ecgFloats'] = ecgFloats;
+ data['ecgShorts'] = ecgShorts;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/ble_models/viatom_devices/oxy_rt_model.dart b/lib/pages/medical/my_trackers/ble_models/viatom_devices/oxy_rt_model.dart
index 5cc32528..ced7cc38 100644
--- a/lib/pages/medical/my_trackers/ble_models/viatom_devices/oxy_rt_model.dart
+++ b/lib/pages/medical/my_trackers/ble_models/viatom_devices/oxy_rt_model.dart
@@ -1,33 +1,40 @@
class OxyRtModel {
- int battery;
- bool isCheckProbe;
- bool isProbeOff;
- bool isPulseSearching;
- num pi;
- int pr;
- int spo2;
+ int? battery;
+ bool? isCheckProbe;
+ bool? isProbeOff;
+ bool? isPulseSearching;
+ num? pi;
+ int? pr;
+ int? spo2;
- OxyRtModel({this.battery, this.isCheckProbe, this.isProbeOff, this.isPulseSearching, this.pi, this.pr, this.spo2});
+ OxyRtModel({
+ this.battery,
+ required this.isCheckProbe,
+ required this.isProbeOff,
+ required this.isPulseSearching,
+ required this.pi,
+ required this.pr,
+ required this.spo2,
+ });
- OxyRtModel.fromJson(Map json) {
- battery = json['battery'];
- isCheckProbe = json['isCheckProbe'];
- isProbeOff = json['isProbeOff'];
- isPulseSearching = json['isPulseSearching'];
- pi = json['pi'];
- pr = json['pr'];
- spo2 = json['spo2'];
- }
+ OxyRtModel.fromJson(Map json)
+ : battery = json['battery'],
+ isCheckProbe = json['isCheckProbe'],
+ isProbeOff = json['isProbeOff'],
+ isPulseSearching = json['isPulseSearching'],
+ pi = json['pi'],
+ pr = json['pr'],
+ spo2 = json['spo2'];
Map toJson() {
- final Map data = new Map();
- data['battery'] = this.battery;
- data['isCheckProbe'] = this.isCheckProbe;
- data['isProbeOff'] = this.isProbeOff;
- data['isPulseSearching'] = this.isPulseSearching;
- data['pi'] = this.pi;
- data['pr'] = this.pr;
- data['spo2'] = this.spo2;
+ final Map data = {};
+ data['battery'] = battery;
+ data['isCheckProbe'] = isCheckProbe;
+ data['isProbeOff'] = isProbeOff;
+ data['isPulseSearching'] = isPulseSearching;
+ data['pi'] = pi;
+ data['pr'] = pr;
+ data['spo2'] = spo2;
return data;
}
}
diff --git a/lib/pages/medical/my_trackers/blood_glucose_ble.dart b/lib/pages/medical/my_trackers/blood_glucose_ble.dart
index 66df5fe4..3e1adfa7 100644
--- a/lib/pages/medical/my_trackers/blood_glucose_ble.dart
+++ b/lib/pages/medical/my_trackers/blood_glucose_ble.dart
@@ -19,19 +19,19 @@ class _BloodGlucoseBLEState extends State {
String connectionStatus = "disconnected";
String currentBloodGlucose = "0.0";
- BluetoothDevice currentConnectedDevice;
+ BluetoothDevice? currentConnectedDevice;
- StreamSubscription bleDevicesStream;
- StreamSubscription bloodGlucoseValuesStream;
+ StreamSubscription? bleDevicesStream;
+ StreamSubscription? bloodGlucoseValuesStream;
bool isDataMeasured = false;
@override
void dispose() {
super.dispose();
- if (bleDevicesStream != null) bleDevicesStream.cancel();
- if (bloodGlucoseValuesStream != null) bloodGlucoseValuesStream.cancel();
- if (currentConnectedDevice != null) currentConnectedDevice.disconnect();
+ if (bleDevicesStream != null) bleDevicesStream!.cancel();
+ if (bloodGlucoseValuesStream != null) bloodGlucoseValuesStream!.cancel();
+ if (currentConnectedDevice != null) currentConnectedDevice!.disconnect();
}
@override
@@ -75,7 +75,7 @@ class _BloodGlucoseBLEState extends State {
);
} else {
FlutterBluePlus.stopScan();
- return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState));
+ return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState!));
}
}),
),
@@ -110,7 +110,7 @@ class _BloodGlucoseBLEState extends State {
}
if (state == BluetoothConnectionState.connected) {
currentConnectedDevice = element.device;
- bleDevicesStream.cancel();
+ bleDevicesStream!.cancel();
List services = await element.device.discoverServices();
services.forEach((service) {
if (service.serviceUuid.toString().toLowerCase() == BLEUtils.BLOOD_GLUCOSE_SERVICE) {
@@ -131,13 +131,13 @@ class _BloodGlucoseBLEState extends State {
await characteristic.setNotifyValue(true);
}
});
- return true;
+ return;
}
});
}
});
await element.device.connect(timeout: Duration(seconds: 35));
- return true;
+ return;
}
}
});
@@ -163,7 +163,7 @@ class _BloodGlucoseBLEState extends State {
num measuredValue = byteArray[9];
results.add("Measured: $measuredValue");
isDataMeasured = true;
- bloodGlucoseValuesStream.cancel();
+ bloodGlucoseValuesStream!.cancel();
}
return results;
diff --git a/lib/pages/medical/my_trackers/blood_pressure/BloodPressureBLE.dart b/lib/pages/medical/my_trackers/blood_pressure/BloodPressureBLE.dart
index 0ab0c0f1..209eb378 100644
--- a/lib/pages/medical/my_trackers/blood_pressure/BloodPressureBLE.dart
+++ b/lib/pages/medical/my_trackers/blood_pressure/BloodPressureBLE.dart
@@ -21,27 +21,27 @@ class _BloodPressureBLEState extends State {
String currentBPmmHG = "0/0 mmHG";
String currentPulse = "0 PPM";
- BluetoothDevice currentConnectedDevice;
+ BluetoothDevice? currentConnectedDevice;
- StreamSubscription bloodPressureReadingStream;
+ StreamSubscription? bloodPressureReadingStream;
- StreamSubscription bleDevicesStream;
- StreamSubscription bleDeviceConnectionStream;
+ StreamSubscription? bleDevicesStream;
+ StreamSubscription? bleDeviceConnectionStream;
final bleConnectionStatus = ValueNotifier("Disconnected");
- Timer _timer;
+ Timer? _timer;
@override
void dispose() {
super.dispose();
- if (bleDevicesStream != null) bleDevicesStream.cancel();
- if (currentConnectedDevice != null) currentConnectedDevice.disconnect();
+ if (bleDevicesStream != null) bleDevicesStream!.cancel();
+ if (currentConnectedDevice != null) currentConnectedDevice!.disconnect();
bleConnectionStatus.dispose();
- if (bleDeviceConnectionStream != null) bleDeviceConnectionStream.cancel();
- if (bloodPressureReadingStream != null) bloodPressureReadingStream.cancel();
- if (currentConnectedDevice != null) currentConnectedDevice.disconnect();
- if (_timer != null && _timer.isActive) _timer.cancel();
+ if (bleDeviceConnectionStream != null) bleDeviceConnectionStream!.cancel();
+ if (bloodPressureReadingStream != null) bloodPressureReadingStream!.cancel();
+ if (currentConnectedDevice != null) currentConnectedDevice!.disconnect();
+ if (_timer != null && _timer!.isActive) _timer!.cancel();
}
@override
@@ -89,7 +89,7 @@ class _BloodPressureBLEState extends State {
);
} else {
FlutterBluePlus.stopScan();
- return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState));
+ return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState!));
}
}),
),
@@ -112,12 +112,12 @@ class _BloodPressureBLEState extends State {
if (element.device.localName.isNotEmpty) {
log("blueToothDevices: ${element.device.localName}");
if (element.device.localName.toLowerCase() == "pm101897") {
- bleDevicesStream.cancel();
+ bleDevicesStream!.cancel();
element.device.connect(timeout: Duration(seconds: 30), autoConnect: false).then((value) async {
bleConnectionStatus.value = "Connected...";
print("Device Connected-------");
currentConnectedDevice = element.device;
- bleDeviceConnectionStream = currentConnectedDevice.connectionState.listen((event) {
+ bleDeviceConnectionStream = currentConnectedDevice!.connectionState.listen((event) {
if (event == BluetoothConnectionState.disconnected) {
bleConnectionStatus.value = "Disconnected...";
print("Device Disconnected-------");
@@ -231,13 +231,13 @@ void startBLEConnectionII() {
await characteristic.setNotifyValue(true);
}
});
- return true;
+ return ;
}
});
}
});
await element.device.connect(timeout: Duration(seconds: 35));
- return true;
+ return;
}
}
});
@@ -279,7 +279,7 @@ Map handleBPResult(List byteArray, BluetoothCharacteristic
}
class BluetoothOffScreen extends StatelessWidget {
- const BluetoothOffScreen({Key key, this.adapterState}) : super(key: key);
+ const BluetoothOffScreen({Key? key, required this.adapterState}) : super(key: key);
final BluetoothAdapterState adapterState;
diff --git a/lib/pages/medical/my_trackers/ecg_ble.dart b/lib/pages/medical/my_trackers/ecg_ble.dart
index df3e4a70..4731cd46 100644
--- a/lib/pages/medical/my_trackers/ecg_ble.dart
+++ b/lib/pages/medical/my_trackers/ecg_ble.dart
@@ -18,22 +18,22 @@ class ECG_BLE extends StatefulWidget {
class _ECG_BLEState extends State {
String connectionStatus = "disconnected";
- BluetoothDevice currentConnectedDevice;
+ BluetoothDevice? currentConnectedDevice;
- BluetoothCharacteristic ecgWriteCharacteristic;
+ BluetoothCharacteristic? ecgWriteCharacteristic;
- StreamSubscription bleDevicesStream;
- StreamSubscription bleDeviceConnectionStream;
+ StreamSubscription? bleDevicesStream;
+ StreamSubscription? bleDeviceConnectionStream;
final bleConnectionStatus = ValueNotifier("Disconnected");
@override
void dispose() {
super.dispose();
- if (bleDevicesStream != null) bleDevicesStream.cancel();
- if (currentConnectedDevice != null) currentConnectedDevice.disconnect();
+ if (bleDevicesStream != null) bleDevicesStream!.cancel();
+ if (currentConnectedDevice != null) currentConnectedDevice!.disconnect();
bleConnectionStatus.dispose();
- if (bleDeviceConnectionStream != null) bleDeviceConnectionStream.cancel();
+ if (bleDeviceConnectionStream != null) bleDeviceConnectionStream!.cancel();
}
@override
@@ -88,7 +88,7 @@ class _ECG_BLEState extends State {
);
} else {
FlutterBluePlus.stopScan();
- return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState));
+ return SizedBox(height: 300.0, child: BluetoothOffScreen(adapterState: adapterState!));
}
}),
),
@@ -111,12 +111,12 @@ class _ECG_BLEState extends State {
if (element.device.localName.isNotEmpty) {
log("blueToothDevices: ${element.device.localName}");
if (element.device.localName.toLowerCase() == "pm101897") {
- bleDevicesStream.cancel();
+ bleDevicesStream!.cancel();
element.device.connect(timeout: Duration(seconds: 30), autoConnect: false).then((value) async {
bleConnectionStatus.value = "Connected...";
print("Device Connected-------");
currentConnectedDevice = element.device;
- bleDeviceConnectionStream = currentConnectedDevice.connectionState.listen((event) {
+ bleDeviceConnectionStream = currentConnectedDevice!.connectionState.listen((event) {
if (event == BluetoothConnectionState.disconnected) {
bleConnectionStatus.value = "Disconnected...";
print("Device Disconnected-------");
diff --git a/lib/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart b/lib/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart
index 96581cca..390e17ed 100644
--- a/lib/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart
+++ b/lib/pages/medical/my_trackers/my_trackers_view_model/my_trackers_view_model.dart
@@ -70,7 +70,7 @@ class MyTrackersViewModel extends ChangeNotifier {
List devicesList = [];
- var devicesInfoJsonViatom = {
+ Map>> devicesInfoJsonViatom = {
"OxymeterTracker": [
{"model": "SP-20"}, // DONE
{"model": "POD-1"}, // DONE
@@ -106,7 +106,7 @@ class MyTrackersViewModel extends ChangeNotifier {
],
};
- var devicesInfoJsonAndesfit = {
+ Map>> devicesInfoJsonAndesfit = {
"OxymeterTracker": [
{"model": ""}
],
@@ -164,11 +164,11 @@ class MyTrackersViewModel extends ChangeNotifier {
"BLE-MSA",
];
- StreamSubscription bleDevicesStream;
+ StreamSubscription? bleDevicesStream;
//************************************* OXYMETER *************************************
- OxyRtModel oxyRtModel;
+ OxyRtModel? oxyRtModel;
void updateOxyRtModel(Map mapData) {
oxyRtModel = OxyRtModel.fromJson(mapData);
@@ -177,21 +177,21 @@ class MyTrackersViewModel extends ChangeNotifier {
// ************************************* BLOOD PRESSURE *************************************
- BpRtMeasuringModel bpRtMeasuringModel;
+ BpRtMeasuringModel? bpRtMeasuringModel;
void updateBpRtMeasuringModel(Map mapData) {
bpRtMeasuringModel = BpRtMeasuringModel.fromJson(mapData);
notifyListeners();
}
- BpRtResultModel bpRtResultModel;
+ BpRtResultModel? bpRtResultModel;
void updateBpRtResultModel(Map mapData) {
bpRtResultModel = BpRtResultModel.fromJson(mapData);
notifyListeners();
}
- String bpCurrentStatus;
+ String? bpCurrentStatus;
updateBpCurrentStatus(var value) {
bpCurrentStatus = value;
@@ -213,7 +213,7 @@ class MyTrackersViewModel extends ChangeNotifier {
filesLoader = value;
}
- ECGRtModel ecgRtModel;
+ ECGRtModel? ecgRtModel;
void updateEcgRtModel(Map mapData) {
ecgRtModel = ECGRtModel.fromJson(mapData);
@@ -242,21 +242,21 @@ class MyTrackersViewModel extends ChangeNotifier {
notifyListeners();
}
- String ecgCurrentStatus;
+ String? ecgCurrentStatus;
updateEcgCurrentStatus(var value) {
ecgCurrentStatus = value;
notifyListeners();
}
- ECGRtMeasuringModelFromBP ecgRtMeasuringModelFromBP;
+ ECGRtMeasuringModelFromBP? ecgRtMeasuringModelFromBP;
void updateEcgRtMeasuringModelFromBP(Map mapData) {
ecgRtMeasuringModelFromBP = ECGRtMeasuringModelFromBP.fromJson(mapData);
notifyListeners();
}
- ECGRtResultModelFromBP ecgRtResultModelFromBP;
+ ECGRtResultModelFromBP? ecgRtResultModelFromBP;
void updateEcgRtResultModelFromBP(Map mapData) {
ecgRtResultModelFromBP = ECGRtResultModelFromBP.fromJson(mapData);
@@ -282,11 +282,11 @@ class MyTrackersViewModel extends ChangeNotifier {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text(ecgFileDetailModel.fileName),
+ Text(ecgFileDetailModel.fileName!),
mHeight(6.0),
Text("Duration: ${ecgFileDetailModel.duration} seconds"),
mHeight(6.0),
- Text("Date: ${DateUtil.getDayMonthYearHourMinuteDateFormatted(DateTime.fromMillisecondsSinceEpoch((ecgFileDetailModel.startTime * 1000)))}"),
+ Text("Date: ${DateUtil.getDayMonthYearHourMinuteDateFormatted(DateTime.fromMillisecondsSinceEpoch((ecgFileDetailModel.startTime! * 1000)))}"),
],
),
),
@@ -303,12 +303,12 @@ class MyTrackersViewModel extends ChangeNotifier {
if (devicesInfoJsonViatom.containsKey(currentSelectedTrackerType.name)) {
allDevices.forEach(
(foundDevice) {
- List devicesInSelectedType = devicesInfoJsonViatom[currentSelectedTrackerType.name];
- for (var device in devicesInSelectedType) {
+ List