VT CheckMe O2 integrated

dev_3.3_BLE
haroon amjad 2 years ago
parent 55b447926e
commit e59734ce43

@ -15,11 +15,16 @@ var userNotificationCenterDelegate:UNUserNotificationCenterDelegate? = nil
GeneratedPluginRegistrant.register(with: self)
initializePlatformChannels()
if let _ = launchOptions?[.location] {
HMG_Geofence.initGeofencing()
}
// // Prepare channel
// FlutterViewController* controller = (FlutterViewController*)self.window.rootViewController;
// self->channel = [FlutterEventChannel eventChannelWithName:@"events" binaryMessenger:controller];
// [self->channel setStreamHandler:[EventHandler new]];
UNUserNotificationCenter.current().delegate = self
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
@ -29,11 +34,13 @@ 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)
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)
OpenTokPlatformBridge.initialize(flutterViewController: flutterViewController, registrar: self.registrar(forPlugin: "open-tok"))
}
}
@ -57,14 +64,14 @@ extension AppDelegate{
/*
let dart = FlutterDartProject(precompiledDartBundle: .main)
let engine = FlutterEngine(name: "com.hmg.cs", project: dart, allowHeadlessExecution: true)
if engine.run(){
flutterMethodChannel = FlutterMethodChannel(name: "HMG-Platform-Bridge", binaryMessenger: engine.binaryMessenger)
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { (timer) in
FlutterText.with(key: "alreadyConnectedHmgNetwork"){ localized in
print(localized)
}
}
}
let engine = FlutterEngine(name: "com.hmg.cs", project: dart, allowHeadlessExecution: true)
if engine.run(){
flutterMethodChannel = FlutterMethodChannel(name: "HMG-Platform-Bridge", binaryMessenger: engine.binaryMessenger)
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { (timer) in
FlutterText.with(key: "alreadyConnectedHmgNetwork"){ localized in
print(localized)
}
}
}
*/

@ -105,14 +105,14 @@ class MainFlutterVC: FlutterViewController {
// Register Geofence
func registerHmgGeofences(result: @escaping FlutterResult){
flutterMethodChannel?.invokeMethod("getGeofencePreferenceKey", arguments: nil){ geoFencesJsonString in
if let jsonString = geoFencesJsonString as? String{
let allZones = GeoZoneModel.list(from: jsonString)
HMG_Geofence().register(geoZones: allZones)
}else{
}
}
// flutterMethodChannel?.invokeMethod("getGeofencePreferenceKey", arguments: nil){ geoFencesJsonString in
// if let jsonString = geoFencesJsonString as? String{
// let allZones = GeoZoneModel.list(from: jsonString)
// HMG_Geofence().register(geoZones: allZones)
//
// }else{
// }
// }
}
}

@ -6,6 +6,7 @@
//
import UIKit
import Flutter
class FlutterConstants{
static var LOG_GEOFENCE_URL:String?

@ -8,11 +8,13 @@
import UIKit
import NetworkExtension
import SystemConfiguration.CaptiveNetwork
import Flutter
var flutterMethodChannel:FlutterMethodChannel? = nil
fileprivate var mainViewController:MainFlutterVC!
class HMGPlatformBridge{
private let channelName = "HMG-Platform-Bridge"
private static var shared_:HMGPlatformBridge?
@ -60,7 +62,7 @@ class HMGPlatformBridge{
func connectHMGInternetWifi(methodCall:FlutterMethodCall ,result: @escaping FlutterResult){
guard let pateintId = (methodCall.arguments as? [Any])?.first as? String
else { return assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") }
else { return assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") }
HMG_Internet.shared.connect(patientId: pateintId) { (status, message) in
@ -136,5 +138,5 @@ class HMGPlatformBridge{
HMG_Geofence.shared().unRegisterAll()
result(true)
}
}

@ -8,6 +8,7 @@
import UIKit
import NetworkExtension
import SystemConfiguration.CaptiveNetwork
import Flutter
fileprivate var openTok:OpenTok?

@ -1 +1,3 @@
#import "GeneratedPluginRegistrant.h"
#import "VTBLEUtils.h"
#import "VTDevice.h"

@ -20,8 +20,8 @@ var PACKAGES_ORDERS = '/api/orders';
var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/';
var BASE_URL = 'https://uat.hmgwebservices.com/';
// var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://uat.hmgwebservices.com/';
var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:diplomaticquarterapp/viatom_ble/ble_connect.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
@ -26,13 +28,6 @@ class _Oxymeter_BLEState extends State<Oxymeter_BLE> {
void initState() {
// TODO: implement initState
super.initState();
eventChannel.receiveBroadcastStream().listen((event) {
print('Received event---: $event');
oxymeterValueNotifier.value = event;
// O2M response: RtParam{spo2=0, pr=0, steps=0, battery=72, batteryState=0, vector=0, pi=0.0, state=0, countDown=0, invalidIvState=0, spo2IvState=0, hrIvState=0, vectorIvState=0}
// POD-1W response: RtParam{spo2=98, pr=104, pi=5.8, isProbeOff=false, isPulseSearching=false}
});
}
@override
@ -65,25 +60,32 @@ class _Oxymeter_BLEState extends State<Oxymeter_BLE> {
valueListenable: oxymeterValueNotifier,
builder: (context, value, _) {
return value != "start"
? Column(
children: [
Text(
getSPO2(
value.toString().replaceAll("RtParam", ""),
),
),
Text(
getPR(
value.toString().replaceAll("RtParam", ""),
),
),
// Text(
// getPI(
// value.toString().replaceAll("RtParam", ""),
// ),
// ),
],
)
? Platform.isAndroid
? Column(
children: [
Text(
getSPO2(
value.toString().replaceAll("RtParam", ""),
),
),
Text(
getPR(
value.toString().replaceAll("RtParam", ""),
),
),
// Text(
// getPI(
// value.toString().replaceAll("RtParam", ""),
// ),
// ),
],
)
: Column(
children: [
Text(getSPO2iOS(value.toString())),
Text(getPRiOS(value.toString())),
],
)
: Text(value);
},
),
@ -96,6 +98,15 @@ class _Oxymeter_BLEState extends State<Oxymeter_BLE> {
void checkBLEPermissions() async {
[Permission.location, Permission.storage, Permission.bluetooth, Permission.bluetoothConnect, Permission.bluetoothScan].request().then((status) async {
// startBLEConnection();
eventChannel.receiveBroadcastStream().listen((event) {
print('Received event---: $event');
oxymeterValueNotifier.value = event;
// O2M response: RtParam{spo2=0, pr=0, steps=0, battery=72, batteryState=0, vector=0, pi=0.0, state=0, countDown=0, invalidIvState=0, spo2IvState=0, hrIvState=0, vectorIvState=0}
// POD-1W response: RtParam{spo2=98, pr=104, pi=5.8, isProbeOff=false, isPulseSearching=false}
});
await BleChannel.getScanningResult("oximeter");
});
}
@ -112,6 +123,14 @@ class _Oxymeter_BLEState extends State<Oxymeter_BLE> {
return "Perfusion Index: " + value.split(",")[2].replaceAll("pi=", "") + "%";
}
String getSPO2iOS(String value) {
return "SpO2: " + value.split(",")[0];
}
String getPRiOS(String value) {
return "Pulse Rate: " + value.split(",")[1];
}
// List<String> setResult(String value) {
// List<String> values = value.split(",");
//

Loading…
Cancel
Save