From 6fe8c5039f0994611422d158507ce510cbc5c0c8 Mon Sep 17 00:00:00 2001 From: Haroon Amjad <> Date: Tue, 17 Feb 2026 19:04:27 +0300 Subject: [PATCH] test description issue fixed --- ios/Podfile | 4 +- ios/Runner.xcodeproj/project.pbxproj | 115 ++++++++------- .../AppIcon.appiconset/Contents.json | 2 +- ios/Runner/Info.plist | 4 +- ios/Runner/Penguin/PenguinModel.swift | 5 +- ios/Runner/Penguin/PenguinNavigator.swift | 2 +- ios/Runner/Penguin/PenguinView.swift | 131 +----------------- lib/config/config.dart | 4 +- .../viewModels/medical/labs_view_model.dart | 31 ++++- 9 files changed, 94 insertions(+), 204 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 8706dcdb..f82b82b0 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -30,7 +30,7 @@ flutter_ios_podfile_setup target 'Runner' do use_frameworks! use_modular_headers! - + pod 'OpenTok', '~> 2.22.0' pod 'VTO2Lib' pod 'MapboxMaps', '10.19.0' @@ -54,6 +54,8 @@ post_install do |installer| 'PERMISSION_EVENTS_FULL_ACCESS=1', ## dart: PermissionGroup.reminders 'PERMISSION_REMINDERS=1', + ## dart: PermissionGroup.notifications + 'PERMISSION_NOTIFICATIONS=1', ] build_configuration.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386' build_configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 5ff693ef..d7a782db 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -14,18 +14,18 @@ 306FE6C8271D790C002D6EFC /* OpenTokPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */; }; 306FE6CB271D8B73002D6EFC /* OpenTok.swift in Sources */ = {isa = PBXBuildFile; fileRef = 306FE6CA271D8B73002D6EFC /* OpenTok.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3DB328A4BC3A43F45E064B43 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E19F7CAE4CB09D1D186CB8A0 /* Pods_Runner.framework */; }; + 55AA48E49B1975752B97D5AC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 722389C8A524DEC951FB496C /* Pods_Runner.framework */; }; 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 */; }; - 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 */; }; + 769B40D72F28A3BB00FC6445 /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D12F28A3B800FC6445 /* Penguin.xcframework */; }; + 769B40D82F28A3BB00FC6445 /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D12F28A3B800FC6445 /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 769B40D92F28A3BC00FC6445 /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D22F28A3B800FC6445 /* PenguinINRenderer.xcframework */; }; + 769B40DA2F28A3BC00FC6445 /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D22F28A3B800FC6445 /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 769B40DB2F28A3BD00FC6445 /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D32F28A3B800FC6445 /* PenNavUI.xcframework */; }; + 769B40DC2F28A3BD00FC6445 /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 769B40D32F28A3B800FC6445 /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 76D71B672C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */; }; 76D71B6A2C6B819000DAFB84 /* PenguinModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B692C6B819000DAFB84 /* PenguinModel.swift */; }; 76D71B6C2C6B81B300DAFB84 /* PenguinView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76D71B6B2C6B81B300DAFB84 /* PenguinView.swift */; }; @@ -55,15 +55,15 @@ /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 765ABBE42F0FAA5400956893 /* Embed Frameworks */ = { + 7651B8352D3E9CA50066B33A /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 12; dstPath = ""; dstSubfolderSpec = 10; files = ( - 765ABBE62F0FAA5600956893 /* PenguinINRenderer.xcframework in Embed Frameworks */, - 765ABBE32F0FAA5400956893 /* Penguin.xcframework in Embed Frameworks */, - 765ABBE82F0FAA5700956893 /* PenNavUI.xcframework in Embed Frameworks */, + 769B40DA2F28A3BC00FC6445 /* PenguinINRenderer.xcframework in Embed Frameworks */, + 769B40D82F28A3BB00FC6445 /* Penguin.xcframework in Embed Frameworks */, + 769B40DC2F28A3BD00FC6445 /* PenNavUI.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -74,13 +74,14 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 29631B9D2C96C7F600DF5916 /* PenguinNavigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinNavigator.swift; sourceTree = ""; }; + 2C6B6DB9E23FC83C372DD365 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 301C79AD27200D9F0016307B /* OpenTokRemoteVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokRemoteVideoFactory.swift; sourceTree = ""; }; 301C79AF27200DED0016307B /* OpenTokLocalVideoFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokLocalVideoFactory.swift; sourceTree = ""; }; 306FE6C7271D790C002D6EFC /* OpenTokPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokPlatformBridge.swift; sourceTree = ""; }; 306FE6CA271D8B73002D6EFC /* OpenTok.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTok.swift; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 54B166B4DC892AC4907E4EC3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 7289ADA1C0D9050B5D84D72D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6CD649749BB2F47B452A6202 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 722389C8A524DEC951FB496C /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 762D738C274E42650063CE73 /* ring_30Sec.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = ring_30Sec.caf; path = ../../assets/sounds/ring_30Sec.caf; sourceTree = ""; }; @@ -88,11 +89,11 @@ 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 = ""; }; - 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 = ""; }; + 769B40D12F28A3B800FC6445 /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Penguin.xcframework; sourceTree = ""; }; + 769B40D22F28A3B800FC6445 /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenguinINRenderer.xcframework; sourceTree = ""; }; + 769B40D32F28A3B800FC6445 /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenNavUI.xcframework; sourceTree = ""; }; 76D71B662C6B7F9C00DAFB84 /* HMGPenguinInPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMGPenguinInPlatformBridge.swift; sourceTree = ""; }; 76D71B692C6B819000DAFB84 /* PenguinModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinModel.swift; sourceTree = ""; }; 76D71B6B2C6B81B300DAFB84 /* PenguinView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinView.swift; sourceTree = ""; }; @@ -100,6 +101,7 @@ 76D71B6F2C6B81EA00DAFB84 /* PenguinViewFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinViewFactory.swift; sourceTree = ""; }; 76F2556027F1FFED0062C1CD /* PassKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PassKit.framework; path = System/Library/Frameworks/PassKit.framework; sourceTree = SDKROOT; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 95022A170D86E777A3E61383 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -107,8 +109,6 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B3049EEB8BADB14F6A5B7CB0 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - E19F7CAE4CB09D1D186CB8A0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E91B538D256AAA6500E96549 /* GlobalHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlobalHelper.swift; sourceTree = ""; }; E91B538E256AAA6500E96549 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; E91B538F256AAA6500E96549 /* API.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = API.swift; sourceTree = ""; }; @@ -137,10 +137,10 @@ 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */, 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */, E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */, - 3DB328A4BC3A43F45E064B43 /* Pods_Runner.framework in Frameworks */, - 765ABBE72F0FAA5700956893 /* PenNavUI.xcframework in Frameworks */, - 765ABBE22F0FAA5400956893 /* Penguin.xcframework in Frameworks */, - 765ABBE52F0FAA5600956893 /* PenguinINRenderer.xcframework in Frameworks */, + 769B40DB2F28A3BD00FC6445 /* PenNavUI.xcframework in Frameworks */, + 769B40D72F28A3BB00FC6445 /* Penguin.xcframework in Frameworks */, + 769B40D92F28A3BC00FC6445 /* PenguinINRenderer.xcframework in Frameworks */, + 55AA48E49B1975752B97D5AC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -160,13 +160,13 @@ 555EAAA626EFB641859EF0BE /* Frameworks */ = { isa = PBXGroup; children = ( - 765ABBDC2F0FAA5100956893 /* Penguin.xcframework */, - 765ABBDD2F0FAA5100956893 /* PenguinINRenderer.xcframework */, - 765ABBDE2F0FAA5100956893 /* PenNavUI.xcframework */, + 769B40D12F28A3B800FC6445 /* Penguin.xcframework */, + 769B40D22F28A3B800FC6445 /* PenguinINRenderer.xcframework */, + 769B40D32F28A3B800FC6445 /* PenNavUI.xcframework */, 76F2556027F1FFED0062C1CD /* PassKit.framework */, 76815B26275F381C00E66E94 /* HealthKit.framework */, E9620804255C2ED100D3A35D /* NetworkExtension.framework */, - E19F7CAE4CB09D1D186CB8A0 /* Pods_Runner.framework */, + 722389C8A524DEC951FB496C /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -174,9 +174,9 @@ 605039E5DDF72C245F9765FE /* Pods */ = { isa = PBXGroup; children = ( - 7289ADA1C0D9050B5D84D72D /* Pods-Runner.debug.xcconfig */, - B3049EEB8BADB14F6A5B7CB0 /* Pods-Runner.release.xcconfig */, - 54B166B4DC892AC4907E4EC3 /* Pods-Runner.profile.xcconfig */, + 2C6B6DB9E23FC83C372DD365 /* Pods-Runner.debug.xcconfig */, + 6CD649749BB2F47B452A6202 /* Pods-Runner.release.xcconfig */, + 95022A170D86E777A3E61383 /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -293,15 +293,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 60AC8DEBE8BAE4B2EDC244F6 /* [CP] Check Pods Manifest.lock */, + 45F878899E79CC5E1FB4EC58 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, - 765ABBE42F0FAA5400956893 /* Embed Frameworks */, - F3C6EFB26D98B53D80BE1D19 /* [CP] Embed Pods Frameworks */, + 7651B8352D3E9CA50066B33A /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 5193A841765CF1882FA9CCE8 /* [CP] Copy Pods Resources */, + BB3C9FF59088A86CD7C1B673 /* [CP] Embed Pods Frameworks */, + E9BC15C0E47D70948E8DA8FE /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -384,24 +384,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; }; - 5193A841765CF1882FA9CCE8 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 60AC8DEBE8BAE4B2EDC244F6 /* [CP] Check Pods Manifest.lock */ = { + 45F878899E79CC5E1FB4EC58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -438,7 +421,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; }; - F3C6EFB26D98B53D80BE1D19 /* [CP] Embed Pods Frameworks */ = { + BB3C9FF59088A86CD7C1B673 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -455,6 +438,23 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + E9BC15C0E47D70948E8DA8FE /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -592,7 +592,6 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; - INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -602,7 +601,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.021; + MARKETING_VERSION = 4.6.027; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -745,7 +744,6 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; - INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -755,7 +753,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.021; + MARKETING_VERSION = 4.6.027; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -790,7 +788,6 @@ "$(SRCROOT)/Frameworks", ); INFOPLIST_FILE = Runner/Info.plist; - INSTALL_ROOT = /; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -800,7 +797,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 4.6.021; + MARKETING_VERSION = 4.6.027; PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index 08f3422c..1eb27a20 100644 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -109,7 +109,7 @@ "size" : "83.5x83.5" }, { - "filename" : "icon 1.jpg", + "filename" : "icon.jpg", "idiom" : "ios-marketing", "scale" : "1x", "size" : "1024x1024" diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 268f9d3f..a67c0647 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 dc079c86..e41979d6 100644 --- a/ios/Runner/Penguin/PenguinModel.swift +++ b/ios/Runner/Penguin/PenguinModel.swift @@ -26,8 +26,7 @@ struct PenguinModel { let languageCode: String let clinicID: String let patientID: String -// let projectID: String - let projectID: Int + let projectID: String // Initialize the model from a dictionary init?(from dictionary: [String: Any]) { @@ -49,7 +48,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? Int + let projectID = dictionary["projectID"] as? String 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 ae412221..e7ce55b4 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, showProgress: false) { [weak self] token, error in + PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey) { [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 62152c65..b5161eb0 100644 --- a/ios/Runner/Penguin/PenguinView.swift +++ b/ios/Runner/Penguin/PenguinView.swift @@ -16,7 +16,6 @@ import Foundation import UIKit import Flutter import PenNavUI -import PenguinINRenderer import Foundation import Flutter @@ -35,7 +34,6 @@ import UIKit class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitializationDelegate { - // The main view displayed within the platform view private var _view: UIView @@ -159,8 +157,6 @@ 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 @@ -184,9 +180,7 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia .setLanguage(args.languageCode) - .setBackButtonVisibility(visible: true) - - .setCampusID(args.projectID) + .setBackButtonVisibility(true) .build() @@ -275,127 +269,6 @@ 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() { @@ -467,7 +340,7 @@ class PenguinView: NSObject, FlutterPlatformView, PIEventsDelegate, PenNavInitia - PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey, showProgress: false) { [weak self] token, error in + PenNavUIManager.shared.getToken(clientID: config.clientID, clientKey: config.clientKey) { [weak self] token, error in if let error = error { diff --git a/lib/config/config.dart b/lib/config/config.dart index fe8aad21..f40deae0 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -21,8 +21,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 = 'http://10.201.204.103/'; // var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; diff --git a/lib/core/viewModels/medical/labs_view_model.dart b/lib/core/viewModels/medical/labs_view_model.dart index 3bd78682..28742cb6 100644 --- a/lib/core/viewModels/medical/labs_view_model.dart +++ b/lib/core/viewModels/medical/labs_view_model.dart @@ -61,7 +61,7 @@ class LabsViewModel extends BaseViewModel { List patientLabOrdersHospital = _patientLabOrdersListHospital .where( (elementClinic) => elementClinic.filterName == element.projectName, - ) + ) .toList(); if (patientLabOrdersHospital.length != 0) { @@ -120,7 +120,13 @@ class LabsViewModel extends BaseViewModel { if (patientLabOrdersClinic.length != 0) { labResultLists[labResultLists.indexOf(patientLabOrdersClinic[0])].patientLabResultList!.add(element); } else { - labResultLists.add(LabResultList(filterName: element.testCode, description: element.packageShortDescription, lab: element)); + // labResultLists.add(LabResultList(filterName: element.testCode, description: element.packageShortDescription, lab: element)); + labResultLists.add( + LabResultList( + filterName: element.testCode, + description: ((element.testShortDescription != null && element.testShortDescription!.isNotEmpty) ? element.testShortDescription : element.packageShortDescription), + lab: element), + ); } }); setState(ViewState.Idle); @@ -208,7 +214,13 @@ class LabsViewModel extends BaseViewModel { maxYForThreeDots = double.parse(element.resultValue!); } // threePointGraphValue.add(DataPoint( labelValue: counter,value : _labsService.transformValueInRange(double.parse(element.resultValue!), element.calculatedResultFlag??""), label: "${months[dateTime.month-1]} ${dateTime.year}", date: dateTime)); - threePointGraphValue.add(DataPoint( labelValue: counter,value : double.parse(element.resultValue!), actualValue: element.resultValue!,label: formatDateAsMMYY(dateTime), date: dateTime, referenceRangeValue:element.calculatedResultFlag ??"IRR")); + threePointGraphValue.add(DataPoint( + labelValue: counter, + value: double.parse(element.resultValue!), + actualValue: element.resultValue!, + label: formatDateAsMMYY(dateTime), + date: dateTime, + referenceRangeValue: element.calculatedResultFlag ?? "IRR")); counter++; } catch (e) {} }); @@ -226,15 +238,21 @@ class LabsViewModel extends BaseViewModel { completeeGraphValues.clear(); setState(ViewState.Busy); double counter = 1; - threshold = _labsService.getThresholdValue(); + threshold = _labsService.getThresholdValue(); _labsService.labOrdersResultsList.reversed.forEach((element) { try { var dateTime = DateUtil.convertStringToDate(element.verifiedOnDateTime!); - if(double.parse(element.resultValue!)> maxYForCompleteGraph){ + if (double.parse(element.resultValue!) > maxYForCompleteGraph) { maxYForCompleteGraph = double.parse(element.resultValue!); } // completeeGraphValues.add(DataPoint( labelValue: counter,value : _labsService.transformValueInRange(double.parse(element.resultValue!), element.calculatedResultFlag??""), label: "${months[dateTime.month-1]} ${dateTime.year}", date: dateTime)); - completeeGraphValues.add(DataPoint( labelValue: counter,value : double.parse(element.resultValue!), label: formatDateAsMMYY(dateTime), date: dateTime,actualValue: element.resultValue!, referenceRangeValue:element.calculatedResultFlag??"IRR" )); + completeeGraphValues.add(DataPoint( + labelValue: counter, + value: double.parse(element.resultValue!), + label: formatDateAsMMYY(dateTime), + date: dateTime, + actualValue: element.resultValue!, + referenceRangeValue: element.calculatedResultFlag ?? "IRR")); } catch (e) { print("the mapping is having exception $e"); } @@ -251,6 +269,7 @@ class LabsViewModel extends BaseViewModel { String year = date.year.toString().substring(2); return '$month/$year'; } + sendLabReportEmail({PatientLabOrders? patientLabOrder, String? mes, AuthenticatedUser? userObj, required bool isVidaPlus, bool isDownload = false}) async { setState(ViewState.Busy);