From 7e49dac7bd1cfa2709e46332415d6bd64094e888 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 8 Jan 2024 09:26:30 +0300 Subject: [PATCH 1/3] Updates --- ios/Runner/AppDelegate.swift | 2 ++ lib/pages/landing/landing_page.dart | 5 +++-- .../my_trackers/viatom_devices/ekg_tracker_ble.dart | 2 +- .../my_trackers/viatom_devices/oxymeter_ble.dart | 4 ++-- lib/viatom_ble/ble_connect.dart | 11 ++++++++--- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 61b6c0af..be0d961d 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -35,12 +35,14 @@ var userNotificationCenterDelegate:UNUserNotificationCenterDelegate? = nil flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) BLEPlatformBridge.initialize(flutterViewController: flutterViewController) + BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) }else if let mainViewController = initialViewController(){ // platform initialization suppose to be in background flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) BLEPlatformBridge.initialize(flutterViewController: flutterViewController) + BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) } } diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index d93c2a0c..7209328e 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -573,8 +573,9 @@ class _LandingPageState extends State with WidgetsBindingObserver { }, onLoginClick: () { // login(); - Navigator.push(context, FadePage(page: BpTrackerBLE())); - // Navigator.push(context, FadePage(page: EKG_BLE())); + // Navigator.push(context, FadePage(page: BpTrackerBLE())); + Navigator.push(context, FadePage(page: EKG_BLE())); + // Navigator.push(context, FadePage(page: Oxymeter_BLE())); }, onMedicalFileClick: () { changeCurrentTab(1); diff --git a/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart b/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart index 5a590543..74ac9365 100644 --- a/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart +++ b/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart @@ -164,7 +164,7 @@ class _EKG_BLEState extends State { parseEKGRealTimeDataObject(event['data']); } }); - await BleChannel.getScanningResult(["oximeter", "ekg"]); + await BleChannel.getScanningResult(["ekg", "DuoEK"]); }, textColor: Colors.white, ), diff --git a/lib/pages/medical/my_trackers/viatom_devices/oxymeter_ble.dart b/lib/pages/medical/my_trackers/viatom_devices/oxymeter_ble.dart index 9277018c..a4792c08 100644 --- a/lib/pages/medical/my_trackers/viatom_devices/oxymeter_ble.dart +++ b/lib/pages/medical/my_trackers/viatom_devices/oxymeter_ble.dart @@ -17,8 +17,8 @@ class _Oxymeter_BLEState extends State { final oxymeterValueNotifier = ValueNotifier("start"); - // String deviceName = "CheckMeO2"; - String deviceName = "POD"; + String deviceName = "CheckMeO2"; + // String deviceName = "POD"; @override void dispose() { diff --git a/lib/viatom_ble/ble_connect.dart b/lib/viatom_ble/ble_connect.dart index ef9c53a0..acddde2b 100644 --- a/lib/viatom_ble/ble_connect.dart +++ b/lib/viatom_ble/ble_connect.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/services.dart'; class BleChannel { @@ -5,12 +7,16 @@ class BleChannel { static const platform_ios_ekg = MethodChannel('BLE-Platform-Bridge-IOS-EKG'); - //BLE-Platform-Bridge static Future getScanningResult(List deviceType) async { try { + String result; print("----------Flutter Init -------"); - final String result = await platform.invokeMethod('scan', deviceType); + if (Platform.isIOS && deviceType[0] == "ekg") { + result = await platform_ios_ekg.invokeMethod('scanEKG', deviceType); + } else { + result = await platform.invokeMethod('scan', deviceType); + } print("----------Flutter Result -------"); print(result); return result; @@ -66,5 +72,4 @@ class BleChannel { return "Error: $e"; } } - } From 83b681981d90cd880de660c51345098bc0dc7b75 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 8 Jan 2024 12:05:54 +0300 Subject: [PATCH 2/3] updates --- ios/Runner.xcodeproj/project.pbxproj | 6 ++++++ ios/Runner/AppDelegate.swift | 4 ++-- ios/Runner/Runner-Bridging-Header.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index e10b2128..9be1c838 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 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 */; }; 765948102B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7659480F2B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift */; }; + 765948132B4BF09900D96E03 /* VTMProductURATUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */; }; 76801ACA2AD7F7DA00126C2D /* CRAP20Lib.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76801AC92AD7F7D900126C2D /* CRAP20Lib.xcframework */; }; 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; }; 76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; }; @@ -62,6 +63,8 @@ 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 = ""; }; 7659480F2B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BLEPlatformBridgeEKG.swift; sourceTree = ""; }; + 765948112B4BF09900D96E03 /* VTMProductURATUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VTMProductURATUtils.h; path = "../../../../../../../../Downloads/VTProductLib-master/VTMProductSDK/VTMProductSDK/VTMProductURATUtils.h"; sourceTree = ""; }; + 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = VTMProductURATUtils.mm; path = "../../../../../../../../Downloads/VTProductLib-master/VTMProductSDK/VTMProductSDK/VTMProductURATUtils.mm"; sourceTree = ""; }; 76801AC92AD7F7D900126C2D /* CRAP20Lib.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = CRAP20Lib.xcframework; path = Runner/BLE_SDKs/CRAP20Lib.xcframework; sourceTree = ""; }; 76815B26275F381C00E66E94 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; }; 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; @@ -162,6 +165,8 @@ 76F3B95C2ACEBE2800D7A698 /* Utils */ = { isa = PBXGroup; children = ( + 765948112B4BF09900D96E03 /* VTMProductURATUtils.h */, + 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */, 76F3B9602ACEBE8E00D7A698 /* VTBLEUtils.h */, 76F3B95F2ACEBE8D00D7A698 /* VTBLEUtils.m */, 76F3B95D2ACEBE8D00D7A698 /* VTDevice.h */, @@ -439,6 +444,7 @@ E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */, E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */, E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */, + 765948132B4BF09900D96E03 /* VTMProductURATUtils.mm in Sources */, E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */, E923EFD4258645C100E3E751 /* HMG_Geofence.swift in Sources */, E923EFD62587443800E3E751 /* HMGPlatformBridge.swift in Sources */, diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index be0d961d..eec17877 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -34,14 +34,14 @@ var userNotificationCenterDelegate:UNUserNotificationCenterDelegate? = nil if let mainViewController = window.rootViewController as? MainFlutterVC{ // platform initialization suppose to be in foreground flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) - BLEPlatformBridge.initialize(flutterViewController: flutterViewController) +// BLEPlatformBridge.initialize(flutterViewController: flutterViewController) BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) }else if let mainViewController = initialViewController(){ // platform initialization suppose to be in background flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) - BLEPlatformBridge.initialize(flutterViewController: flutterViewController) +// BLEPlatformBridge.initialize(flutterViewController: flutterViewController) BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) } diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h index ebd7fcdd..3e5d81a1 100644 --- a/ios/Runner/Runner-Bridging-Header.h +++ b/ios/Runner/Runner-Bridging-Header.h @@ -1,4 +1,5 @@ #import "GeneratedPluginRegistrant.h" #import "VTBLEUtils.h" #import "VTDevice.h" +#import "VTMProductURATUtils.h" #import From 6aea29e06a4cf09233b595e91d899fe9934a7fce Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 8 Jan 2024 17:33:47 +0300 Subject: [PATCH 3/3] ECG iOS Updates --- ios/Runner.xcodeproj/project.pbxproj | 6 ------ ios/Runner/AppDelegate.swift | 8 ++++---- ios/Runner/Runner-Bridging-Header.h | 1 - .../my_trackers/viatom_devices/ekg_tracker_ble.dart | 6 ++++++ lib/viatom_ble/ble_connect.dart | 10 +++++----- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 9be1c838..e10b2128 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -18,7 +18,6 @@ 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 */; }; 765948102B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7659480F2B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift */; }; - 765948132B4BF09900D96E03 /* VTMProductURATUtils.mm in Sources */ = {isa = PBXBuildFile; fileRef = 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */; }; 76801ACA2AD7F7DA00126C2D /* CRAP20Lib.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76801AC92AD7F7D900126C2D /* CRAP20Lib.xcframework */; }; 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; }; 76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; }; @@ -63,8 +62,6 @@ 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 = ""; }; 7659480F2B4ADE3200D96E03 /* BLEPlatformBridgeEKG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BLEPlatformBridgeEKG.swift; sourceTree = ""; }; - 765948112B4BF09900D96E03 /* VTMProductURATUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VTMProductURATUtils.h; path = "../../../../../../../../Downloads/VTProductLib-master/VTMProductSDK/VTMProductSDK/VTMProductURATUtils.h"; sourceTree = ""; }; - 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = VTMProductURATUtils.mm; path = "../../../../../../../../Downloads/VTProductLib-master/VTMProductSDK/VTMProductSDK/VTMProductURATUtils.mm"; sourceTree = ""; }; 76801AC92AD7F7D900126C2D /* CRAP20Lib.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = CRAP20Lib.xcframework; path = Runner/BLE_SDKs/CRAP20Lib.xcframework; sourceTree = ""; }; 76815B26275F381C00E66E94 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; }; 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; @@ -165,8 +162,6 @@ 76F3B95C2ACEBE2800D7A698 /* Utils */ = { isa = PBXGroup; children = ( - 765948112B4BF09900D96E03 /* VTMProductURATUtils.h */, - 765948122B4BF09900D96E03 /* VTMProductURATUtils.mm */, 76F3B9602ACEBE8E00D7A698 /* VTBLEUtils.h */, 76F3B95F2ACEBE8D00D7A698 /* VTBLEUtils.m */, 76F3B95D2ACEBE8D00D7A698 /* VTDevice.h */, @@ -444,7 +439,6 @@ E923EFD225863FDF00E3E751 /* GeoZoneModel.swift in Sources */, E91B539A256AAA6500E96549 /* MainFlutterVC.swift in Sources */, E91B539C256AAA6500E96549 /* HMG_GUEST_bkp.swift in Sources */, - 765948132B4BF09900D96E03 /* VTMProductURATUtils.mm in Sources */, E91B5396256AAA6500E96549 /* GlobalHelper.swift in Sources */, E923EFD4258645C100E3E751 /* HMG_Geofence.swift in Sources */, E923EFD62587443800E3E751 /* HMGPlatformBridge.swift in Sources */, diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index eec17877..6fe4859d 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -34,15 +34,15 @@ var userNotificationCenterDelegate:UNUserNotificationCenterDelegate? = nil if let mainViewController = window.rootViewController as? MainFlutterVC{ // platform initialization suppose to be in foreground flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) -// BLEPlatformBridge.initialize(flutterViewController: flutterViewController) - BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG + BLEPlatformBridge.initialize(flutterViewController: flutterViewController) +// BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) }else if let mainViewController = initialViewController(){ // platform initialization suppose to be in background flutterViewController = mainViewController HMGPlatformBridge.initialize(flutterViewController: flutterViewController) -// BLEPlatformBridge.initialize(flutterViewController: flutterViewController) - BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG + BLEPlatformBridge.initialize(flutterViewController: flutterViewController) +// BLEPlatformBridgeEKG.initialize(flutterViewController: flutterViewController) // platform initialization for EKG OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok")) } } diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h index 3e5d81a1..ebd7fcdd 100644 --- a/ios/Runner/Runner-Bridging-Header.h +++ b/ios/Runner/Runner-Bridging-Header.h @@ -1,5 +1,4 @@ #import "GeneratedPluginRegistrant.h" #import "VTBLEUtils.h" #import "VTDevice.h" -#import "VTMProductURATUtils.h" #import diff --git a/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart b/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart index 74ac9365..872ebdbd 100644 --- a/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart +++ b/lib/pages/medical/my_trackers/viatom_devices/ekg_tracker_ble.dart @@ -26,6 +26,9 @@ class EKG_BLE extends StatefulWidget { class _EKG_BLEState extends State { EventChannel eventChannel = EventChannel('BLE-Platform-Bridge-Event'); + + // EventChannel eventChannelIOSEKG = EventChannel('BLE-Platform-Bridge-IOS-EKG'); + String receivedData = ''; final ekgValueNotifier = ValueNotifier("start"); @@ -164,6 +167,9 @@ class _EKG_BLEState extends State { parseEKGRealTimeDataObject(event['data']); } }); + // eventChannelIOSEKG.receiveBroadcastStream().listen((event) { + // print('Received eventChannelIOSEKG event---: $event'); + // }); await BleChannel.getScanningResult(["ekg", "DuoEK"]); }, textColor: Colors.white, diff --git a/lib/viatom_ble/ble_connect.dart b/lib/viatom_ble/ble_connect.dart index acddde2b..97f51808 100644 --- a/lib/viatom_ble/ble_connect.dart +++ b/lib/viatom_ble/ble_connect.dart @@ -5,18 +5,18 @@ import 'package:flutter/services.dart'; class BleChannel { static const platform = MethodChannel('BLE-Platform-Bridge'); - static const platform_ios_ekg = MethodChannel('BLE-Platform-Bridge-IOS-EKG'); + // static const platform_ios_ekg = MethodChannel('BLE-Platform-Bridge-IOS-EKG'); //BLE-Platform-Bridge static Future getScanningResult(List deviceType) async { try { String result; print("----------Flutter Init -------"); - if (Platform.isIOS && deviceType[0] == "ekg") { - result = await platform_ios_ekg.invokeMethod('scanEKG', deviceType); - } else { + // if (Platform.isIOS && deviceType[0] == "ekg") { + // result = await platform_ios_ekg.invokeMethod('scanEKG', deviceType); + // } else { result = await platform.invokeMethod('scan', deviceType); - } + // } print("----------Flutter Result -------"); print(result); return result;