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"