diff --git a/android/app/libs/PenNavUI.aar b/android/app/libs/PenNavUI.aar index d423bc11..7832df8c 100644 Binary files a/android/app/libs/PenNavUI.aar and b/android/app/libs/PenNavUI.aar differ diff --git a/android/app/libs/Penguin.aar b/android/app/libs/Penguin.aar index 5c789c6f..a769c7a2 100644 Binary files a/android/app/libs/Penguin.aar and b/android/app/libs/Penguin.aar differ diff --git a/android/app/libs/PenguinRenderer.aar b/android/app/libs/PenguinRenderer.aar index b657ac66..2926e9ad 100644 Binary files a/android/app/libs/PenguinRenderer.aar and b/android/app/libs/PenguinRenderer.aar differ diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6b99a743..5ff693ef 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -18,12 +18,12 @@ 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 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 */; }; - 7651B82F2D3E9CA40066B33A /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82C2D3E9CA40066B33A /* PenguinINRenderer.xcframework */; }; - 7651B8302D3E9CA40066B33A /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82C2D3E9CA40066B33A /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 7651B8312D3E9CA40066B33A /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82D2D3E9CA40066B33A /* Penguin.xcframework */; }; - 7651B8322D3E9CA40066B33A /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82D2D3E9CA40066B33A /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 7651B8332D3E9CA40066B33A /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82E2D3E9CA40066B33A /* PenNavUI.xcframework */; }; - 7651B8342D3E9CA40066B33A /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7651B82E2D3E9CA40066B33A /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 765ABBE22F0FAA5400956893 /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDC2F0FAA5100956893 /* Penguin.xcframework */; }; + 765ABBE32F0FAA5400956893 /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDC2F0FAA5100956893 /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 765ABBE52F0FAA5600956893 /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDD2F0FAA5100956893 /* PenguinINRenderer.xcframework */; }; + 765ABBE62F0FAA5600956893 /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDD2F0FAA5100956893 /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 765ABBE72F0FAA5700956893 /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDE2F0FAA5100956893 /* PenNavUI.xcframework */; }; + 765ABBE82F0FAA5700956893 /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765ABBDE2F0FAA5100956893 /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; }; 76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; }; 76D71B672C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */; }; @@ -55,15 +55,15 @@ /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 7651B8352D3E9CA50066B33A /* Embed Frameworks */ = { + 765ABBE42F0FAA5400956893 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; + buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 7651B8322D3E9CA40066B33A /* Penguin.xcframework in Embed Frameworks */, - 7651B8302D3E9CA40066B33A /* PenguinINRenderer.xcframework in Embed Frameworks */, - 7651B8342D3E9CA40066B33A /* PenNavUI.xcframework in Embed Frameworks */, + 765ABBE62F0FAA5600956893 /* PenguinINRenderer.xcframework in Embed Frameworks */, + 765ABBE32F0FAA5400956893 /* Penguin.xcframework in Embed Frameworks */, + 765ABBE82F0FAA5700956893 /* PenNavUI.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -88,9 +88,9 @@ 7643E4042BE0D0B400BD2F25 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main_Custom.strings; sourceTree = ""; }; 7643E4052BE0D0B400BD2F25 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Main.strings; sourceTree = ""; }; 7643E4062BE0D0B400BD2F25 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/LaunchScreen.strings; sourceTree = ""; }; - 7651B82C2D3E9CA40066B33A /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenguinINRenderer.xcframework; path = Frameworks/PenguinINRenderer.xcframework; sourceTree = ""; }; - 7651B82D2D3E9CA40066B33A /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Penguin.xcframework; path = Frameworks/Penguin.xcframework; sourceTree = ""; }; - 7651B82E2D3E9CA40066B33A /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenNavUI.xcframework; path = Frameworks/PenNavUI.xcframework; sourceTree = ""; }; + 765ABBDC2F0FAA5100956893 /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Penguin.xcframework; sourceTree = ""; }; + 765ABBDD2F0FAA5100956893 /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenguinINRenderer.xcframework; sourceTree = ""; }; + 765ABBDE2F0FAA5100956893 /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenNavUI.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 = ""; }; 76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMGPenguinInPlatformBridge.swift; sourceTree = ""; }; @@ -134,13 +134,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7651B8312D3E9CA40066B33A /* Penguin.xcframework in Frameworks */, 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */, 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */, E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */, - 7651B8332D3E9CA40066B33A /* PenNavUI.xcframework in Frameworks */, - 7651B82F2D3E9CA40066B33A /* PenguinINRenderer.xcframework in Frameworks */, 3DB328A4BC3A43F45E064B43 /* Pods_Runner.framework in Frameworks */, + 765ABBE72F0FAA5700956893 /* PenNavUI.xcframework in Frameworks */, + 765ABBE22F0FAA5400956893 /* Penguin.xcframework in Frameworks */, + 765ABBE52F0FAA5600956893 /* PenguinINRenderer.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -160,9 +160,9 @@ 555EAAA626EFB641859EF0BE /* Frameworks */ = { isa = PBXGroup; children = ( - 7651B82D2D3E9CA40066B33A /* Penguin.xcframework */, - 7651B82C2D3E9CA40066B33A /* PenguinINRenderer.xcframework */, - 7651B82E2D3E9CA40066B33A /* PenNavUI.xcframework */, + 765ABBDC2F0FAA5100956893 /* Penguin.xcframework */, + 765ABBDD2F0FAA5100956893 /* PenguinINRenderer.xcframework */, + 765ABBDE2F0FAA5100956893 /* PenNavUI.xcframework */, 76F2556027F1FFED0062C1CD /* PassKit.framework */, 76815B26275F381C00E66E94 /* HealthKit.framework */, E9620804255C2ED100D3A35D /* NetworkExtension.framework */, @@ -298,9 +298,9 @@ 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, - 7651B8352D3E9CA50066B33A /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 765ABBE42F0FAA5400956893 /* Embed Frameworks */, F3C6EFB26D98B53D80BE1D19 /* [CP] Embed Pods Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 5193A841765CF1882FA9CCE8 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -583,7 +583,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 3A359E86ZF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -592,6 +592,7 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; + INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -601,7 +602,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.017; + MARKETING_VERSION = 4.6.021; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -735,7 +736,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 3A359E86ZF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -744,6 +745,7 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; + INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -753,7 +755,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.017; + MARKETING_VERSION = 4.6.021; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -779,7 +781,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 3A359E86ZF; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -788,6 +790,7 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; + INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -797,7 +800,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.017; + MARKETING_VERSION = 4.6.021; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index a67c0647..268f9d3f 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -120,7 +120,7 @@ UIApplicationSupportsIndirectInputEvents - MBXAccessToken - pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ + MBXAccessToken + pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ diff --git a/ios/Runner/Penguin/PenguinModel.swift b/ios/Runner/Penguin/PenguinModel.swift index e41979d6..dc079c86 100644 --- a/ios/Runner/Penguin/PenguinModel.swift +++ b/ios/Runner/Penguin/PenguinModel.swift @@ -26,7 +26,8 @@ struct PenguinModel { let languageCode: String let clinicID: String let patientID: String - let projectID: String +// let projectID: String + let projectID: Int // Initialize the model from a dictionary init?(from dictionary: [String: Any]) { @@ -48,7 +49,7 @@ struct PenguinModel { let languageCode = dictionary["languageCode"] as? String, let clinicID = dictionary["clinicID"] as? String, let patientID = dictionary["patientID"] as? String, - let projectID = dictionary["projectID"] as? String + let projectID = dictionary["projectID"] as? Int else { print("Initialization failed due to missing or invalid keys.") return nil diff --git a/ios/Runner/Penguin/PenguinNavigator.swift b/ios/Runner/Penguin/PenguinNavigator.swift index e7ce55b4..ae412221 100644 --- a/ios/Runner/Penguin/PenguinNavigator.swift +++ b/ios/Runner/Penguin/PenguinNavigator.swift @@ -14,7 +14,7 @@ class PenguinNavigator { } func navigateToPOI( referenceId:String,completion: @escaping (Bool, String?) -> Void) { - PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey) { [weak self] token, error in + PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey, showProgress: false) { [weak self] token, error in if let error = error { let errorMessage = "Token error while getting the for Navigate to method" diff --git a/ios/Runner/Penguin/PenguinView.swift b/ios/Runner/Penguin/PenguinView.swift index b5161eb0..62152c65 100644 --- a/ios/Runner/Penguin/PenguinView.swift +++ b/ios/Runner/Penguin/PenguinView.swift @@ -16,6 +16,7 @@ import Foundation import UIKit import Flutter import PenNavUI +import PenguinINRenderer import Foundation import Flutter @@ -34,6 +35,7 @@ import UIKit class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitializationDelegate { + // The main view displayed within the platform view private var _view: UIView @@ -157,6 +159,8 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia PenNavUIManager.shared.initializationDelegate = self // Configure the Penguin SDK with necessary parameters + + PIRendererSettings.styleUri = "mapbox://styles/rwaid/cm3h30b36007v01qz7ik8a0sk" PenNavUIManager.shared @@ -180,7 +184,9 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia .setLanguage(args.languageCode) - .setBackButtonVisibility(true) + .setBackButtonVisibility(visible: true) + + .setCampusID(args.projectID) .build() @@ -269,6 +275,127 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia * Called when the Penguin UI setup is successful. */ + + func onPenNavInitializationSuccess() { + print("====== onPenNavSuccess =========") + + onSuccess?() + + methodChannel.invokeMethod("onPenNavSuccess", arguments: nil) + + // Obtain the FlutterViewController instance + + let controller: FlutterViewController = UIApplication.shared.windows.first?.rootViewController as! FlutterViewController + + + + print("====== after controller onPenNavSuccess =========") + + + + // Set the events delegate to handle SDK events + + PenNavUIManager.shared.eventsDelegate = self + + + + print("====== after eventsDelegate onPenNavSuccess =========") + + + + // Present the Penguin UI on top of the Flutter view controller + + PenNavUIManager.shared.present(root: controller, view: _view) + + + + + + print("====== after present onPenNavSuccess =========") + + print(model?.clinicID) + + print("====== after present onPenNavSuccess =========") + + + + guard let config = self.model else { + + print("Error: Config Model is nil") + + return + + } + + + + guard let clinicID = self.model?.clinicID, + + let clientID = self.model?.clientID, !clientID.isEmpty else { + + print("Error: Config Client ID is nil or empty") + + return + + } + + + + let navigator = PenguinNavigator(config: config) + + + + PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey, showProgress: false) { [weak self] token, error in + + if let error = error { + + let errorMessage = "Token error while getting the for Navigate to method" + + print("Failed to get token: \(errorMessage)") + + return + + } + + + + guard let token = token else { + + print("Token is nil") + + return + + } + + print("Token Generated") + + print(token); + + + + self?.handleNavigation(clinicID: clinicID, token: token) { success, errorMessage in + + if success { + + print("Navigation successful") + + } else { + + print("Navigation failed: \(errorMessage ?? "Unknown error")") + + } + + + + } + + + + print("====== after Token onPenNavSuccess =========") + + } + + } func onPenNavSuccess() { @@ -340,7 +467,7 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia - PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey) { [weak self] token, error in + PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey, showProgress: false) { [weak self] token, error in if let error = error { diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart index 24c15182..1ce1a29a 100644 --- a/lib/core/service/client/base_app_client.dart +++ b/lib/core/service/client/base_app_client.dart @@ -1,7 +1,9 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:developer'; import 'dart:io' show Platform; +import 'package:flutter/foundation.dart'; import 'package:hmg_patient_app/analytics/google-analytics.dart'; import 'package:hmg_patient_app/config/config.dart'; import 'package:hmg_patient_app/config/shared_pref_kay.dart'; @@ -202,9 +204,11 @@ class BaseAppClient { // } // if (AppGlobal.isNetworkDebugEnabled) { - debugPrint("URL : $url"); - final jsonBody = json.encode(body); - debugPrint(jsonBody); + if(!kReleaseMode) { + log("URL : $url"); + final jsonBody = json.encode(body); + log(jsonBody); + } // } if (await Utils.checkConnection(bypassConnectionCheck: bypassConnectionCheck)) { diff --git a/lib/pages/landing/widgets/services_view.dart b/lib/pages/landing/widgets/services_view.dart index c18a6b43..3524aaee 100644 --- a/lib/pages/landing/widgets/services_view.dart +++ b/lib/pages/landing/widgets/services_view.dart @@ -208,6 +208,10 @@ class ServicesView extends StatelessWidget { initPenguinSDK(int projectID) async { final bool permited = await AppPermission.askPenguinPermissions(); + NavigationClinicDetails data = NavigationClinicDetails(); + // data.clinicId = "49"; + data.patientId = projectViewModel.authenticatedUserObject.user.patientID.toString(); + data.projectId = projectID.toString(); if (!permited) { Map statuses = await [ Permission.location, @@ -216,7 +220,7 @@ class ServicesView extends StatelessWidget { Permission.bluetoothScan, Permission.activityRecognition, ].request().whenComplete(() { - PenguinMethodChannel().launch("penguin", projectViewModel.isArabic ? "ar" : "en", projectViewModel.authenticatedUserObject.user.patientID.toString()); + PenguinMethodChannel().launch("penguin", projectViewModel.isArabic ? "ar" : "en", projectViewModel.authenticatedUserObject.user.patientID.toString(), details: data); }); } } diff --git a/lib/uitl/penguin_method_channel.dart b/lib/uitl/penguin_method_channel.dart index 50a642a7..d0b30fac 100644 --- a/lib/uitl/penguin_method_channel.dart +++ b/lib/uitl/penguin_method_channel.dart @@ -12,13 +12,13 @@ class PenguinMethodChannel { try { await _channel.invokeMethod('launchPenguin', { "storyboardName": storyboardName, - "baseURL": "https://prod.hmg.nav.penguinin.com", - // "dataURL": "https://hmg.nav.penguinin.com", - // "positionURL": "https://hmg.nav.penguinin.com", - // "dataURL": "https://hmg-v33.local.penguinin.com", - // "positionURL": "https://hmg-v33.local.penguinin.com", - "dataURL": "https://prod.hmg.nav.penguinin.com", - "positionURL": "https://prod.hmg.nav.penguinin.com", + // "baseURL": "https://prod.hmg.nav.penguinin.com", + // "dataURL": "https://prod.hmg.nav.penguinin.com", + // "positionURL": "https://prod.hmg.nav.penguinin.com", + + "baseURL": "https://penguinuat.hmg.com", + "dataURL": "https://penguinuat.hmg.com", + "positionURL": "https://penguinuat.hmg.com", "dataServiceName": "api", "positionServiceName": "pe", "clientID": "HMG", @@ -30,11 +30,11 @@ class PenguinMethodChannel { "isEnableReportIssue": true, "languageCode": languageCode, "clientKey": "UGVuZ3VpbklOX1Blbk5hdl9QSUY=", - "mapBoxKey": "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg", + "mapBoxKey": "pk.eyJ1IjoicndhaWQiLCJhIjoiY2x5cGo4aHNjMGNsbTJyc2djempobGQxaSJ9.RCaC6WrUt4A4YnZNfxnONQ", "clinicID": details?.clinicId ?? "", // "clinicID": "108", // 46 ,49, 133 "patientID": details?.patientId ?? "", - "projectID": details?.projectId ?? "", + "projectID": int.parse(details?.projectId ?? "-1"), "loaderImage": image, }); } on PlatformException catch (e) { diff --git a/lib/uitl/utils.dart b/lib/uitl/utils.dart index 71d9a3c2..bb8d2556 100644 --- a/lib/uitl/utils.dart +++ b/lib/uitl/utils.dart @@ -71,7 +71,7 @@ class Utils { { "Desciption": "Sahafa Hospital", "DesciptionN": "مستشفى الصحافة", - "ID": 130, + "ID": 1, // Campus ID "LegalName": "Sahafa Hospital", "LegalNameN": "مستشفى الصحافة", "Name": "Sahafa Hospital", @@ -88,6 +88,26 @@ class Utils { "MainProjectID": 130, "ProjectOutSA": false, "UsingInDoctorApp": false + },{ + "Desciption": "Jeddah Hospital", + "DesciptionN": "مستشفى جدة", + "ID": 3, // Campus ID + "LegalName": "Jeddah Hospital", + "LegalNameN": "مستشفى جدة", + "Name": "Jeddah Hospital", + "NameN": "مستشفى جدة", + "PhoneNumber": "+966115222222", + "SetupID": "013311", + "DistanceInKilometers": 0, + "HasVida3": false, + "IsActive": true, + "IsHmg": true, + "IsVidaPlus": false, + "Latitude": "24.8113774", + "Longitude": "46.6239813", + "MainProjectID": 130, + "ProjectOutSA": false, + "UsingInDoctorApp": false } ];