From 518785323ed5ccd8fe2485006e1a5570f711b480 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 20 May 2024 15:34:46 +0300 Subject: [PATCH 1/2] Implementing CheckMePro on iOS --- ios/Runner.xcodeproj/project.pbxproj | 8 +++++++ .../my_trackers_view_model.dart | 21 +++++++++++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 14ded17c..88e0e507 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -18,6 +18,8 @@ 7606E6682B68D823004B0F1D /* VTProLib.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7606E6672B68D823004B0F1D /* VTProLib.xcframework */; }; 762D738E274E42650063CE73 /* ring_30Sec.caf in Resources */ = {isa = PBXBuildFile; fileRef = 762D738C274E42650063CE73 /* ring_30Sec.caf */; }; 762D738F274E42650063CE73 /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 762D738D274E42650063CE73 /* ring_30Sec.mp3 */; }; + 7647AD572BFB4D4C006D6FBF /* CheckMeUsersListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */; }; + 7647AD592BFB7904006D6FBF /* CheckMeTemperatureModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */; }; 765948192B4E72A100D96E03 /* TupleToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765948182B4E72A100D96E03 /* TupleToArray.swift */; }; 7659481B2B4E899200D96E03 /* VTECGParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7659481A2B4E899200D96E03 /* VTECGParser.swift */; }; 7659481E2B4EBEB600D96E03 /* VTBLEUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7659481D2B4EBEB600D96E03 /* VTBLEUtils.m */; }; @@ -71,6 +73,8 @@ 7606E6672B68D823004B0F1D /* VTProLib.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VTProLib.xcframework; path = Runner/BLE_SDKs/VTProLib.xcframework; sourceTree = ""; }; 762D738C274E42650063CE73 /* ring_30Sec.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = ring_30Sec.caf; path = ../../assets/sounds/ring_30Sec.caf; sourceTree = ""; }; 762D738D274E42650063CE73 /* ring_30Sec.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = ring_30Sec.mp3; path = ../../assets/sounds/ring_30Sec.mp3; sourceTree = ""; }; + 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMeUsersListModel.swift; sourceTree = ""; }; + 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMeTemperatureModel.swift; sourceTree = ""; }; 765948182B4E72A100D96E03 /* TupleToArray.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TupleToArray.swift; sourceTree = ""; }; 7659481A2B4E899200D96E03 /* VTECGParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VTECGParser.swift; sourceTree = ""; }; 7659481C2B4EBEB600D96E03 /* VTBLEUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VTBLEUtils.h; sourceTree = ""; }; @@ -202,6 +206,8 @@ 765948252B566F2000D96E03 /* BpRtDataResultModel.swift */, 765948272B56783900D96E03 /* BpRtDataMeasuringModel.swift */, 765948292B57FE5D00D96E03 /* BleDeviceModel.swift */, + 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */, + 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */, ); path = Utils; sourceTree = ""; @@ -477,6 +483,8 @@ E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */, E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */, 765948282B56783900D96E03 /* BpRtDataMeasuringModel.swift in Sources */, + 7647AD572BFB4D4C006D6FBF /* CheckMeUsersListModel.swift in Sources */, + 7647AD592BFB7904006D6FBF /* CheckMeTemperatureModel.swift in Sources */, 7659481E2B4EBEB600D96E03 /* VTBLEUtils.m in Sources */, E923EFD4258645C100E3E751 /* HMG_Geofence.swift in Sources */, E923EFD62587443800E3E751 /* HMGPlatformBridge.swift in Sources */, 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 0d7c1375..00e59e40 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 @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:developer'; +import 'dart:io'; import 'package:diplomaticquarterapp/config/size_config.dart'; import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in_one_info_screen.dart'; import 'package:diplomaticquarterapp/pages/medical/my_trackers/ble_models/andesfit_devices/weight_data_model.dart'; @@ -1099,11 +1100,19 @@ class MyTrackersViewModel extends ChangeNotifier { print('Received event---: $event'); print(event['type']); if (event['type'] == kDevicesListCheckMe) { - List list = [json.decode(event['data'])]; - parsesDevicesList(list); + if (Platform.isAndroid) { + List list = [json.decode(event['data'])]; + parsesDevicesList(list); + } else { + parsesDevicesList(json.decode(event['data'])); + } } if (event['type'] == kCheckMeUsersList) { - updateCheckMeUserInfoModel(event['data']); + if (Platform.isIOS) { + updateCheckMeUserInfoModel(json.decode(event['data'])); + } else { + updateCheckMeUserInfoModel(event['data']); + } } if (event['type'] == kTemperatureCheckMePro) { updateCheckMeTemperatureInfoModel(json.decode(event['data'])); @@ -1134,7 +1143,11 @@ class MyTrackersViewModel extends ChangeNotifier { if (checkMeProUsersList != null) { checkMeProUsersList.clear(); } - checkMeProUsersList = List.generate(returnData.length, (index) => CheckMeUserInfoModel.fromJson(jsonDecode(returnData[index]))); + if (Platform.isIOS) { + checkMeProUsersList = List.generate(returnData.length, (index) => CheckMeUserInfoModel.fromJson(returnData[index])); + } else { + checkMeProUsersList = List.generate(returnData.length, (index) => CheckMeUserInfoModel.fromJson(jsonDecode(returnData[index]))); + } notifyListeners(); } From 2922f74e9bbf222b80ce9e5adfb02206895d8021 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Wed, 22 May 2024 11:28:53 +0300 Subject: [PATCH 2/2] updates --- ios/Runner.xcodeproj/project.pbxproj | 4 ++++ .../checkme_all_in_one_info_screen.dart | 14 ++++++++------ .../checkme_oxi_model.dart | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 88e0e507..6bd4a731 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -20,6 +20,7 @@ 762D738F274E42650063CE73 /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 762D738D274E42650063CE73 /* ring_30Sec.mp3 */; }; 7647AD572BFB4D4C006D6FBF /* CheckMeUsersListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */; }; 7647AD592BFB7904006D6FBF /* CheckMeTemperatureModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */; }; + 7647AD5B2BFC92B7006D6FBF /* CheckMeOxymeterModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7647AD5A2BFC92B7006D6FBF /* CheckMeOxymeterModel.swift */; }; 765948192B4E72A100D96E03 /* TupleToArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 765948182B4E72A100D96E03 /* TupleToArray.swift */; }; 7659481B2B4E899200D96E03 /* VTECGParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7659481A2B4E899200D96E03 /* VTECGParser.swift */; }; 7659481E2B4EBEB600D96E03 /* VTBLEUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7659481D2B4EBEB600D96E03 /* VTBLEUtils.m */; }; @@ -75,6 +76,7 @@ 762D738D274E42650063CE73 /* ring_30Sec.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = ring_30Sec.mp3; path = ../../assets/sounds/ring_30Sec.mp3; sourceTree = ""; }; 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMeUsersListModel.swift; sourceTree = ""; }; 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMeTemperatureModel.swift; sourceTree = ""; }; + 7647AD5A2BFC92B7006D6FBF /* CheckMeOxymeterModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckMeOxymeterModel.swift; sourceTree = ""; }; 765948182B4E72A100D96E03 /* TupleToArray.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TupleToArray.swift; sourceTree = ""; }; 7659481A2B4E899200D96E03 /* VTECGParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VTECGParser.swift; sourceTree = ""; }; 7659481C2B4EBEB600D96E03 /* VTBLEUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VTBLEUtils.h; sourceTree = ""; }; @@ -208,6 +210,7 @@ 765948292B57FE5D00D96E03 /* BleDeviceModel.swift */, 7647AD562BFB4D4C006D6FBF /* CheckMeUsersListModel.swift */, 7647AD582BFB7904006D6FBF /* CheckMeTemperatureModel.swift */, + 7647AD5A2BFC92B7006D6FBF /* CheckMeOxymeterModel.swift */, ); path = Utils; sourceTree = ""; @@ -480,6 +483,7 @@ 306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */, E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */, E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */, + 7647AD5B2BFC92B7006D6FBF /* CheckMeOxymeterModel.swift in Sources */, E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */, E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */, 765948282B56783900D96E03 /* BpRtDataMeasuringModel.swift in Sources */, diff --git a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in_one_info_screen.dart b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in_one_info_screen.dart index ffc4b021..80c3ca1e 100644 --- a/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in_one_info_screen.dart +++ b/lib/pages/medical/my_trackers/ble_device_type_screens/checkme_all_in_one_info_screen.dart @@ -285,12 +285,14 @@ class CheckMeAllInOneInfoScreen extends StatelessWidget { isShowDecPage: false, showNewAppBarTitle: true, backgroundColor: Color(0xffF8F8F8), - body: Padding( - padding: const EdgeInsets.all(24.0), - child: Consumer( - builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) { - return getAllInOneOperationWidgets(myTrackersVm, allInOneTrackerTypeEnum, context); - }, + body: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Consumer( + builder: (BuildContext context, MyTrackersViewModel myTrackersVm, Widget child) { + return getAllInOneOperationWidgets(myTrackersVm, allInOneTrackerTypeEnum, context); + }, + ), ), ), ); 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 00a83c82..5167e7ae 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 @@ -2,7 +2,7 @@ class CheckMeOxiModel { String date; int face; int oxy; - int pi; + num pi; int pr; String timeString; int way;