diff --git a/App Store Icons/imessenger/icon-messages-app-27x20@1x.png b/App Store Icons/imessenger/icon-messages-app-27x20@1x.png new file mode 100644 index 00000000..77c3e5e3 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-27x20@1x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-27x20@2x.png b/App Store Icons/imessenger/icon-messages-app-27x20@2x.png new file mode 100644 index 00000000..72917502 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-27x20@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-27x20@3x.png b/App Store Icons/imessenger/icon-messages-app-27x20@3x.png new file mode 100644 index 00000000..13d50e52 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-27x20@3x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-iPadAir-67x50@2x.png b/App Store Icons/imessenger/icon-messages-app-iPadAir-67x50@2x.png new file mode 100644 index 00000000..098dcce3 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-iPadAir-67x50@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-iPadAir-74x55@2x.png b/App Store Icons/imessenger/icon-messages-app-iPadAir-74x55@2x.png new file mode 100644 index 00000000..4ceba043 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-iPadAir-74x55@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@1x.png b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@1x.png new file mode 100644 index 00000000..881d603e Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@1x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@2x.png b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@2x.png new file mode 100644 index 00000000..a0816f0b Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@3x.png b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@3x.png new file mode 100644 index 00000000..956b03aa Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-iPhone-60x45@3x.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-store-1024x1024.png b/App Store Icons/imessenger/icon-messages-app-store-1024x1024.png new file mode 100644 index 00000000..23f1a269 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-store-1024x1024.png differ diff --git a/App Store Icons/imessenger/icon-messages-app-store-1024x768.png b/App Store Icons/imessenger/icon-messages-app-store-1024x768.png new file mode 100644 index 00000000..de76cb69 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-app-store-1024x768.png differ diff --git a/App Store Icons/imessenger/icon-messages-settings-29x29@2x.png b/App Store Icons/imessenger/icon-messages-settings-29x29@2x.png new file mode 100644 index 00000000..f1dd6085 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-settings-29x29@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-settings-29x29@3x.png b/App Store Icons/imessenger/icon-messages-settings-29x29@3x.png new file mode 100644 index 00000000..3c9fc024 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-settings-29x29@3x.png differ diff --git a/App Store Icons/imessenger/icon-messages-transcript-32x24@1x.png b/App Store Icons/imessenger/icon-messages-transcript-32x24@1x.png new file mode 100644 index 00000000..b5798a52 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-transcript-32x24@1x.png differ diff --git a/App Store Icons/imessenger/icon-messages-transcript-32x24@2x.png b/App Store Icons/imessenger/icon-messages-transcript-32x24@2x.png new file mode 100644 index 00000000..5ea14792 Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-transcript-32x24@2x.png differ diff --git a/App Store Icons/imessenger/icon-messages-transcript-32x24@3x.png b/App Store Icons/imessenger/icon-messages-transcript-32x24@3x.png new file mode 100644 index 00000000..34dd9c8a Binary files /dev/null and b/App Store Icons/imessenger/icon-messages-transcript-32x24@3x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Contents.json b/App Store Icons/watchkit/AppIcon.appiconset/Contents.json new file mode 100755 index 00000000..9cf8b7bc --- /dev/null +++ b/App Store Icons/watchkit/AppIcon.appiconset/Contents.json @@ -0,0 +1,140 @@ +{ + "images": [ + { + "size": "24x24", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-24@2x.png", + "role": "notificationCenter", + "subtype": "38mm" + }, + { + "size": "27.5x27.5", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-27.5@2x.png", + "role": "notificationCenter", + "subtype": "42mm" + }, + { + "size": "33x33", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-33@2x.png", + "role": "notificationCenter", + "subtype": "45mm" + }, + { + "size": "29x29", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-29@2x.png", + "role": "companionSettings" + }, + { + "size": "29x29", + "idiom": "watch", + "scale": "3x", + "filename": "Icon-29@3x.png", + "role": "companionSettings" + }, + { + "size": "40x40", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-40@2x.png", + "role": "appLauncher", + "subtype": "38mm" + }, + { + "size": "44x44", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-44@2x.png", + "role": "appLauncher", + "subtype": "40mm" + }, + { + "size": "46x46", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-46@2x.png", + "role": "appLauncher", + "subtype": "41mm" + }, + { + "size": "50x50", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-50@2x.png", + "role": "appLauncher", + "subtype": "44mm" + }, + { + "size": "51x51", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-51@2x.png", + "role": "appLauncher", + "subtype": "45mm" + }, + { + "size": "54x54", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-54@2x.png", + "role": "appLauncher", + "subtype": "49mm" + }, + { + "size": "86x86", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-86@2x.png", + "role": "quickLook", + "subtype": "38mm" + }, + { + "size": "98x98", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-98@2x.png", + "role": "quickLook", + "subtype": "42mm" + }, + { + "size": "108x108", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-108@2x.png", + "role": "quickLook", + "subtype": "44mm" + }, + { + "size": "117x117", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-117@2x.png", + "role": "quickLook", + "subtype": "45mm" + }, + { + "size": "129x129", + "idiom": "watch", + "scale": "2x", + "filename": "Icon-129@2x.png", + "role": "quickLook", + "subtype": "49mm" + }, + { + "size": "1024x1024", + "idiom": "watch-marketing", + "filename": "ItunesArtwork@2x.png", + "scale": "1x" + } + ], + "info": { + "version": 1, + "author": "makeappicon" + } +} diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-108@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-108@2x.png new file mode 100644 index 00000000..61a5aea3 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-108@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-117@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-117@2x.png new file mode 100644 index 00000000..68d7a8d2 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-117@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-129@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-129@2x.png new file mode 100644 index 00000000..7aef1b48 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-129@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-24@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-24@2x.png new file mode 100644 index 00000000..16b99780 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-24@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-27.5@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-27.5@2x.png new file mode 100644 index 00000000..b60d2da1 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-27.5@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@2x.png new file mode 100644 index 00000000..f1dd6085 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@3x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@3x.png new file mode 100644 index 00000000..3c9fc024 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-29@3x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-33@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-33@2x.png new file mode 100644 index 00000000..4778aa70 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-33@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-40@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-40@2x.png new file mode 100644 index 00000000..ac72635a Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-40@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-44@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-44@2x.png new file mode 100644 index 00000000..a39b95ca Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-44@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-46@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-46@2x.png new file mode 100644 index 00000000..53c37e7f Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-46@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-50@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-50@2x.png new file mode 100644 index 00000000..c3c85a40 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-50@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-51@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-51@2x.png new file mode 100644 index 00000000..bc9a3628 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-51@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-54@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-54@2x.png new file mode 100644 index 00000000..5c8fb3ec Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-54@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-86@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-86@2x.png new file mode 100644 index 00000000..5852344e Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-86@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/Icon-98@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/Icon-98@2x.png new file mode 100644 index 00000000..82daf6ca Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/Icon-98@2x.png differ diff --git a/App Store Icons/watchkit/AppIcon.appiconset/ItunesArtwork@2x.png b/App Store Icons/watchkit/AppIcon.appiconset/ItunesArtwork@2x.png new file mode 100644 index 00000000..23f1a269 Binary files /dev/null and b/App Store Icons/watchkit/AppIcon.appiconset/ItunesArtwork@2x.png differ diff --git a/Original_kkumc-removebg-preview.png b/Original_kkumc-removebg-preview.png new file mode 100644 index 00000000..f2c0790c Binary files /dev/null and b/Original_kkumc-removebg-preview.png differ diff --git a/Original_kkumc.png b/Original_kkumc.png new file mode 100644 index 00000000..203d4003 Binary files /dev/null and b/Original_kkumc.png differ diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 66a202b8..84ae9182 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -66,7 +66,7 @@ android:allowBackup="false" android:extractNativeLibs="true" tools:replace="android:extractNativeLibs" - android:label="KKUH"> + android:label="KKUMC"> - + - \ No newline at end of file + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml old mode 100644 new mode 100755 index 036d09bc..d372a4fc --- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - + - \ No newline at end of file + diff --git a/assets/images/new/ic_logo.png b/assets/images/new/ic_logo.png index efa2f9e2..f2c0790c 100644 Binary files a/assets/images/new/ic_logo.png and b/assets/images/new/ic_logo.png differ diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 653f958d..fe5b6571 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -17,9 +17,7 @@ 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 */; }; - 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76815B26275F381C00E66E94 /* HealthKit.framework */; }; 76962ECE28AE5C10004EAE09 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 76962ECD28AE5C10004EAE09 /* GoogleService-Info.plist */; }; - 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76F2556027F1FFED0062C1CD /* PassKit.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -110,8 +108,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 76F2556127F1FFED0062C1CD /* PassKit.framework in Frameworks */, - 76815B27275F381C00E66E94 /* HealthKit.framework in Frameworks */, E9620805255C2ED100D3A35D /* NetworkExtension.framework in Frameworks */, 4EE411B2E3CB5D4F81AE5078 /* Pods_Runner.framework in Frameworks */, ); @@ -532,7 +528,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 686M4Y8589; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -550,7 +546,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 0.1; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = sa.edu.kku.kkuMcApp; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -680,7 +676,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 686M4Y8589; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -698,7 +694,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 0.1; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = sa.edu.kku.kkuMcApp; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -719,7 +715,7 @@ CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = 686M4Y8589; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -737,7 +733,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 0.1; + MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = sa.edu.kku.kkuMcApp; 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 old mode 100644 new mode 100755 index 1eb27a20..5c8064e1 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,128 +1,122 @@ { - "images" : [ + "images": [ { - "filename" : "Icon-App-20x20@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" + "idiom": "iphone", + "size": "20x20", + "scale": "2x", + "filename": "Icon-App-20x20@2x.png" }, { - "filename" : "Icon-App-20x20@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" + "idiom": "iphone", + "size": "20x20", + "scale": "3x", + "filename": "Icon-App-20x20@3x.png" }, { - "filename" : "Icon-App-29x29@1x.png", - "idiom" : "iphone", - "scale" : "1x", - "size" : "29x29" + "idiom": "iphone", + "size": "29x29", + "scale": "1x", + "filename": "Icon-App-29x29@1x.png" }, { - "filename" : "Icon-App-29x29@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" + "idiom": "iphone", + "size": "29x29", + "scale": "2x", + "filename": "Icon-App-29x29@2x.png" }, { - "filename" : "Icon-App-29x29@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" + "idiom": "iphone", + "size": "29x29", + "scale": "3x", + "filename": "Icon-App-29x29@3x.png" }, { - "filename" : "Icon-App-40x40@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" + "idiom": "iphone", + "size": "40x40", + "scale": "2x", + "filename": "Icon-App-40x40@2x.png" }, { - "filename" : "Icon-App-40x40@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" + "idiom": "iphone", + "size": "40x40", + "scale": "3x", + "filename": "Icon-App-40x40@3x.png" }, { - "filename" : "Icon-App-60x60@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" + "idiom": "iphone", + "size": "60x60", + "scale": "2x", + "filename": "Icon-App-60x60@2x.png" }, { - "filename" : "Icon-App-60x60@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" + "idiom": "iphone", + "size": "60x60", + "scale": "3x", + "filename": "Icon-App-60x60@3x.png" }, { - "filename" : "Icon-App-20x20@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" + "idiom": "ipad", + "size": "20x20", + "scale": "1x", + "filename": "Icon-App-20x20@1x.png" }, { - "filename" : "Icon-App-20x20@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" + "idiom": "ipad", + "size": "20x20", + "scale": "2x", + "filename": "Icon-App-20x20@2x.png" }, { - "filename" : "Icon-App-29x29@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" + "idiom": "ipad", + "size": "29x29", + "scale": "1x", + "filename": "Icon-App-29x29@1x.png" }, { - "filename" : "Icon-App-29x29@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" + "idiom": "ipad", + "size": "29x29", + "scale": "2x", + "filename": "Icon-App-29x29@2x.png" }, { - "filename" : "Icon-App-40x40@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" + "idiom": "ipad", + "size": "40x40", + "scale": "1x", + "filename": "Icon-App-40x40@1x.png" }, { - "filename" : "Icon-App-40x40@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" + "idiom": "ipad", + "size": "40x40", + "scale": "2x", + "filename": "Icon-App-40x40@2x.png" }, { - "filename" : "Icon-App-76x76@1x.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" + "idiom": "ipad", + "size": "76x76", + "scale": "1x", + "filename": "Icon-App-76x76@1x.png" }, { - "filename" : "Icon-App-76x76@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" + "idiom": "ipad", + "size": "76x76", + "scale": "2x", + "filename": "Icon-App-76x76@2x.png" }, { - "filename" : "Icon-App-83.5x83.5@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" + "idiom": "ipad", + "size": "83.5x83.5", + "scale": "2x", + "filename": "Icon-App-83.5x83.5@2x.png" }, { - "filename" : "icon.jpg", - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - }, - { - "filename" : "Icon-App-76x76@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "76x76" + "size": "1024x1024", + "idiom": "ios-marketing", + "scale": "1x", + "filename": "ItunesArtwork@2x.png" } ], - "info" : { - "author" : "xcode", - "version" : 1 + "info": { + "version": 1, + "author": "makeappicon" } } diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index 41db3345..70592c0f 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index f5a4f976..6ed950dc 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 3f6709cf..0c2ac3ed 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index c71055c3..35d63116 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index bf2ed64c..f1dd6085 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png index 7845c7d2..3c9fc024 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index f5a4f976..6ed950dc 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 7efa024e..ac72635a 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 6d9d847c..883ffdb9 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index 6d9d847c..883ffdb9 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index 4fa6b904..28baeae8 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 07f375ea..a74333b2 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png index b6371ccb..96f4bdf5 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index fa7eb1d2..67d14e15 100644 Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index d448c4cf..c9a490f3 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - KKUH + KKUMC CFBundlePackageType APPL CFBundleShortVersionString @@ -118,5 +118,7 @@ io.flutter.embedded_views_preview + ITSAppUsesNonExemptEncryption + diff --git a/ios/Runner/Runner.entitlements b/ios/Runner/Runner.entitlements index 9fd12c88..903def2a 100644 --- a/ios/Runner/Runner.entitlements +++ b/ios/Runner/Runner.entitlements @@ -4,13 +4,5 @@ aps-environment development - com.apple.developer.networking.HotspotConfiguration - - com.apple.developer.networking.wifi-info - - com.apple.developer.nfc.readersession.formats - - TAG - diff --git a/lib/config/config.dart b/lib/config/config.dart index e086af55..1974e4db 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -20,22 +20,12 @@ var PACKAGES_SHOPPING_CART = '/api/shopping_cart_items'; 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 = 'http://10.50.100.198:4422/'; -// var BASE_URL = 'https://uat.hmgwebservices.com/'; -// var BASE_URL = 'https://hmgwebservices.com/'; -// var BASE_URL = 'http://10.20.200.111:1010/'; -// var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; -// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; -// var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://kkuh.hmg.local/'; -// var BASE_URL = 'https://webservices.hmg.com/'; +// var BASE_URL = 'https://mchisappu.kku.edu.sa/'; // UAT -// var BASE_URL = 'http://10.50.100.198:4422/'; - -var BASE_URL = 'https://mchisappu.kku.edu.sa/'; +var BASE_URL = 'https://mchisapp.kku.edu.sa/'; // Prod // Pharmacy UAT URLs // var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index b5ff9d97..2118652e 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -297,7 +297,7 @@ const Map localizedValues = { "logs": {"en": "Logs", "ar": "السجلات"}, "textToSpeech": {"en": "How May I Help You?", "ar": "كيف يمكنني مساعدتك؟"}, "locationDialogMessage": { - "en": "Allow the HMG app to access your location will assist you in showing the hospitals according to the nearest to you.", + "en": "Allow the King Khalid app to access your location will assist you in showing the hospitals according to the nearest to you.", "ar": "السماح لتطبيق مجموعة الحبيب الطبية بالوصول إلى موقعك سيساعدك في إظهار المستشفيات وفقًا للأقرب إليك." }, "user-view-requester": {"en": "User Wants to View Your Medical File", "ar": "أشخاص يرغبون في الاطلاع على ملفك الطبي"}, @@ -1824,8 +1824,8 @@ const Map localizedValues = { }, "locationPermissionDialog": { "en": - "King Khalid University app collects location data to show the nearest HMG hospitals and ER Locations and provides health care services to your location and Health weather indicators service and the medication delivery.", - "ar": "يجمع تطبيق جامعة الملك خالد بيانات الموقع لإظهار أقرب مستشفيات المجموعة ومواقع الطوارئ ويوفر خدمات الرعاية الصحية لموقعك وخدمة مؤشرات الطقس الصحي وتوصيل الأدوية." + "King Khalid University app collects location data to show the nearest hospitals and ER Locations and provides health care services to your location.", + "ar": "يجمع تطبيق جامعة الملك خالد بيانات الموقع لإظهار أقرب مستشفيات المجموعة ومواقع الطوارئ ويوفر خدمات الرعاية الصحية" }, "calendarPermission": { "en": "King Khalid University app collects calendar data to modify and set reminders for Appointments", @@ -1836,8 +1836,8 @@ const Map localizedValues = { "ar": "يحتاج تطبيق جامعة الملك خالد إلى إذن صوتي لتمكين ميزات الأوامر الصوتية." }, "wifiPermission": { - "en": "King Khalid University app needs to access WiFi state permission to connect to the HMG WiFi network from within the app when you visit the hospital.", - "ar": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى إذن حالة WiFi للاتصال بشبكة HMG WiFi من داخل التطبيق عند زيارة المستشفى." + "en": "King Khalid University app needs to access WiFi state permission to connect to the WiFi network from within the app when you visit the hospital.", + "ar": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى إذن حالة WiFi للاتصال بشبكة WiFi من داخل التطبيق عند زيارة المستشفى." }, "physicalActivityPermission": { "en": "King Khalid University app collects physical activity data to read heart rate, steps & distance from your smartwatch & send it to your doctor.", diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart index 7a8d11b7..314ec125 100644 --- a/lib/core/service/client/base_app_client.dart +++ b/lib/core/service/client/base_app_client.dart @@ -31,8 +31,7 @@ AppSharedPreferences sharedPref = new AppSharedPreferences(); /// onFailure: (String error, int statusCode) {}, /// body: Map(); /// -AuthenticatedUserObject authenticatedUserObject = - locator(); +AuthenticatedUserObject authenticatedUserObject = locator(); VitalSignService _vitalSignService = locator(); class BaseAppClient { @@ -40,12 +39,12 @@ class BaseAppClient { post(String endPoint, {required Map body, - required Function(dynamic response, int statusCode) onSuccess, - required Function(String error, int statusCode) onFailure, - bool isAllowAny = false, - bool isExternal = false, - bool isRCService = false, - bool bypassConnectionCheck = false}) async { + required Function(dynamic response, int statusCode) onSuccess, + required Function(String error, int statusCode) onFailure, + bool isAllowAny = false, + bool isExternal = false, + bool isRCService = false, + bool bypassConnectionCheck = false}) async { String url; if (isExternal) { url = endPoint; @@ -56,25 +55,20 @@ class BaseAppClient { url = BASE_URL + endPoint; } try { - String? pharmacyToken = - await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); + String? pharmacyToken = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var user = await sharedPref.getObject(USER_PROFILE); - Map headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }; + Map headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}; if (!isExternal) { String? token = await sharedPref.getString(TOKEN); - String? languageID = - await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); + String? languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); if (endPoint == SEND_ACTIVATION_CODE) { languageID = 'en'; } if (body.containsKey('SetupID')) { body['SetupID'] = body.containsKey('SetupID') ? body['SetupID'] != null - ? body['SetupID'] - : SETUP_ID + ? body['SetupID'] + : SETUP_ID : SETUP_ID; } @@ -87,8 +81,8 @@ class BaseAppClient { body['LanguageID'] = body['LanguageID'] == 'ar' ? 1 : body['LanguageID'] == 'en' - ? 2 - : body['LanguageID']; + ? 2 + : body['LanguageID']; } else { body['LanguageID'] = Provider.of(AppGlobal.context, listen: false).isArabic ? 1 : 2; } @@ -120,16 +114,16 @@ class BaseAppClient { if (body.containsKey('isDentalAllowedBackend')) { body['isDentalAllowedBackend'] = body.containsKey('isDentalAllowedBackend') ? body['isDentalAllowedBackend'] != null - ? body['isDentalAllowedBackend'] - : IS_DENTAL_ALLOWED_BACKEND + ? body['isDentalAllowedBackend'] + : IS_DENTAL_ALLOWED_BACKEND : IS_DENTAL_ALLOWED_BACKEND; } body['DeviceTypeID'] = Platform.isIOS ? 1 : await Utils.isGoogleServicesAvailable() - ? 2 - : 3; + ? 2 + : 3; if (!body.containsKey('IsPublicRequest')) { // if (!body.containsKey('PatientType')) { @@ -166,17 +160,14 @@ class BaseAppClient { if (user != null) { body['TokenID'] = body['TokenID'] != null ? body['TokenID'] : token; - body['PatientID'] = body['PatientID'] != null - ? body['PatientID'] - : user['PatientID']; + body['PatientID'] = body['PatientID'] != null ? body['PatientID'] : user['PatientID']; body['PatientOutSA'] = body.containsKey('PatientOutSA') ? body['PatientOutSA'] != null - ? body['PatientOutSA'] - : user['OutSA'] + ? body['PatientOutSA'] + : user['OutSA'] : user['OutSA']; - body['SessionID'] = getSessionId( - body['TokenID'] != null ? body['TokenID'] : ""); //getSe + body['SessionID'] = getSessionId(body['TokenID'] != null ? body['TokenID'] : ""); //getSe // body['SessionID'] = body['TokenID']; //getSe // headers = { @@ -203,20 +194,17 @@ class BaseAppClient { body.removeWhere((key, value) => key == null || value == null); // if (AppGlobal.isNetworkDebugEnabled) { - print("URL : $url"); - final jsonBody = json.encode(body); - print(jsonBody); + debugPrint("URL : $url"); + final jsonBody = json.encode(body); + debugPrint(jsonBody); // } - if (await Utils.checkConnection( - bypassConnectionCheck: bypassConnectionCheck)) { - final response = await http.post(Uri.parse(url.trim()), - body: json.encode(body), headers: headers); + if (await Utils.checkConnection(bypassConnectionCheck: bypassConnectionCheck)) { + final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: headers); final int statusCode = response.statusCode; if (statusCode < 200 || statusCode >= 400 || json == null) { onFailure('Error While Fetching data', statusCode); - logApiEndpointError( - endPoint, 'Error While Fetching data', statusCode); + logApiEndpointError(endPoint, 'Error While Fetching data', statusCode); } else { // var decoded = utf8.decode(response.bodyBytes); var parsed = json.decode(utf8.decode(response.bodyBytes)); @@ -230,12 +218,8 @@ class BaseAppClient { onSuccess(parsed, statusCode); } else { if (parsed['ErrorType'] == 4) { - navigateToAppUpdate( - AppGlobal.context, parsed['ErrorEndUserMessage']); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } if (parsed['ErrorType'] == 2) { await logout(); @@ -254,46 +238,28 @@ class BaseAppClient { // if (parsed != null) { // onSuccess(parsed, statusCode); // } else { - onFailure( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); // logout(); // } } - } else if (parsed['MessageStatus'] == 1 || - parsed['SMSLoginRequired'] == true) { + } else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) { onSuccess(parsed, statusCode); - } else if (parsed['MessageStatus'] == 2 && - parsed['IsAuthenticated']) { + } else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) { if (parsed['SameClinicApptList'] != null) { onSuccess(parsed, statusCode); } else { - if (parsed['message'] == null && - parsed['ErrorEndUserMessage'] == null) { + if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) { if (parsed['ErrorSearchMsg'] == null) { - onFailure("Server Error found with no available message", - statusCode); - logApiEndpointError( - endPoint, - "Server Error found with no available message", - statusCode); + onFailure("Server Error found with no available message", statusCode); + logApiEndpointError(endPoint, "Server Error found with no available message", statusCode); } else { onFailure(parsed['ErrorSearchMsg'], statusCode); - logApiEndpointError( - endPoint, parsed['ErrorSearchMsg'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorSearchMsg'], statusCode); } } else { - onFailure( - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); - logApiEndpointError(endPoint, - parsed['message'] ?? parsed['message'], statusCode); + onFailure(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode); } } } @@ -305,18 +271,11 @@ class BaseAppClient { onSuccess(parsed, statusCode); } else { if (parsed['message'] != null) { - onFailure( - parsed['message'] ?? parsed['message'], statusCode); - logApiEndpointError(endPoint, - parsed['message'] ?? parsed['message'], statusCode); + onFailure(parsed['message'] ?? parsed['message'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode); } else { - onFailure( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } } @@ -325,23 +284,17 @@ class BaseAppClient { } } else { onFailure('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } catch (e) { print(e); onFailure(e.toString(), -1); - _analytics.errorTracking - .log(endPoint, error: "api exception: $e - API Path: $url"); + _analytics.errorTracking.log(endPoint, error: "api exception: $e - API Path: $url"); } } postPharmacy(String endPoint, - {Map? body, - Function(dynamic response, int statusCode)? onSuccess, - Function(String error, int statusCode)? onFailure, - bool isAllowAny = false, - bool isExternal = false}) async { + {Map? body, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, bool isAllowAny = false, bool isExternal = false}) async { var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var user = await sharedPref.getObject(USER_PROFILE); String url; @@ -358,16 +311,13 @@ class BaseAppClient { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': pharmacyToken ?? '', - 'Mobilenumber': user != null - ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) - : "", + 'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "", 'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9', 'Username': user != null ? user['PatientID'].toString() : "", }; if (!isExternal) { String token = await sharedPref.getString(TOKEN); - var languageID = - await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); + var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); // if (body.containsKey('SetupID')) { // body['SetupID'] = body.containsKey('SetupID') @@ -429,14 +379,12 @@ class BaseAppClient { print("Headers : ${json.encode(headers)}"); if (await Utils.checkConnection()) { - final response = await http.post(Uri.parse(url.trim()), - body: json.encode(body), headers: headers); + final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: headers); final int statusCode = response.statusCode; // print("statusCode :$statusCode"); if (statusCode < 200 || statusCode >= 400 || json == null) { onFailure!('Error While Fetching data', statusCode); - logApiEndpointError( - endPoint, 'Error While Fetching data', statusCode); + logApiEndpointError(endPoint, 'Error While Fetching data', statusCode); } else { // var parsed = json.decode(response.body.toString()); var parsed = json.decode(utf8.decode(response.bodyBytes)); @@ -464,56 +412,29 @@ class BaseAppClient { if (parsed != null) { onSuccess!(parsed, statusCode); } else { - onFailure!( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, 'session logged out', statusCode); + onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, 'session logged out', statusCode); logout(); } } - } else if (parsed['MessageStatus'] == 1 || - parsed['SMSLoginRequired'] == true) { + } else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) { onSuccess!(parsed, statusCode); - } else if (parsed['MessageStatus'] == 2 && - parsed['IsAuthenticated']) { + } else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) { if (parsed['SameClinicApptList'] != null) { onSuccess!(parsed, statusCode); } else { - if (parsed['message'] == null && - parsed['ErrorEndUserMessage'] == null) { + if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) { if (parsed['ErrorSearchMsg'] == null) { - onFailure!("Server Error found with no available message", - statusCode); - logApiEndpointError( - endPoint, - "Server Error found with no available message", - statusCode); + onFailure!("Server Error found with no available message", statusCode); + logApiEndpointError(endPoint, "Server Error found with no available message", statusCode); } else { onFailure!(parsed['ErrorSearchMsg'], statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorSearchMsg'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); + logApiEndpointError(endPoint, parsed['ErrorSearchMsg'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } else { - onFailure!( - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } } else if (!parsed['IsAuthenticated']) { @@ -525,22 +446,11 @@ class BaseAppClient { onSuccess!(parsed, statusCode); } else { if (parsed['message'] != null) { - onFailure!( - parsed['message'] ?? parsed['message'], statusCode); - logApiEndpointError( - endPoint, - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['message'] ?? parsed['message'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } else { - onFailure!( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } } @@ -548,8 +458,7 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } catch (e) { print(e); @@ -560,18 +469,18 @@ class BaseAppClient { Future navigateToAppUpdate(context, String text) async { Navigator.pushAndRemoveUntil( - locator().navigatorKey.currentContext!, + locator().navigatorKey.currentContext!, MaterialPageRoute(builder: (context) => AppUpdatePage(appUpdateText: text)), - (Route route) => false, + (Route route) => false, ); } get(String endPoint, {required Function(dynamic response, int statusCode) onSuccess, - required Function(String error, int statusCode) onFailure, - Map? queryParams, - bool isExternal = false, - bool isRCService = false}) async { + required Function(String error, int statusCode) onFailure, + Map? queryParams, + bool isExternal = false, + bool isRCService = false}) async { String url; if (isExternal) { url = endPoint; @@ -592,10 +501,7 @@ class BaseAppClient { if (await Utils.checkConnection()) { final response = await http.get( Uri.parse(url.trim()), - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, + headers: {'Content-Type': 'application/json', 'Accept': 'application/json'}, ); final int statusCode = response.statusCode; // print("statusCode :$statusCode"); @@ -609,17 +515,16 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } getPharmacy(String endPoint, {required Function(dynamic response, int statusCode) onSuccess, - required Function(String error, int statusCode) onFailure, - bool isAllowAny = false, - bool isExternal = false, - Map? queryParams}) async { + required Function(String error, int statusCode) onFailure, + bool isAllowAny = false, + bool isExternal = false, + Map? queryParams}) async { var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var user = await sharedPref.getObject(USER_PROFILE); @@ -642,9 +547,7 @@ class BaseAppClient { 'Content-Type': 'text/html; charset=utf-8', 'Accept': 'application/json', 'Authorization': token ?? '', - 'Mobilenumber': user != null - ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) - : "", + 'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "", 'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9', 'Username': user != null ? user['PatientID'].toString() : "", // 'Host': "mdlaboratories.com", @@ -654,19 +557,14 @@ class BaseAppClient { if (statusCode < 200 || statusCode >= 400 || json == null) { if (statusCode == 401) { - onFailure!(TranslationBase.of(AppGlobal.context).pharmacyRelogin, - statusCode); - logApiEndpointError( - endPoint, - TranslationBase.of(AppGlobal.context).pharmacyRelogin, - statusCode); + onFailure!(TranslationBase.of(AppGlobal.context).pharmacyRelogin, statusCode); + logApiEndpointError(endPoint, TranslationBase.of(AppGlobal.context).pharmacyRelogin, statusCode); Navigator.of(AppGlobal.context).pushNamed(HOME); } else { var bodyUtf = json.decode(utf8.decode(response.bodyBytes)); // print(bodyUtf); onFailure!(bodyUtf['error']['ErrorEndUserMsg'], statusCode); - logApiEndpointError( - endPoint, bodyUtf['error']['ErrorEndUserMsg'], statusCode); + logApiEndpointError(endPoint, bodyUtf['error']['ErrorEndUserMsg'], statusCode); } } else { // var parsed = json.decode(response.body.toString()); @@ -675,25 +573,23 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } simplePost( - String fullUrl, { - required Map body, - required Map headers, - required Function(dynamic response, int statusCode) onSuccess, - required Function(String error, int statusCode) onFailure, - }) async { + String fullUrl, { + required Map body, + required Map headers, + required Function(dynamic response, int statusCode) onSuccess, + required Function(String error, int statusCode) onFailure, + }) async { String url = fullUrl; // print("URL Query String: $url"); // print("body: $body"); if (await Utils.checkConnection()) { - headers!.addAll( - {'Content-Type': 'application/json', 'Accept': 'application/json'}); + headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'}); final response = await http.post( Uri.parse(url.trim()), body: json.encode(body), @@ -701,12 +597,7 @@ class BaseAppClient { ); final int statusCode = response.statusCode; // print("statusCode :$statusCode"); - if (await handleUnauthorized(statusCode, forUrl: fullUrl)) - simplePost(fullUrl, - onFailure: onFailure, - onSuccess: onSuccess, - body: body, - headers: headers); + if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePost(fullUrl, onFailure: onFailure, onSuccess: onSuccess, body: body, headers: headers); // print(response.body.toString()); @@ -718,16 +609,12 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } simpleGet(String fullUrl, - {Function(dynamic response, int statusCode)? onSuccess, - Function(String error, int statusCode)? onFailure, - Map? queryParams, - Map? headers}) async { + {Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, Map? queryParams, Map? headers}) async { headers = headers ?? {}; String url = fullUrl; @@ -739,8 +626,7 @@ class BaseAppClient { } if (await Utils.checkConnection()) { - headers.addAll( - {'Content-Type': 'application/json', 'Accept': 'application/json'}); + headers.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'}); final response = await http.get( Uri.parse(url.trim()), headers: headers, @@ -748,12 +634,7 @@ class BaseAppClient { final int statusCode = response.statusCode; // print("statusCode :$statusCode"); - if (await handleUnauthorized(statusCode, forUrl: fullUrl)) - simpleGet(fullUrl, - onFailure: onFailure, - onSuccess: onSuccess, - headers: headers, - queryParams: queryParams); + if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleGet(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, queryParams: queryParams); if (statusCode < 200 || statusCode >= 400 || json == null) { onFailure!('Error While Fetching data', statusCode); @@ -763,22 +644,17 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } simplePut(String fullUrl, - {Map? body, - Map? headers, - Function(dynamic response, int statusCode)? onSuccess, - Function(String error, int statusCode)? onFailure}) async { + {Map? body, Map? headers, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure}) async { String url = fullUrl; // print("URL Query String: $url"); if (await Utils.checkConnection()) { - headers!.addAll( - {'Content-Type': 'application/json', 'Accept': 'application/json'}); + headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'}); final response = await http.put( Uri.parse(url.trim()), body: json.encode(body), @@ -787,12 +663,7 @@ class BaseAppClient { final int statusCode = response.statusCode; // print("statusCode :$statusCode"); - if (await handleUnauthorized(statusCode, forUrl: fullUrl)) - simplePut(fullUrl, - onFailure: onFailure, - onSuccess: onSuccess, - headers: headers, - body: body); + if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePut(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, body: body); if (statusCode < 200 || statusCode >= 400 || json == null) { onFailure!('Error While Fetching data', statusCode); @@ -802,16 +673,12 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } simpleDelete(String fullUrl, - {Function(dynamic response, int statusCode)? onSuccess, - Function(String error, int statusCode)? onFailure, - Map? queryParams, - Map? headers}) async { + {Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, Map? queryParams, Map? headers}) async { String url = fullUrl; // print("URL Query String: $url"); @@ -823,8 +690,7 @@ class BaseAppClient { } if (await Utils.checkConnection()) { - headers!.addAll( - {'Content-Type': 'application/json', 'Accept': 'application/json'}); + headers!.addAll({'Content-Type': 'application/json', 'Accept': 'application/json'}); final response = await http.delete( Uri.parse(url.trim()), headers: headers, @@ -832,12 +698,7 @@ class BaseAppClient { final int statusCode = response.statusCode; // print("statusCode :$statusCode"); - if (await handleUnauthorized(statusCode, forUrl: fullUrl)) - simpleDelete(fullUrl, - onFailure: onFailure, - onSuccess: onSuccess, - queryParams: queryParams, - headers: headers); + if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleDelete(fullUrl, onFailure: onFailure, onSuccess: onSuccess, queryParams: queryParams, headers: headers); if (statusCode < 200 || statusCode >= 400 || json == null) { onFailure!('Error While Fetching data', statusCode); @@ -847,13 +708,11 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } - Future handleUnauthorized(int statusCode, - {required String forUrl}) async { + Future handleUnauthorized(int statusCode, {required String forUrl}) async { if (forUrl.startsWith(EXA_CART_API_BASE_URL) && statusCode == 401) { final token = await generatePackagesToken(); packagesAuthHeader['Authorization'] = 'Bearer $token'; @@ -866,10 +725,8 @@ class BaseAppClient { await sharedPref.remove(LOGIN_TOKEN_ID); await sharedPref.remove(PHARMACY_CUSTOMER_ID); await authenticatedUserObject.getUser(); - Provider.of(AppGlobal.context, listen: false).isLogin = - false; - var model = - Provider.of(AppGlobal.context, listen: false); + Provider.of(AppGlobal.context, listen: false).isLogin = false; + var model = Provider.of(AppGlobal.context, listen: false); _vitalSignService.weightKg = ""; _vitalSignService.heightCm = ""; model.setState(0, 0, false, null); @@ -884,8 +741,7 @@ class BaseAppClient { static defaultHttpParameters() async { String token = await sharedPref.getString(TOKEN); - var languageID = - await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); + var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var user = await sharedPref.getObject(USER_PROFILE); var params = {}; if (user != null) { @@ -905,11 +761,7 @@ class BaseAppClient { } pharmacyPost(String endPoint, - {Map? body, - Function(dynamic response, int statusCode)? onSuccess, - Function(String error, int statusCode)? onFailure, - bool isAllowAny = false, - bool isExternal = false}) async { + {Map? body, Function(dynamic response, int statusCode)? onSuccess, Function(String error, int statusCode)? onFailure, bool isAllowAny = false, bool isExternal = false}) async { var token = await sharedPref.getString(PHARMACY_AUTORZIE_TOKEN); var user = await sharedPref.getObject(USER_PROFILE); String url; @@ -921,14 +773,13 @@ class BaseAppClient { try { if (isExternal) { String token = await sharedPref.getString(TOKEN); - var languageID = - await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); + var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var user = await sharedPref.getObject(USER_PROFILE); if (body!.containsKey('SetupID')) { body['SetupID'] = body.containsKey('SetupID') ? body['SetupID'] != null - ? body['SetupID'] - : SETUP_ID + ? body['SetupID'] + : SETUP_ID : SETUP_ID; } @@ -940,15 +791,15 @@ class BaseAppClient { body['generalid'] = GENERAL_ID; body['PatientOutSA'] = body.containsKey('PatientOutSA') ? body['PatientOutSA'] != null - ? body['PatientOutSA'] - : user['OutSA'] + ? body['PatientOutSA'] + : user['OutSA'] : user['OutSA']; if (body.containsKey('isDentalAllowedBackend')) { body['isDentalAllowedBackend'] = body.containsKey('isDentalAllowedBackend') ? body['isDentalAllowedBackend'] != null - ? body['isDentalAllowedBackend'] - : IS_DENTAL_ALLOWED_BACKEND + ? body['isDentalAllowedBackend'] + : IS_DENTAL_ALLOWED_BACKEND : IS_DENTAL_ALLOWED_BACKEND; } @@ -957,24 +808,22 @@ class BaseAppClient { if (!body.containsKey('IsPublicRequest')) { body['PatientType'] = body.containsKey('PatientType') ? body['PatientType'] != null - ? body['PatientType'] - : user['PatientType'] != null - ? user['PatientType'] - : user['PatientType'] + ? body['PatientType'] + : user['PatientType'] != null + ? user['PatientType'] + : user['PatientType'] : user['PatientType']; body['PatientTypeID'] = body.containsKey('PatientTypeID') ? body['PatientTypeID'] != null - ? body['PatientTypeID'] - : user['PatientType'] != null - ? user['PatientType'] - : user['PatientType'] + ? body['PatientTypeID'] + : user['PatientType'] != null + ? user['PatientType'] + : user['PatientType'] : user['PatientType']; if (user != null) { body['TokenID'] = token; - body['PatientID'] = body['PatientID'] != null - ? body['PatientID'] - : user['PatientID']; + body['PatientID'] = body['PatientID'] != null ? body['PatientID'] : user['PatientID']; body['PatientOutSA'] = user['OutSA']; // body['SessionID'] = SESSION_ID; //getSessionId(token); } @@ -986,14 +835,11 @@ class BaseAppClient { var ss = json.encode(body); if (await Utils.checkConnection()) { - final response = await http - .post(Uri.parse(url.trim()), body: json.encode(body), headers: { + final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': token ?? '', - 'Mobilenumber': user != null - ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) - : "", + 'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "", 'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9', 'Username': user != null ? user['PatientID'].toString() : "", }); @@ -1001,15 +847,8 @@ class BaseAppClient { // print("statusCode :$statusCode"); if (statusCode < 200 || statusCode >= 400 || json == null) { var parsed = json.decode(utf8.decode(response.bodyBytes)); - onFailure!( - parsed['error']['ErrorEndUserMsgN'] ?? - 'Error While Fetching data', - statusCode); - logApiEndpointError( - endPoint, - parsed['error']['ErrorEndUserMsgN'] ?? - 'Error While Fetching data', - statusCode); + onFailure!(parsed['error']['ErrorEndUserMsgN'] ?? 'Error While Fetching data', statusCode); + logApiEndpointError(endPoint, parsed['error']['ErrorEndUserMsgN'] ?? 'Error While Fetching data', statusCode); } else { // var parsed = json.decode(response.body.toString()); var parsed = json.decode(utf8.decode(response.bodyBytes)); @@ -1017,8 +856,7 @@ class BaseAppClient { onSuccess!(parsed, statusCode); } else { if (parsed['ErrorType'] == 4) { - navigateToAppUpdate( - AppGlobal.context, parsed['ErrorEndUserMessage']); + navigateToAppUpdate(AppGlobal.context, parsed['ErrorEndUserMessage']); } if (isAllowAny) { onSuccess!(parsed, statusCode); @@ -1033,47 +871,25 @@ class BaseAppClient { if (parsed != null) { onSuccess!(parsed, statusCode); } else { - onFailure!( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); logout(); } } - } else if (parsed['MessageStatus'] == 1 || - parsed['SMSLoginRequired'] == true) { + } else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) { onSuccess!(parsed, statusCode); - } else if (parsed['MessageStatus'] == 2 && - parsed['IsAuthenticated']) { - if (parsed['message'] == null && - parsed['ErrorEndUserMessage'] == null) { + } else if (parsed['MessageStatus'] == 2 && parsed['IsAuthenticated']) { + if (parsed['message'] == null && parsed['ErrorEndUserMessage'] == null) { if (parsed['ErrorSearchMsg'] == null) { - onFailure!("Server Error found with no available message", - statusCode); - logApiEndpointError( - endPoint, - "Server Error found with no available message", - statusCode); + onFailure!("Server Error found with no available message", statusCode); + logApiEndpointError(endPoint, "Server Error found with no available message", statusCode); } else { onFailure!(parsed['ErrorSearchMsg'], statusCode); - logApiEndpointError( - endPoint, parsed['ErrorSearchMsg'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorSearchMsg'], statusCode); } } else { - onFailure!( - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['message'] ?? - parsed['ErrorEndUserMessage'] ?? - parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } else if (!parsed['IsAuthenticated']) { await logout(); @@ -1084,18 +900,11 @@ class BaseAppClient { onSuccess!(parsed, statusCode); } else { if (parsed['message'] != null) { - onFailure!( - parsed['message'] ?? parsed['message'], statusCode); - logApiEndpointError(endPoint, - parsed['message'] ?? parsed['message'], statusCode); + onFailure!(parsed['message'] ?? parsed['message'], statusCode); + logApiEndpointError(endPoint, parsed['message'] ?? parsed['message'], statusCode); } else { - onFailure!( - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); - logApiEndpointError( - endPoint, - parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], - statusCode); + onFailure!(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); + logApiEndpointError(endPoint, parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); } } } @@ -1103,8 +912,7 @@ class BaseAppClient { } } else { onFailure!('Please Check The Internet Connection', -1); - _analytics.errorTracking - .log("internet_connectivity", error: "no internet available"); + _analytics.errorTracking.log("internet_connectivity", error: "no internet available"); } } catch (e) { print(e); @@ -1116,15 +924,11 @@ class BaseAppClient { Future generatePackagesToken() async { var url = EXA_CART_API_BASE_URL + PACKAGES_TOKEN; var body = { - "api_client": { - "client_id": "a4ab6be4-424f-4836-b032-46caed88e184", - "client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c" - } + "api_client": {"client_id": "a4ab6be4-424f-4836-b032-46caed88e184", "client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c"} }; String? token; final completer = Completer(); - simplePost(url, body: body, headers: {}, - onSuccess: (dynamic stringResponse, int statusCode) { + simplePost(url, body: body, headers: {}, onSuccess: (dynamic stringResponse, int statusCode) { if (statusCode == 200) { var jsonResponse = json.decode(stringResponse); token = jsonResponse['auth_token']; diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index 398e6451..7dd6419b 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -51,13 +51,10 @@ class _Login extends State { final authService = AuthProvider(); var sharedPref = AppSharedPreferences(); bool isLoading = false; - AppointmentRateViewModel appointmentRateViewModel = - locator(); - PharmacyModuleViewModel pharmacyModuleViewModel = - locator(); + AppointmentRateViewModel appointmentRateViewModel = locator(); + PharmacyModuleViewModel pharmacyModuleViewModel = locator(); - AuthenticatedUserObject authenticatedUserObject = - locator(); + AuthenticatedUserObject authenticatedUserObject = locator(); late ProjectViewModel projectViewModel; late ToDoCountProviderModel toDoProvider; @@ -113,9 +110,7 @@ class _Login extends State { HabibLogoWidget(), SizedBox(height: 50), Text( - loginType == 1 - ? TranslationBase.of(context).enterNationalId - : TranslationBase.of(context).enterFile, + loginType == 1 ? TranslationBase.of(context).enterNationalId : TranslationBase.of(context).enterFile, style: TextStyle( fontSize: 16, fontWeight: FontWeight.w600, @@ -134,9 +129,7 @@ class _Login extends State { Directionality( textDirection: TextDirection.ltr, child: inputWidget( - loginType == 1 - ? TranslationBase.of(context).nationalIdNumber - : TranslationBase.of(context).medicalFileNumber, + loginType == 1 ? TranslationBase.of(context).nationalIdNumber : TranslationBase.of(context).medicalFileNumber, "Xxxxxxxxx", nationalIDorFile, ), @@ -163,9 +156,7 @@ class _Login extends State { ); } - Widget inputWidget( - String _labelText, String _hintText, TextEditingController _controller, - {String? prefix, bool isEnable = true, bool hasSelection = false}) { + Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String? prefix, bool isEnable = true, bool hasSelection = false}) { return Container( padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15), alignment: Alignment.center, @@ -254,8 +245,7 @@ class _Login extends State { } void validateForm() { - if (util.validateIDBox(nationalIDorFile.text, loginType) == true && - (countryCode == "971" ? true : util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true)) { + if (util.validateIDBox(nationalIDorFile.text, loginType) == true && (countryCode == "971" ? true : util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true)) { setState(() { isButtonDisabled = false; }); @@ -320,8 +310,7 @@ class _Login extends State { }, cancelFunction: () => {}); dialog.showAlertDialog(context); - projectViewModel.analytics.loginRegistration - .login_fail(error: err.toString()); + projectViewModel.analytics.loginRegistration.login_fail(error: err.toString()); }); } @@ -359,12 +348,11 @@ class _Login extends State { } this.authService.checkActivationCode(request, code).then((result) async { sharedPref.remove(FAMILY_FILE); - // registerGeoZones(); + // registerGeoZones(); projectViewModel.setPrivilege(privilegeList: result); result = CheckActivationCode.fromJson(result); result.list.isFamily = false; - this.sharedPref.setString(BLOOD_TYPE, - result.patientBloodType != null ? result.patientBloodType : ""); + this.sharedPref.setString(BLOOD_TYPE, result.patientBloodType != null ? result.patientBloodType : ""); this.sharedPref.setObject(USER_PROFILE, result.list); this.sharedPref.setObject(MAIN_USER, result.list); this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID); @@ -392,7 +380,7 @@ class _Login extends State { FadePage( page: LandingPage(), ), - (r) => false); + (r) => false); // appointmentRateViewModel // .getIsLastAppointmentRatedList(projectViewModel.isArabic ? 1 : 2) // .then((value) => { @@ -431,7 +419,6 @@ class _Login extends State { if (res['MessageStatus'] == 1) { // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount); toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount); - } else {} }).catchError((err) { print(err); @@ -453,25 +440,17 @@ class _Login extends State { print("Has Admission Request: $hasAdmissionRequest"); if (isAdmitted) { if (res['PatientAdmittedInformation'].length != 0) { - getAdmissionInfoResponseModel = - GetAdmissionInfoResponseModel.fromJson( - res['PatientAdmittedInformation'][0]); - projectViewModel.setInPatientProjectID( - res['PatientAdmittedInformation'][0]['ProjectID']); - projectViewModel - .setInPatientAdmissionInfo(getAdmissionInfoResponseModel); + getAdmissionInfoResponseModel = GetAdmissionInfoResponseModel.fromJson(res['PatientAdmittedInformation'][0]); + projectViewModel.setInPatientProjectID(res['PatientAdmittedInformation'][0]['ProjectID']); + projectViewModel.setInPatientAdmissionInfo(getAdmissionInfoResponseModel); projectViewModel.setIsPatientAdmitted(true); } } if (hasAdmissionRequest) { if (res['MedicalInstruction'].length != 0) { - getAdmissionRequestInfoResponseModel = - GetAdmissionRequestInfoResponseModel.fromJson( - res['MedicalInstruction'][0]); - projectViewModel.setInPatientProjectID( - res['MedicalInstruction'][0]['ProjectID']); - projectViewModel.setInPatientAdmissionRequest( - getAdmissionRequestInfoResponseModel); + getAdmissionRequestInfoResponseModel = GetAdmissionRequestInfoResponseModel.fromJson(res['MedicalInstruction'][0]); + projectViewModel.setInPatientProjectID(res['MedicalInstruction'][0]['ProjectID']); + projectViewModel.setInPatientAdmissionRequest(getAdmissionRequestInfoResponseModel); projectViewModel.setPatientHasAdmissionRequest(true); } } @@ -490,8 +469,7 @@ class _Login extends State { if (registerData != null) { setState(() { - this.nationalIDorFile.text = - registerData['PatientIdentificationID'].toString(); + this.nationalIDorFile.text = registerData['PatientIdentificationID'].toString(); this.isButtonDisabled = false; this.loginType = 1; this.mobileNo = registerData['PatientMobileNumber'].toString(); diff --git a/lib/pages/medical/prescriptions/prescription_details_page.dart b/lib/pages/medical/prescriptions/prescription_details_page.dart index 52b9392c..b43cf105 100644 --- a/lib/pages/medical/prescriptions/prescription_details_page.dart +++ b/lib/pages/medical/prescriptions/prescription_details_page.dart @@ -46,8 +46,8 @@ class _PrescriptionDetailsPageState extends State { @override void initState() { checkAndRemove(delete: false); - locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context); - WidgetsBinding.instance.addPostFrameCallback((_) => locationUtils.getCurrentLocation()); + // locationUtils = new LocationUtils(isShowConfirmDialog: false, context: context); + // WidgetsBinding.instance.addPostFrameCallback((_) => locationUtils.getCurrentLocation()); super.initState(); } diff --git a/lib/widgets/data_display/medical/time_line_new_widget.dart b/lib/widgets/data_display/medical/time_line_new_widget.dart index 4239f082..3ba24d63 100644 --- a/lib/widgets/data_display/medical/time_line_new_widget.dart +++ b/lib/widgets/data_display/medical/time_line_new_widget.dart @@ -392,7 +392,7 @@ class TimelineNewWidget extends StatelessWidget { ), style: TextStyle( color: Colors.grey[200], - fontSize: 12, + fontSize: 10.5, height: 1.2, ), ), diff --git a/lib/widgets/dialogs/confirm_dialog.dart b/lib/widgets/dialogs/confirm_dialog.dart index 21654b4c..3fe11b12 100644 --- a/lib/widgets/dialogs/confirm_dialog.dart +++ b/lib/widgets/dialogs/confirm_dialog.dart @@ -1,4 +1,5 @@ import 'package:diplomaticquarterapp/theme/colors.dart'; +import 'package:diplomaticquarterapp/theme/theme_value.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; @@ -101,7 +102,7 @@ class Mdialog extends StatelessWidget { cancelFunction!(); }, child: Container( - decoration: containerRadius(CustomColors.accentColor, 12), + decoration: containerRadius(appColor, 6), padding: EdgeInsets.only(top: 8,bottom: 8), child: Center(child: Texts(cancelText, variant: "caption3", color: CustomColors.white,)), ), diff --git a/lib/widgets/new_design/doctor_header.dart b/lib/widgets/new_design/doctor_header.dart index 55884f70..b8f4eb9d 100644 --- a/lib/widgets/new_design/doctor_header.dart +++ b/lib/widgets/new_design/doctor_header.dart @@ -87,7 +87,7 @@ class DoctorHeader extends StatelessWidget { style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.48, height: 18 / 12), ), headerModel.invoiceNo.isNotEmpty ? MyRichText(TranslationBase.of(context).invoiceNo + ":", headerModel.invoiceNo, projectViewModel.isArabic) : Container(), - MyRichText(TranslationBase.of(context).branch, headerModel.projectName, projectViewModel.isArabic), + // MyRichText(TranslationBase.of(context).branch, headerModel.projectName, projectViewModel.isArabic), ], ), ), @@ -105,11 +105,11 @@ class DoctorHeader extends StatelessWidget { headerModel.time ?? DateUtil.formatDateToTime(headerModel.date!), style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48, height: 18 / 12), ), - if (headerModel.nationalityFlagURL != null) - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: headerModel.nationalityFlagURL.isNotEmpty && headerModel.nationalityFlagURL != null && headerModel.nationalityFlagURL != 'null'? Image.network(headerModel.nationalityFlagURL, height: 20) : SizedBox(), - ), + // if (headerModel.nationalityFlagURL != null) + // Padding( + // padding: const EdgeInsets.only(top: 8.0), + // child: headerModel.nationalityFlagURL.isNotEmpty && headerModel.nationalityFlagURL != null && headerModel.nationalityFlagURL != 'null'? Image.network(headerModel.nationalityFlagURL, height: 20) : SizedBox(), + // ), ], ) ], diff --git a/pubspec.yaml b/pubspec.yaml index 0e9b2bd6..fe0147c1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: diplomaticquarterapp description: A new Flutter application. -version: 4.5.061+4050061 +version: 1.0.0+1 environment: sdk: ">=3.0.0 <3.13.0"