From 51fe8066a8bc721873eb5c634c9f95f1fa20e5cf Mon Sep 17 00:00:00 2001 From: tahaalam Date: Mon, 2 Feb 2026 15:00:33 +0300 Subject: [PATCH] Wd:design updated for the live activity --- android/.gradle/8.12/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/8.12/checksums/md5-checksums.bin | Bin 40097 -> 42297 bytes .../.gradle/8.12/checksums/sha1-checksums.bin | Bin 141983 -> 146735 bytes .../executionHistory/executionHistory.bin | Bin 50629345 -> 50629345 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.12/fileHashes/fileHashes.bin | Bin 2988374 -> 3019133 bytes .../.gradle/8.12/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.12/fileHashes/resourceHashesCache.bin | Bin 147226 -> 160181 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes android/.gradle/file-system.probe | Bin 8 -> 8 bytes .../ejada/hmg/live_activity/CustomActiviy.kt | 41 +- android/app/src/main/res/drawable/icon.xml | 15 + .../app/src/main/res/drawable/profession.xml | 13 + .../res/drawable/progress_bar_drawable.xml | 21 + .../src/main/res/drawable/progress_thumb.xml | 11 + .../res/drawable/queue_card_background.xml | 6 + .../queue_card_background_low_radius.xml | 6 + .../main/res/drawable/seekbar_thumb_image.xml | 11 + .../res/drawable/status_box_background.xml | 6 + .../app/src/main/res/layout/live_activity.xml | 252 +++++--- .../res/layout/live_activity_collapsed.xml | 89 ++- android/app/src/main/res/values/colors.xml | 4 + assets/langs/ar-SA.json | 6 +- assets/langs/en-US.json | 6 +- ios/AppWidget/AppWidgetLiveActivity.swift | 401 +++--------- .../AppWidgetLiveActivityBundle.swift | 17 + .../AppWidgetLiveActivityLiveActivity.swift | 575 ++++++++++++++++++ .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../Assets.xcassets/Contents.json | 0 .../WidgetBackground.colorset/Contents.json | 0 .../clock.imageset/Contents.json | 21 + .../Assets.xcassets/clock.imageset/icon.svg | 4 + .../hmg.imageset/Contents.json | 23 + .../Assets.xcassets/hmg.imageset/hmg 1.svg | 5 + .../Assets.xcassets/hmg.imageset/hmg 2.svg | 5 + .../Assets.xcassets/hmg.imageset/hmg.svg | 5 + .../profession.imageset/Contents.json | 21 + .../profession.imageset/doctor-02.svg | 4 + ios/AppWidgetLiveActivity/Info.plist | 11 + ...ppWidgetLiveActivityExtension.entitlements | 10 + ios/Runner.xcodeproj/project.pbxproj | 342 +++++++++-- ios/Runner/AppDelegate.swift | 4 +- ios/Runner/Helper/LiveActivityHelper.swift | 37 ++ ios/Runner/Info.plist | 1 + .../AppIntent.swift | 4 +- .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 35 ++ .../Assets.xcassets/Contents.json | 6 + .../WidgetBackground.colorset/Contents.json | 11 + .../hmg.imageset/Contents.json | 23 + .../Assets.xcassets/hmg.imageset/hmg 1.svg | 5 + .../Assets.xcassets/hmg.imageset/hmg 2.svg | 5 + .../Assets.xcassets/hmg.imageset/hmg.svg | 5 + ios/{liveapp => live_notification}/Info.plist | 4 +- .../live_notificationBundle.swift | 16 + .../live_notificationLiveActivity.swift | 410 +++++++++++++ ios/liveapp/liveapp.swift | 88 --- ios/liveapp/liveappBundle.swift | 16 - ios/liveapp/liveappControl.swift | 77 --- ios/liveapp/liveappLiveActivity.swift | 332 ---------- lib/core/cache_consts.dart | 2 + lib/core/common_models/patient_queue.dart | 10 +- .../utils/live_activty_helper_channel.dart | 14 + lib/core/utils/push_notification_handler.dart | 129 ++-- lib/generated/locale_keys.g.dart | 4 + lib/presentation/home/landing_page.dart | 2 +- .../home/widgets/small_service_card.dart | 108 +--- 68 files changed, 2108 insertions(+), 1182 deletions(-) create mode 100644 android/app/src/main/res/drawable/icon.xml create mode 100644 android/app/src/main/res/drawable/profession.xml create mode 100644 android/app/src/main/res/drawable/progress_bar_drawable.xml create mode 100644 android/app/src/main/res/drawable/progress_thumb.xml create mode 100644 android/app/src/main/res/drawable/queue_card_background.xml create mode 100644 android/app/src/main/res/drawable/queue_card_background_low_radius.xml create mode 100644 android/app/src/main/res/drawable/seekbar_thumb_image.xml create mode 100644 android/app/src/main/res/drawable/status_box_background.xml create mode 100644 ios/AppWidgetLiveActivity/AppWidgetLiveActivityBundle.swift create mode 100644 ios/AppWidgetLiveActivity/AppWidgetLiveActivityLiveActivity.swift rename ios/{liveapp => AppWidgetLiveActivity}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename ios/{liveapp => AppWidgetLiveActivity}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename ios/{liveapp => AppWidgetLiveActivity}/Assets.xcassets/Contents.json (100%) rename ios/{liveapp => AppWidgetLiveActivity}/Assets.xcassets/WidgetBackground.colorset/Contents.json (100%) create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/Contents.json create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/icon.svg create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/Contents.json create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 1.svg create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 2.svg create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg.svg create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/Contents.json create mode 100644 ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/doctor-02.svg create mode 100644 ios/AppWidgetLiveActivity/Info.plist create mode 100644 ios/AppWidgetLiveActivityExtension.entitlements create mode 100644 ios/Runner/Helper/LiveActivityHelper.swift rename ios/{liveapp => live_notification}/AppIntent.swift (85%) create mode 100644 ios/live_notification/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 ios/live_notification/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/live_notification/Assets.xcassets/Contents.json create mode 100644 ios/live_notification/Assets.xcassets/WidgetBackground.colorset/Contents.json create mode 100644 ios/live_notification/Assets.xcassets/hmg.imageset/Contents.json create mode 100644 ios/live_notification/Assets.xcassets/hmg.imageset/hmg 1.svg create mode 100644 ios/live_notification/Assets.xcassets/hmg.imageset/hmg 2.svg create mode 100644 ios/live_notification/Assets.xcassets/hmg.imageset/hmg.svg rename ios/{liveapp => live_notification}/Info.plist (100%) create mode 100644 ios/live_notification/live_notificationBundle.swift create mode 100644 ios/live_notification/live_notificationLiveActivity.swift delete mode 100644 ios/liveapp/liveapp.swift delete mode 100644 ios/liveapp/liveappBundle.swift delete mode 100644 ios/liveapp/liveappControl.swift delete mode 100644 ios/liveapp/liveappLiveActivity.swift create mode 100644 lib/core/utils/live_activty_helper_channel.dart diff --git a/android/.gradle/8.12/checksums/checksums.lock b/android/.gradle/8.12/checksums/checksums.lock index 6f80b2ccd3a7d925c1ac2071b045aad321f0366e..6fea520cd186f68d1aa02d3ffd50c974cbdfc054 100644 GIT binary patch literal 17 VcmZRsJtcVTk+{M=1~6d13;;B01oHp@ literal 17 VcmZRsJtcVTk+{M=1~6dv1^_eS1Zw~Q diff --git a/android/.gradle/8.12/checksums/md5-checksums.bin b/android/.gradle/8.12/checksums/md5-checksums.bin index 4434d78648e68f0d29b8f5cd879f6454ae8cf29d..0f2e0f2d875920b2926c75cfd9c1b13eaa37a8fc 100644 GIT binary patch delta 3035 zcmZve3pA8@AIF~=*C{-YMjL8lh^Ca*E%d5Ul1i3wsHr4jODjaS^pZiBF|PIgyHFUH z5z;UAV5rVF)ygkCI$CzRiw8$KcQfUMTKG&OGH`a{Q!VTb(F&963FJPPGS{u?z zn6h!>4jLZEnc`$T_y~zbmt;+|jOh5xLv+7eiLpo&HOlVKuAvc^gLR~~i7zf8HD3c9 zHs#_6OHQ6%J>-S7LJQDl>Wur29cm58T!XZdeX?=WS{feJ6|ri~tq~-OIY46OLp1c= zG)lL3`Y%NfgAZn5#P#MPhkt3WsX$`>PT+5zi^uY-9Xh9UA}y~-HelXPBRcrw%Vrav z>PQuB0TPQa;vV=U$*2h5jKm@?(6zjU&$Yj}wK(S%(uzH0ZI(hBKDFW5!soirkSM+n zyx3vH9~<9Su*(=!=LMf+61E|o{o$&^mXMB`yU1FqHA#(+#y8}CLtaz?;u3IeeiB>W zjl0s zjbsB0^l3O}EW>C`pFVOH|1KL|C{-g&^n}$XXVv#nxn6=3HY_~Zdz2k)X-dV+1`?Yv z!Ymcr?&Wy)FeQ!xUE5@QFmUZMjrdBW6BZIHfTJ^>m#}bX=Crv;D|rMY zj!A?^+mL?v1bJrX&8x;0ECb6JCh>KsX|J{UpK1FwHNj$Z+(schCBD zM_gHg*s@1kEfEq#kO+oNeF`5+WgYP0?ASj$V8)lt%@5mUZ{Zz6HWE@x`eBY~@S#Mk zKJzp{$`^Ii4w>x9o|x~ijgX9~3Ib!0lc|JgJ$xLb8R>ZYLCl?+^L@-51(EvKJw(vS zFC}6{+>PNH=3U;K7d^%Ld+XCF;shdS6CipglV2Mc-TErA>PvoKYjAL{9C`lkraYfj zqqe66YJAznpX<7!!8lmEs7XPj`I{g@N1{r!%I%uMUi~Pkuz&k+&SHxPh**D>B;Xq8 zlh>wF>5{+cZa>s^>m4hX?i=}-W{8kr3lf1ddIvs~hKmE&_U@%q_HU{Yk^yIy91NILIf-b6nz2F3x!(4nDamoR zb$bwzsn|^zhI3VkIZYLq)m^DGdw-h{&EpW`LWi9`>)CL|S#*`h3fnpz?c8 zgj4@HfRLjb6$EAws!Ghj4Z?a8KSm66>Q#MSQVK6jvUf0v2(5oONV|RxU0JXZFT98! z%`#7UQ3j`nM2;r{ZiKOEd4OJvgWUDzsseQ(C<09W`%F)rT)zb>EDi|RB@LH5pXO?P}`%Yd77@c@E_k3IQnUa>J&_NO>mLo!&yuFpyR4{E- zex_N+hUpglC$zbvzJ`koMyUDOf_s4hRw)LMq!EF zs$u0GpF4Ioxrm=lc9ci;`7c65BYEcF&?K*Hr9#wSu#N;wMNr(qRw9cp^SvfNqr;C2-9f=Wc zbvfeWkBCreKk9gZ-;%!7tK4swhz(H0Tj+#?SPobMCjX%3Li-Oq zsa)(nvV)%RGR6=YlDsjHT&vT?4q|$j7UC^T8E`fVE z-0=%qd=iPqF9o_=oR|Rc12>oXmsB<&k^7eD&}qXLCq2L9 zp`?p66GBiq2}t3-DZ6*s7GxoDN;gq%P=;@uHiE16=y#-X8VFxQH+Es&VvFy~I<*4s^O;$<(4^Swz{PAHq z5{*g(E!K_zU-&BS^0E|XB=WKaDmGq#eL5%iV!()b)kw8pLTc>;DiXkXkX)Mzv;-x* z$A^Fqk@2t@-#EjP`+Vtc)X}_Gu(G2W!(GF;Pn3LrMWW4q0q4mnfd3NWIdH3jaW~#d zbacijnmkO3?+rx#Oo?S(G5EAs$>W^wDItklBWUV^V+dz4hC~Ykf#TD>l5FL- zPG4nwtw$i0cU7?e1v%-*JZbBuZYE;n^EPj*ik*rpm8&ZqFT3rGJuEOSTo1D?m2@xQ}HnXW_|C{xFl=t zaim&nk~?BS9bTKynIh|4j6`Es(k%{@;d_z}=4PrgL!Y8dy^8~IZM3*y=2qQ7sH>e6 zb#NPi_3E`3TNjh|f{9v1RVM&<2|fNthwxXTE2RX>dG*bTd*W1w6n5 zPQ5rI6ZkXII7Vb^3dqKZzLMnPkflu6*K|omU;V(OUGV{WVV^>^W%d-oLU7s)XnC-d!@SwM^Zr1POO*EB#A zbv3V~RI})=yj9JZ%jFvIlvt^3GSb2D-+Db zaHpJd04&4P9N)m}C$A#azK^Wl1G}o7@Ar5*pP6ENZAvx|z^V!7pFSV)>4R=Nm)yG- zY|-z(g-^%6I%Boy zc`Zn_P9QH+pbZaO*yZFC_bn4OiYhn>)&V>yQF@kN3v)2=Oi1|((8``)o48E-wiUB# zc2lVK3XqQBX&2=}7KbtWi(Ly9QVE{Ou>E_}lMi zQnTBDk29I1iH+o+>`0x}qq1VFuU^OKXFDo-atqJAXR$!8>UIxGXuy(8gg-6m{f$1u z=rdGzbaSKWVL$#{gS=}i?GFbBs7zeaHWE=@_hARvr0HZus2UA9*-6~y+fe}qKZXBB zRET>n|8vs^u!A;**3`g*nck zHzScjcJ;|3d%hPMkliEG6v9Ct&WvH7p14lwX#Gr5yjBM=#qrYrWCDHeyulZVF zdJ%J5PuR@Au`ejQ7Daz|iyjU99c~k%gBp(F|1+jqI=fEEzg8wVa&o1E=hI)4u3M!G zsYFk>{B%<&fe(=x5R>AIV7Ak|;$vm&%Xp4g9GCr`bKi9m2Cq4A*%KF^7J9Lio)0zq zGK$kww}?M^#a(@`wXrI4L0I^Hhn!Gk7C>*Lut_(;k4Dfj8LSS;KfK133WK@|UA zVp@i0*4t}jUw9s_F}UfM`g4)h!SJxB>mvNpB+zqHv7Z#pj)YjhBNh-CJ!D0+)Rhj!1QUCN0EPg&M3O&gh?sF{DlKLl1h zZAJ{zRxFmxFz4u|O|4h-6yklGi!Kr6)yV_puXNTRYS)j%{bDtKuh+#H<9sD9&A6H5 z=fGV#=D~{I3SoyN9VQ3K1Q=T+hX@CWm~TTr{`^>T*B`qjt5|6VN~R)etBY_fECmg* zD83jNXnNhfaFXr*A6v< z*cVVu#}_-vTc7>Iu5*-%rG|RW=4lV$HqD0xlw3of`mjk4bI=Zt{S$TJY@6}Bl8QHT z2QHq_JXp1X3@e0RYG~@LA@Wktfj=#+;QsQb4MuG2FI3nhpCb(sJ5?SWQM=t{njsPD zdIyzoik~tvlRqgm8-^PHd5qAGRMx>|zNN(I!d1%I;!ICrUTdssr9P+>UBKl_2^!$9I@c9 zlpOq9G?(E9g>It%HTyq|3TuzQRj+eu(@US%;~gt;w?%I@=%VFJyYT`h0UMj%JVj=B zIEa~O{NHNS?EQ?IkUZ|YnC=k>|Z}EBxZA0 zmSp8!?JCK?b{*X}bXejT5Yf)c{4a`5#J7w;?)&)8A9u6k&kYFf+;puxipF%y42}gh z8Ty|KB2zUS#mw;Mu#f81D=sBSTAq1kb-wpPO{$UH1bEe=OY^py(2J#beyEw4l;~|) z`SEWaT`l!`xjm8mbG(}EFV2VdBC`*X$ZRD29ZMv$FQZ1*7#Q=t^CJ$+@2QiH9qU$9 zKVRVwWHzuFnT>(wqGmMq@2Rq^$d$#(rMF(0JN=@d)q@jeHT1y=Z_7I*E+Mnw{)O>3 s*gsIq-zfx1udk?hH9O0e?0SBVJ?}cIj~&v9$V^k7{>SfH*-T-WiV%8Im*H`=BN#YFe0LjsDvn5Uz!M!5PhmN9MVM>=4HxB zUL`F}FcqV%Lp!T96k^(KnBA133rtFra0Pjxu=9sLbUr+A&Uw!B{vOWlMg8^H`oLB* z_AHQMfGyqsLD`1tfcqDMkRiv@>}^|df{SCu?g;*998(quK_T}^jS7MUCIxA zlk>V}NXHMx4Pa+}baThgGA)bzaMod^(39M9&52L60wDkUA>SEsClTfXKQ8 zvsSn-!>Oegbr@Ia8&vQzvEWw^-Aq=hW|(Ca+dLwE1?>v;kbGa#j0{jm3sS{s3oHrpjr{$hxnLC2}vlTR}tC%Sdt`v zG_0ci9>GnTOvaG#K2fXhGs diff --git a/android/.gradle/8.12/executionHistory/executionHistory.bin b/android/.gradle/8.12/executionHistory/executionHistory.bin index 5181326485852ecfda72da2f4d0b17482934dfcc..2cd6e029b0b767ba743250358f1820fc9d67597a 100644 GIT binary patch delta 98857 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 M)x4RfuX-%}FB~*`=l}o! delta 115981 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 delta 152072 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

%Qi!dEgYr6+gn3 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 F{{?Hf%jp0B diff --git a/android/.gradle/8.12/fileHashes/fileHashes.lock b/android/.gradle/8.12/fileHashes/fileHashes.lock index 3a5900c00aa6953c7010412390bcc97cb98089ed..4e5428244231fe3b1246a4cd4bbcab68cd9cb28d 100644 GIT binary patch literal 17 WcmZR+aA%*%BgHa41`uHKEdl^JUj*s^ literal 17 WcmZR+aA%*%BgHa41`uHU*#rPO#08}Q diff --git a/android/.gradle/8.12/fileHashes/resourceHashesCache.bin b/android/.gradle/8.12/fileHashes/resourceHashesCache.bin index 5f190fd428028e8d32cf1f21b50e148a547933ad..ff89fb1f5eb2d4ed9a24a3058a058c5783f4cb44 100644 GIT binary patch delta 1198 zcmbRBk7Mg&&J89KjGUWIB|2I8O=P{Z?r;CW00K-79GkbwdJ8kY+`f*3$(DI@n2Bfv zBkSax9s`4?qEAXMCb71H6*4M_LTK&hZ0~n<;iWkD0zse{i4l^ zXFf{tTYH_{bTcm;s#I$;=W`=QCLPY{7dsi%Hm`o+;>^gn{ew26AwT~uR$+4WY?JLh1h#X~?%y=;3RLl??V{z34>|egH~e~5_$&=7nz#LJ1EaMdEE_D7AU3V;38f#Knz@4&vK^cIvQC zmzHAWo4z4|QK>$Z_0;|uQhkOCavt2!6`E8B)FfvNBqV`Y5QGI}UVV6(lX1s&Q{|st zr4N_0F;z^tRO}pB-+%wYY{_HSy`WlM(bADkIyV$B7bEc~8w nuV?OhWy(ttr;CSrcZQcESGpH`lR$?5^F2Oa0Su- zP_Vt-k!dF5_MNVb4J_MVxHBm*ZtwJF4B*<{5zNHN#-u-UqGHALcjiod+qq&GyEqwd zZ=agV_>g6LUlwBl>vpjMMsxPJF{u=>-3Ei7(jrvTNeOBSOxn4 literal 17 WcmZQ>JF{u=>-3Ei7(jqkTm=9^X9a!$ diff --git a/android/.gradle/file-system.probe b/android/.gradle/file-system.probe index 038f9ec8a0811208df00d1a2bea89da3bc9ed1b9..296968ac27dcc341cbbb8e1e9de0bdb887fd1f98 100644 GIT binary patch literal 8 PcmZQzV4NeHWUmYW1yuom literal 8 PcmZQzV4QvRn@uSI3OEB9 diff --git a/android/app/src/main/kotlin/com/ejada/hmg/live_activity/CustomActiviy.kt b/android/app/src/main/kotlin/com/ejada/hmg/live_activity/CustomActiviy.kt index ed61a50..0ecdcfe 100644 --- a/android/app/src/main/kotlin/com/ejada/hmg/live_activity/CustomActiviy.kt +++ b/android/app/src/main/kotlin/com/ejada/hmg/live_activity/CustomActiviy.kt @@ -42,41 +42,30 @@ class CustomLiveActivityManager(context: Context) : Log.d("updateRemoteViews", "current ticket is ${data["queueNo"] as? String ?: ""}") Log.d("updateRemoteViews", "remoteViews is $remoteViews") - val (nextStepButtonBackground, textColor, containerBackground) = when (data["callType"] as? Int) { - 0 -> Triple(R.drawable.grey_rounded_corner_widget, R.color.text_color, R.drawable.whitebg_yellow_border_rounded_corner_widget) - 1 -> Triple(R.drawable.dark_red_rounded_corner_widget, R.color.colorWhite, R.drawable.whitebg_red_border_rounded_corner_widget) - 2 -> Triple(R.drawable.green_rounded_corner_widget, R. color.colorWhite, R. drawable.whitebg_green_border_rounded_corner_widget) - else -> Triple(R. drawable.grey_rounded_corner_widget, R.color.text_color, R.drawable.whitebg_yellow_border_rounded_corner_widget) + val progress = when (data["callType"] as? Int) { + 0 -> 33 + 1 -> 66 + 2 ->99 + else -> 99 } - var (currentServingBackground, currentServingFontColor) = when (data["currentlyServingCallType"] as? Int) { - 1->Pair(R.drawable.red_rounded_corner_widget, R.color.colorWhite) - else ->Pair(R.drawable.green_rounded_corner_widget, R.color.colorWhite) - } - remoteViews.setInt(R.id.nextStep, "setBackgroundResource", nextStepButtonBackground) - remoteViews.setInt(R.id.status, "setBackgroundResource", currentServingBackground) - remoteViews.setInt(R.id.container, "setBackgroundResource", containerBackground) - remoteViews.setTextColor(R.id.nextStep, ContextCompat.getColor(context, textColor)) - remoteViews.setTextColor(R.id.status, ContextCompat.getColor(context, currentServingFontColor)) - remoteViews.setTextViewText(R.id.countvalue, data["queueNo"] as? String ?: "") - remoteViews.setTextViewText(R.id.status, data["currentlyServingStatus"] as? String ?: "") - remoteViews.setTextViewText(R. id.currentlyserving, data["currentlyServingTitle"] as? String ?: "") - remoteViews.setTextViewText(R.id.nextStep, data["nextTicketStatus"] as? String ?: "") + + + remoteViews.setTextViewText(R.id.queue_number, data["queueNo"] as? String ?: "") + remoteViews.setTextViewText(R.id.currentServingStatus, data["currentlyServingStatus"] as? String ?: "") + remoteViews.setTextViewText(R. id.serving_number, data["currentlyServingToken"] as? String ?: "") + remoteViews.setTextViewText(R.id.status_text, data["nextTicketStatus"] as? String ?: "") + remoteViews.setTextViewText(R.id.queue_label, data["yourTicketHeader"] as? String ?: "") + remoteViews.setTextViewText(R.id.serving_label, data["currentlyServingTitle"] as? String ?: "") } private suspend fun updateCollapsedView(data: Map) { Log.d("updateCollapsedView", "current ticket is ${data["queueNo"] as? String ?: ""}") Log.d("updateCollapsedView", "remoteViews is $collapesView") - val containerBackground = when (data["callType"] as? Int) { - 0 -> R.drawable.whitebg_yellow_border_rounded_corner_widget - 1 -> R. drawable.whitebg_red_border_rounded_corner_widget - 2 -> R.drawable. whitebg_green_border_rounded_corner_widget - else -> R.drawable.whitebg_yellow_border_rounded_corner_widget - } - collapesView.setInt(R.id.container, "setBackgroundResource", containerBackground) - collapesView.setTextViewText(R.id.countvalue_collapsed, data["queueNo"] as? String ?: "") + collapesView.setTextViewText(R.id.queue_number, data["queueNo"] as? String ?: "") + remoteViews.setTextViewText(R.id.queue_label, data["yourTicketHeader"] as? String ?: "") } override suspend fun buildNotification( diff --git a/android/app/src/main/res/drawable/icon.xml b/android/app/src/main/res/drawable/icon.xml new file mode 100644 index 0000000..68ce3c2 --- /dev/null +++ b/android/app/src/main/res/drawable/icon.xml @@ -0,0 +1,15 @@ + + + + diff --git a/android/app/src/main/res/drawable/profession.xml b/android/app/src/main/res/drawable/profession.xml new file mode 100644 index 0000000..7282bc0 --- /dev/null +++ b/android/app/src/main/res/drawable/profession.xml @@ -0,0 +1,13 @@ + + + + diff --git a/android/app/src/main/res/drawable/progress_bar_drawable.xml b/android/app/src/main/res/drawable/progress_bar_drawable.xml new file mode 100644 index 0000000..9d08e71 --- /dev/null +++ b/android/app/src/main/res/drawable/progress_bar_drawable.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/progress_thumb.xml b/android/app/src/main/res/drawable/progress_thumb.xml new file mode 100644 index 0000000..4c5e39f --- /dev/null +++ b/android/app/src/main/res/drawable/progress_thumb.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/queue_card_background.xml b/android/app/src/main/res/drawable/queue_card_background.xml new file mode 100644 index 0000000..da4d720 --- /dev/null +++ b/android/app/src/main/res/drawable/queue_card_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/queue_card_background_low_radius.xml b/android/app/src/main/res/drawable/queue_card_background_low_radius.xml new file mode 100644 index 0000000..0d59d1b --- /dev/null +++ b/android/app/src/main/res/drawable/queue_card_background_low_radius.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/drawable/seekbar_thumb_image.xml b/android/app/src/main/res/drawable/seekbar_thumb_image.xml new file mode 100644 index 0000000..ba9b8c7 --- /dev/null +++ b/android/app/src/main/res/drawable/seekbar_thumb_image.xml @@ -0,0 +1,11 @@ + + + diff --git a/android/app/src/main/res/drawable/status_box_background.xml b/android/app/src/main/res/drawable/status_box_background.xml new file mode 100644 index 0000000..148bcef --- /dev/null +++ b/android/app/src/main/res/drawable/status_box_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/layout/live_activity.xml b/android/app/src/main/res/layout/live_activity.xml index fb92989..12a378e 100644 --- a/android/app/src/main/res/layout/live_activity.xml +++ b/android/app/src/main/res/layout/live_activity.xml @@ -1,116 +1,176 @@ - - + + android:layout_height="wrap_content"> + - - + android:layout_height="match_parent" + android:background="@drawable/queue_card_background" + android:orientation="vertical" + android:padding="24dp"> - + - - + + + + - + + + + + + + + + + + + - android:layout_below="@id/nextStep_ll" - android:layout_alignParentStart="true" - /> + + + - + + + - + + android:gravity="start|center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + - - - - + diff --git a/android/app/src/main/res/layout/live_activity_collapsed.xml b/android/app/src/main/res/layout/live_activity_collapsed.xml index 188b63f..096f542 100644 --- a/android/app/src/main/res/layout/live_activity_collapsed.xml +++ b/android/app/src/main/res/layout/live_activity_collapsed.xml @@ -1,32 +1,63 @@ - - - - - - - - + + android:background="@drawable/queue_card_background_low_radius"> + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml index 474cff4..4400469 100644 --- a/android/app/src/main/res/values/colors.xml +++ b/android/app/src/main/res/values/colors.xml @@ -6,4 +6,8 @@ #332E3039 #A2A2A2 #FFFF + #8F9AA3 + #2E3039 + #18C273 + \ No newline at end of file diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index b8fc7eb..cde290e 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -877,5 +877,9 @@ "walkin": "زيارة بدون موعد", "laserClinic": "عيادة الليزر", "continueString": "يكمل", - "covid_info": "تجري مستشفيات د. سليمان الحبيب فحص فيروس كورونا المستجد وتصدر شهادات السفر على مدار الساعة، طوال أيام الأسبوع، وبسرعة ودقة عالية. يمكن للراغبين في الاستفادة من هذه الخدمة زيارة أحد فروع مستشفيات د. سليمان الحبيب وإجراء فحص كورونا خلال بضع دقائق والحصول على النتائج خلال عدة ساعات خدمة فحص فيروس كورونا Covid 19 بتقنية PCR للكشف عن الفيروس وفقاً لأعلى المعايير العالمية وبأحدث أجهزة RT-PCR عالية الدقة (GeneXpert الأمريكي وغيره)، وهي طرق معتمدة من قبل هيئة الغذاء والدواء وكذلك من قبل المركز السعودي للوقاية من الأمراض المُعدية" + "covid_info": "تجري مستشفيات د. سليمان الحبيب فحص فيروس كورونا المستجد وتصدر شهادات السفر على مدار الساعة، طوال أيام الأسبوع، وبسرعة ودقة عالية. يمكن للراغبين في الاستفادة من هذه الخدمة زيارة أحد فروع مستشفيات د. سليمان الحبيب وإجراء فحص كورونا خلال بضع دقائق والحصول على النتائج خلال عدة ساعات خدمة فحص فيروس كورونا Covid 19 بتقنية PCR للكشف عن الفيروس وفقاً لأعلى المعايير العالمية وبأحدث أجهزة RT-PCR عالية الدقة (GeneXpert الأمريكي وغيره)، وهي طرق معتمدة من قبل هيئة الغذاء والدواء وكذلك من قبل المركز السعودي للوقاية من الأمراض المُعدية", + "callForVitalSign": "استدعاء لأخذ العلامات الحيوية", + "callForDoctor": "استدعاء الطبيب", + "yourQueueNumber": "رقمك في الدور", + "currentServing": "الدور الحالي" } \ No newline at end of file diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 7839083..c3ec0ad 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -873,5 +873,9 @@ "walkin": "Walk In", "continueString": "Continue", "laserClinic": "Laser Clinic", - "covid_info" :"Dr. Sulaiman Al Habib hospitals are conducting a test for the emerging corona virus and issuing travel certificates 24/7 in a short time and with high accuracy. Those wishing to benefit from this service can visit one of Dr. Sulaiman Al Habib branches to conduct a corona test within few minutes, and obtain the result within several hours. Corona Virus Covid 19 testing service with PCR technology to detect the virus according to the highest international standards and with the latest high-precision RT-PCR devices (American GeneXpert and others), That is approved by the Food and Drug Authority as well as by the Saudi Center for Infectious Diseases Prevention." + "covid_info" :"Dr. Sulaiman Al Habib hospitals are conducting a test for the emerging corona virus and issuing travel certificates 24/7 in a short time and with high accuracy. Those wishing to benefit from this service can visit one of Dr. Sulaiman Al Habib branches to conduct a corona test within few minutes, and obtain the result within several hours. Corona Virus Covid 19 testing service with PCR technology to detect the virus according to the highest international standards and with the latest high-precision RT-PCR devices (American GeneXpert and others), That is approved by the Food and Drug Authority as well as by the Saudi Center for Infectious Diseases Prevention.", + "callForVitalSign": "Call for vital signs", + "callForDoctor": "Call for Doctor", + "yourQueueNumber": "Your Queue Number", + "currentServing" : "Current Serving" } \ No newline at end of file diff --git a/ios/AppWidget/AppWidgetLiveActivity.swift b/ios/AppWidget/AppWidgetLiveActivity.swift index 8702b3b..51a4122 100644 --- a/ios/AppWidget/AppWidgetLiveActivity.swift +++ b/ios/AppWidget/AppWidgetLiveActivity.swift @@ -1,13 +1,7 @@ -// -// AppWidgetLiveActivity.swift -// AppWidget -// -// Created by Cloud Solutions on 15/12/2025. -// - import ActivityKit import WidgetKit import SwiftUI + struct LiveActivitiesAppAttributes: ActivityAttributes, Identifiable { public typealias LiveDeliveryData = ContentState // don't forget to add this line, otherwise, live activity will not display it. @@ -112,304 +106,86 @@ struct NotificationWidgetView: View { private let data: NotificationWidgetData init(data: NotificationWidgetData) { + print("it is being loaded") self.data = data } - - - var body : some View{ -// ZStack(){ - body2 -// .frame(width: .infinity, height: 400 ) -// .padding(.top, 340) -// .cornerRadius(20) -// }.background(data.colorConfig.containerBorderColor) -// .cornerRadius(20) - - } - var body2: some View { - VStack(alignment: .leading, spacing: 0) { - // Top section with current ticket and image - HStack(alignment: .top, spacing: 0) { - // Current ticket value - Text(data.currentTicket) - .font(.custom("Poppins-Medium", size: 28)) - .fontWeight(.bold) - .foregroundColor(.black) - .padding(.trailing, 10) - .frame(maxWidth: .infinity, alignment: .leading) + var body: some View { + ZStack { + data.colorConfig.containerBorderColor // Background color + .edgesIgnoringSafeArea(.all) // Ensure it covers the entire screen + + VStack(alignment: .leading, spacing: 0) { + // Top section with current ticket and image + HStack(alignment: .top, spacing: 0) { + // Current ticket value + Text(data.currentTicket) + .font(.custom("Poppins-Medium", size: 28)) + .fontWeight(.bold) + .foregroundColor(.black) + .padding(.trailing, 10) + .frame(maxWidth: .infinity, alignment: .leading) - Image(data.imageName) - .resizable() - .scaledToFit() - .frame(width: 34, height: 34) - } - .padding(.top, 16) - .padding(.horizontal, 16) - - // Currently Serving Header - Text(data.currentlyServingHeader) - .font(.custom("Poppins-Medium", size: 14)) - .fontWeight(.bold) - .foregroundColor(.black) - .padding(.trailing, 12) - .padding(.bottom, 10) + Image(data.imageName) + .resizable() + .scaledToFit() + .frame(width: 34, height: 34) + } + .padding(.top, 16) .padding(.horizontal, 16) - // Currently Serving section with status - HStack(alignment: .center, spacing: 0) { - // Currently serving text - Text(data.currentlyServing) - .font(.custom("Poppins-Medium", size: 16)) + // Currently Serving Header + Text(data.currentlyServingHeader) + .font(.custom("Poppins-Medium", size: 14)) .fontWeight(.bold) .foregroundColor(.black) - .frame(maxWidth: .infinity, alignment: .leading) + .padding(.trailing, 12) + .padding(.bottom, 10) + .padding(.horizontal, 16) + + // Currently Serving section with status + HStack(alignment: .center, spacing: 0) { + // Currently serving text + Text(data.currentlyServing) + .font(.custom("Poppins-Medium", size: 16)) + .fontWeight(.bold) + .foregroundColor(.black) + .frame(maxWidth: .infinity, alignment: .leading) + + // Status badge + Text(data.status) + .font(.custom("Poppins-Medium", size: 12)) + .foregroundColor(data.colorConfig.nextStepTextColor) + .padding(.horizontal, 12) + .padding(.vertical, 8) + .background( + RoundedRectangle(cornerRadius: 8) + .fill(Color.inactiveColor.opacity(0.2)) + ) + } + .padding(.horizontal, 16) - // Status badge - Text(data.status) + Spacer() + + // Next Step badge + Text(data.nextStep) .font(.custom("Poppins-Medium", size: 12)) .foregroundColor(data.colorConfig.nextStepTextColor) .padding(.horizontal, 12) .padding(.vertical, 8) .background( RoundedRectangle(cornerRadius: 8) - .fill(Color.inactiveColor.opacity(0.2)) + .fill(data.colorConfig.nextStepBackground) ) + .padding(.horizontal, 16) + .padding(.bottom, 16) } - .padding(.horizontal, 16) - Spacer() - // Next Step badge - Text(data.nextStep) - .font(.custom("Poppins-Medium", size: 12)) - .foregroundColor(data.colorConfig.nextStepTextColor) - .padding(.horizontal, 12) - .padding(.vertical, 8) - .background( - RoundedRectangle(cornerRadius: 8) - .fill(data.colorConfig.nextStepBackground) - ) - .padding(.horizontal, 16) - .padding(.bottom, 16) - } - .background(Color.black.opacity(0.01)) - .cornerRadius(20) - -// .border(width: 10, edges: [.top, .bottom], color: data.colorConfig.containerBorderColor) -// .border(width: 2, edges: [.leading, .trailing], color: data.colorConfig.containerBorderColor) -// .overlay( -// RoundedRectangle(cornerRadius: 20) -// .stroke(data.colorConfig.containerBorderColor, lineWidth: 20) -// ) - } -} - -extension View { - func border(width: CGFloat, edges: [Edge], color: Color) -> some View { - overlay(EdgeBorder(width: width, edges: edges).foregroundColor(color)) + .background(Color.white) // Ensure content has a white background .cornerRadius(20) - - } -} - -struct EdgeBorder: Shape { - var width: CGFloat - var edges: [Edge] - - func path(in rect: CGRect) -> Path { - edges.map { edge -> Path in - switch edge { - case .top: return Path(.init(x: rect.minX, y: rect.minY, width: rect.width, height: width)) - case .bottom: return Path(.init(x: rect.minX, y: rect.maxY - width, width: rect.width, height: width)) - case .leading: return Path(.init(x: rect.minX, y: rect.minY, width: width, height: rect.height)) - case .trailing: return Path(.init(x: rect.maxX - width, y: rect.minY, width: width, height: rect.height)) - } - }.reduce(into: Path()) { $0.addPath($1) } + .padding() // Add padding to ensure it doesn't touch the edges + } } } -// MARK: - Main Widget View -//working widget but the border is not appearing -// struct NotificationWidgetView: View { -// private let data: NotificationWidgetData -// -// init(data: NotificationWidgetData) { -// self.data = data -// } -// -// var body: some View { -// VStack(alignment: .leading, spacing: 0) { -// -// VStack(alignment: .leading, spacing: 0) { -// // Top section with current ticket and image -// HStack(alignment: .top, spacing: 0) { -// // Current ticket value -// Text(data.currentTicket) -// .font(.custom("Poppins-Medium", size: 28)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// .padding(.trailing, 10) -// -// .frame(maxWidth: .infinity, alignment: .leading) -// -// Image(data.imageName) -// .resizable() -// .scaledToFit() -// .frame(width: 34, height: 34) -// } -// -// // Currently Serving Header -// Text(data.currentlyServingHeader) -// .font(.custom("Poppins-Medium", size: 14)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// .padding(.trailing, 12) -// .padding(.bottom, 10) -// -// // Currently Serving section with status -// HStack(alignment: .center, spacing: 0) { -// // Currently serving text -// Text(data.currentlyServing) -// .font(.custom("Poppins-Medium", size: 16)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// .frame(maxWidth: .infinity, alignment: .leading) -// -// // Status badge -// Text(data.status) -// .font(.custom("Poppins-Medium", size: 12)) -// .foregroundColor(data.colorConfig.nextStepTextColor) -// .padding(.horizontal, 12) -// .padding(.vertical, 8) -// .background( -// RoundedRectangle(cornerRadius: 8) -// .fill(Color.inactiveColor.opacity(0.2)) -// ) -// } -// -// // Next Step badge -// Text(data.nextStep) -// .font(.custom("Poppins-Medium", size: 12)) -// .foregroundColor(data.colorConfig.nextStepTextColor) -// .padding(.horizontal, 12) -// .padding(.vertical, 8) -// .background( -// RoundedRectangle(cornerRadius: 8) -// .fill(data.colorConfig.nextStepBackground) -// ) -// -// } -// -// -// }.padding() -// .background( RoundedRectangle(cornerRadius: 20) -// -// .fill(Color.white) -// ) -// // .border(data.colorConfig.containerBorderColor, width: 2) -// -// .overlay( -// RoundedRectangle(cornerRadius: 20) -// .stroke(data.colorConfig.containerBorderColor, lineWidth: 1) -// // RoundedRectangle(cornerRadius: 12, style: .continuous) -// // .stroke(data.colorConfig.containerBorderColor, lineWidth: 5) -// ) -// -// // .padding(12) -// } -// } - - -// MARK: - Main Widget View -// struct NotificationWidgetView: View { -// private let data: NotificationWidgetData -// -// init(data: NotificationWidgetData) { -// self.data = data -// } -// -// var body: some View { -// // Use a ZStack as the base to layer the background and content -// ZStack { -// // Layer 1: Glass effect background with border on all sides -// RoundedRectangle(cornerRadius: 12, style: .continuous) -// .strokeBorder(data.colorConfig.containerBorderColor, lineWidth: 3) -// .background( -// RoundedRectangle(cornerRadius: 12, style: .continuous) -// -// .background( -// RoundedRectangle(cornerRadius: 12, style: .continuous) -// .fill(Color.white) -// ) -// ) -// .shadow(color: Color.black.opacity(0.1), radius: 8, x: 0, y: 4) -// -// -// // Layer 2: Your content, padded from the edges -// VStack(alignment: .leading, spacing: 0) { -// // Top section with current ticket and image -// HStack(alignment: .top, spacing: 0) { -// Text(data.currentTicket) -// .font(.custom("Poppins-Medium", size: 28)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// .padding(.trailing, 10) -// -// Spacer() // Pushes the image to the trailing edge -// -// Image(systemName: data.imageName) -// .resizable() -// .scaledToFit() -// .frame(width: 24, height: 24) -// .foregroundColor(.gray) -// } -// -// // Currently Serving Header -// Text(data.currentlyServingHeader) -// .font(.custom("Poppins-Medium", size: 14)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// .padding(.top, 4) // Adjusted padding -// .padding(.bottom, 10) -// -// // Currently Serving section with status -// HStack(alignment: .center, spacing: 0) { -// Text(data.currentlyServing) -// .font(.custom("Poppins-Medium", size: 16)) -// .fontWeight(.bold) -// .foregroundColor(.black) -// -// Spacer() // Pushes status to the trailing edge -// -// Text(data.status) -// .font(.custom("Poppins-Medium", size: 12)) -// .foregroundColor(data.colorConfig.nextStepTextColor) -// .padding(.horizontal, 12) -// .padding(.vertical, 8) -// .background( -// RoundedRectangle(cornerRadius: 8) -// .fill(Color.inactiveColor.opacity(0.2)) -// ) -// } -// -// // Next Step badge -// Text(data.nextStep) -// .font(.custom("Poppins-Medium", size: 12)) -// .foregroundColor(data.colorConfig.nextStepTextColor) -// .padding(.horizontal, 12) -// .padding(.vertical, 8) -// .background( -// RoundedRectangle(cornerRadius: 8) -// .fill(data.colorConfig.nextStepBackground) -// ) -// .padding(.top, 10) -// -// // **CRITICAL FIX**: Pushes all content to the top -// // and makes the VStack fill the available height. -// Spacer(minLength: 0) -// } -// .padding(15) // Apply padding to the content VStack instead -// } -// } -// } // MARK: - Live Activity Widget @@ -418,13 +194,16 @@ struct AppWidgetLiveActivity: Widget { var body: some WidgetConfiguration { ActivityConfiguration(for: LiveActivitiesAppAttributes.self) { context in // Extract parameters from Flutter - let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "test" - let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "test" - let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("currentTicket")) ?? "test" - let status = sharedDefault.string(forKey: context.attributes.prefixedKey("status")) ?? "test" - let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServing")) ?? "test" - let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("nextStep")) ?? "test" - let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("nextStepBackground")) + print("it is being loaded") +// print("the queno is \(context.attributes.prefixedKey("title")) ===== \(sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) )") + let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" + let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" + let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "test1234" + let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "test3345" + let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "tes" + let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ?? + "test111" + let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType")) // Get color configuration based on nextStepBackground let colorConfig = WidgetColorConfig.config(for: nextStepBackground) @@ -432,26 +211,27 @@ struct AppWidgetLiveActivity: Widget { // Create widget data let widgetData = NotificationWidgetData( currentTicket: currentTicket, - currentlyServingHeader: "Currently Serving:", + currentlyServingHeader: "Currently Servingsssssssss:", currentlyServing: currentlyServing, status: status, nextStep: nextStep, imageName:"hmg", colorConfig: colorConfig ) - - // Lock screen/banner UI - NotificationWidgetView(data: widgetData) - .activityBackgroundTint(Color.clear) - .activitySystemActionForegroundColor(Color.black) - + NotificationWidgetView(data: widgetData) + .activityBackgroundTint(Color.clear) + .activitySystemActionForegroundColor(Color.black) } dynamicIsland: { context in - let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("currentTicket")) ?? "" - let status = sharedDefault.string(forKey: context.attributes.prefixedKey("status")) ?? "" - let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServing")) ?? "" - let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("nextStep")) ?? "" - let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("nextStepBackground")) + let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" + let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" + let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "test1234" + let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "test3345" + let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "tes" + let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ?? + "test111" + let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType")) + let colorConfig = WidgetColorConfig.config(for: nextStepBackground) @@ -536,7 +316,7 @@ struct AppWidgetLiveActivity: Widget { .frame(width: 4, height: 4) .foregroundColor(colorConfig.containerBorderColor) }.padding(2) - + } .contentMargins(.all, 20,for: .expanded) } @@ -557,7 +337,7 @@ struct NotificationWidgetView_Previews: PreviewProvider { NotificationWidgetView( data: NotificationWidgetData( currentTicket: "42", - currentlyServingHeader: "Currently Serving:", + currentlyServingHeader: "Currently Serving3:", currentlyServing: "Customer #15", status: "Pending", nextStep: "Next: Prepare Order", @@ -566,12 +346,12 @@ struct NotificationWidgetView_Previews: PreviewProvider { ) ) .previewDisplayName("Yellow Border (0)") - + // Preview with nextStepBackground = 1 (Red border) NotificationWidgetView( data: NotificationWidgetData( currentTicket: "89", - currentlyServingHeader: "Currently Serving:", + currentlyServingHeader: "Currently Serving2:", currentlyServing: "Customer #67", status: "Active", nextStep: "Next: Quality Check", @@ -580,12 +360,12 @@ struct NotificationWidgetView_Previews: PreviewProvider { ) ) .previewDisplayName("Red Border (1)") - + // Preview with nextStepBackground = 2 (Green border) NotificationWidgetView( data: NotificationWidgetData( currentTicket: "125", - currentlyServingHeader: "Currently Serving:", + currentlyServingHeader: "Currently Serving1:", currentlyServing: "Customer #98", status: "Completed", nextStep: "Next: Ready for Pickup", @@ -599,3 +379,4 @@ struct NotificationWidgetView_Previews: PreviewProvider { .previewLayout(.sizeThatFits) } } + diff --git a/ios/AppWidgetLiveActivity/AppWidgetLiveActivityBundle.swift b/ios/AppWidgetLiveActivity/AppWidgetLiveActivityBundle.swift new file mode 100644 index 0000000..f1e9842 --- /dev/null +++ b/ios/AppWidgetLiveActivity/AppWidgetLiveActivityBundle.swift @@ -0,0 +1,17 @@ +// +// AppWidgetLiveActivityBundle.swift +// AppWidgetLiveActivity +// +// Created by Cloud Solutions on 27/01/2026. +// + +import WidgetKit +import SwiftUI + +@main +struct AppWidgetLiveActivityBundle: WidgetBundle { + var body: some Widget { + + AppWidgetLiveActivity() + } +} diff --git a/ios/AppWidgetLiveActivity/AppWidgetLiveActivityLiveActivity.swift b/ios/AppWidgetLiveActivity/AppWidgetLiveActivityLiveActivity.swift new file mode 100644 index 0000000..18e1abe --- /dev/null +++ b/ios/AppWidgetLiveActivity/AppWidgetLiveActivityLiveActivity.swift @@ -0,0 +1,575 @@ +import ActivityKit +import WidgetKit +import SwiftUI + + +struct LiveActivitiesAppAttributes: ActivityAttributes, Identifiable { + public typealias LiveDeliveryData = ContentState // don't forget to add this line, otherwise, live activity will not display it. + + public struct ContentState: Codable, Hashable { } + + var id = UUID() +} + + +let sharedDefault = UserDefaults(suiteName: "group.alhabib.patientApp")! +struct AppWidgetAttributes: ActivityAttributes { + public struct ContentState: Codable, Hashable { + // Dynamic stateful properties about your activity go here! + var emoji: String + } + + // Fixed non-changing properties about your activity go here! + var name: String +} + +extension Color { + static let redColorText = Color(hex: "#ED1C2B") + static let yellowColor = Color(hex: "#FFAF15") + static let successColor = Color(hex: "#18C273") + static let inactiveColor = Color(hex: "#ED1C2B") + static let textColor = Color(hex: "#A2A2A2") + static let colorWhite = Color(hex: "#FFFFFF") + + // Helper initializer for hex colors + init(hex: String) { + let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) + var int: UInt64 = 0 + Scanner(string: hex).scanHexInt64(&int) + let a, r, g, b: UInt64 + switch hex.count { + case 3: // RGB (12-bit) + (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17) + case 6: // RGB (24-bit) + (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF) + case 8: // ARGB (32-bit) + (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF) + default: + (a, r, g, b) = (255, 0, 0, 0) + } + self.init( + .sRGB, + red: Double(r) / 255, + green: Double(g) / 255, + blue: Double(b) / 255, + opacity: Double(a) / 255 + ) + } +} + +// MARK: - Widget Configuration based on nextStepBackground +struct WidgetColorConfig { + let nextStepBackground: Color + let nextStepTextColor: Color + let containerBorderColor: Color + + static func config(for value: Int) -> WidgetColorConfig { + switch value { + case 0: + return WidgetColorConfig( + nextStepBackground: .inactiveColor, + nextStepTextColor: .textColor, + containerBorderColor: .yellowColor + ) + case 1: + return WidgetColorConfig( + nextStepBackground: .redColorText, + nextStepTextColor: .colorWhite, + containerBorderColor: .redColorText + ) + case 2: + return WidgetColorConfig( + nextStepBackground: .successColor, + nextStepTextColor: .colorWhite, + containerBorderColor: .successColor + ) + default: + return WidgetColorConfig( + nextStepBackground: .inactiveColor, + nextStepTextColor: .textColor, + containerBorderColor: .yellowColor + ) + } + } +} + +// MARK: - Widget Data Model +struct NotificationWidgetData { + let currentTicket: String + let currentlyServingHeader: String + let currentlyServing: String + let status: String + let nextStep: String + let imageName: String + let colorConfig: WidgetColorConfig + let progress: Double + let yourTicketHeaderText : String +} +struct NotificationWidgetView: View { + private let data: NotificationWidgetData + private let backgroundColor: Color + let animateProgress = false + init(data: NotificationWidgetData, backgroundColor: Color = .white) { + print("it is being loaded") + self.data = data + self.backgroundColor = backgroundColor + } + + + var body : some View{ + ZStack { + // Dark background + Color(red: 0.15, green: 0.15, blue: 0.15) + .ignoresSafeArea() + + // Main card + VStack(alignment: .leading, spacing: 0) { + // Header section + HStack(alignment: .top) { + HStack( alignment: .center,spacing: 4) { + Text(data.currentTicket) + .font(.system(size: 32, weight: .bold, design: .default)) + .foregroundColor(Color(red: 0, green: 0.2, blue: 0.4)) + + Text(data.yourTicketHeaderText) + .font(.system(size: 14, weight: .regular)) + .foregroundColor(Color(hex: "#8F9AA3")) + } + + Spacer() + + // Hourglass icon + Image("clock") + .frame(width: 24, height:24 ) + .foregroundColor(Color(hex: "#2E3039")) + .padding(.top, 4) + } + .padding(.top,4) + + .padding(.bottom, 4) + + // Alert banner + HStack(spacing: 4) { + Image("profession") + + Text(data.nextStep) + .font(.system(size: 10, weight: .semibold)) + .foregroundColor(Color(hex:"#18C273")) + + } + .padding(8) + .background(Color(hex:"#1A18C273")) + .cornerRadius(8) + .padding(.bottom, 10) + + // Progress bar + VStack(alignment: .leading) { + ZStack(alignment: .leading) { + // Background track + Capsule() + .fill(Color(red: 0.9, green: 0.9, blue: 0.9)) + .frame(height: 4) + + // Progress fill + Capsule() + .fill(Color.green) + .frame(width: data.progress, height: 4) + .animation( + Animation.easeInOut(duration: 1.5) + .delay(0.3), + value: animateProgress + ) + + ZStack{ + Circle() + .fill(Color.white) + .frame(width: 12, height: 12) + + Circle() + .fill(Color.green) + .frame(width: 10, height: 10) + + .animation( + Animation.easeInOut(duration: 1.5) + .delay(0.3), + value: animateProgress + ) + } + .offset(x:data.progress) + + } + } + .padding(.bottom, 10) + + // Footer section + HStack { + VStack(alignment: .leading, spacing: 0) { + HStack(spacing: 4) { + Text(data.currentlyServingHeader) + .font(.system(size: 14, weight: .regular)) + .foregroundColor(Color(hex:"#8F9AA3")) + + Text(data.currentlyServing) + .font(.system(size: 18, weight: .bold)) + .foregroundColor(Color(hex:"#2E3039")) + } + } + + Spacer() + + // Visiting Nurse badge + HStack(spacing: 8) { + Image("profession") + .font(.system(size: 10, weight: .semibold)) + .foregroundColor(Color(hex: "#18C273")) + + Text(data.status) + .font(.system(size: 10, weight: .semibold)) + .foregroundColor(Color(hex: "#18C273")) + } + + .padding(8) + .background(Color(hex:"#1A18C273")) + .cornerRadius(8) + } + .padding(.horizontal, 8) + .padding(.bottom, 8) + } + .padding(24) + .background(backgroundColor) + .cornerRadius(24) + + } + + + } + // var body2 : some View { + // Text(data.currentTicket) + // .font(.custom("Poppins-Medium", size: 28)) + // .fontWeight(.bold) + // .foregroundColor(.black) + // .padding(.trailing, 10) + // .frame(maxWidth: .infinity, alignment: .leading) + // } +//current one that todo will be handled +// var body2: some View { +// VStack(alignment: .leading, spacing: 0) { +// // Top section with current ticket and image +// HStack(alignment: .top, spacing: 0) { +// // Current ticket value +// Text(data.currentTicket) +// .font(.custom("Poppins-Medium", size: 28)) +// .fontWeight(.bold) +// .foregroundColor(.black) +// .padding(.trailing, 10) +// .frame(maxWidth: .infinity, alignment: .leading) +// +// Image(data.imageName) +// .resizable() +// .scaledToFit() +// .frame(width: 34, height: 34) +// } +// .padding(.top, 16) +// .padding(.horizontal, 16) +// +// // Currently Serving Header +// Text(data.currentlyServingHeader) +// .font(.custom("Poppins-Medium", size: 14)) +// .fontWeight(.bold) +// .foregroundColor(.black) +// .padding(.trailing, 12) +// .padding(.bottom, 10) +// .padding(.horizontal, 16) +// +// // Currently Serving section with status +// HStack(alignment: .center, spacing: 0) { +// // Currently serving text +// Text(data.currentlyServing) +// .font(.custom("Poppins-Medium", size: 16)) +// .fontWeight(.bold) +// .foregroundColor(.black) +// .frame(maxWidth: .infinity, alignment: .leading) +// +// // Status badge +// Text(data.status) +// .font(.custom("Poppins-Medium", size: 12)) +// .foregroundColor(data.colorConfig.nextStepTextColor) +// .padding(.horizontal, 12) +// .padding(.vertical, 8) +// .background( +// RoundedRectangle(cornerRadius: 8) +// .fill(Color.inactiveColor.opacity(0.2)) +// ) +// } +// .padding(.horizontal, 16) +// Spacer() +// // Next Step badge +// Text(data.nextStep) +// .font(.custom("Poppins-Medium", size: 12)) +// .foregroundColor(data.colorConfig.nextStepTextColor) +// .padding(.horizontal, 12) +// .padding(.vertical, 8) +// .background( +// RoundedRectangle(cornerRadius: 8) +// .fill(data.colorConfig.nextStepBackground) +// ) +// .padding(.horizontal, 16) +// .padding(.bottom, 16) +// } +// .background(Color.black.opacity(0.01)) +// .cornerRadius(20) + +// .border(width: 10, edges: [.top, .bottom], color: data.colorConfig.containerBorderColor) +// .border(width: 2, edges: [.leading, .trailing], color: data.colorConfig.containerBorderColor) +// .overlay( +// RoundedRectangle(cornerRadius: 20) +// .stroke(data.colorConfig.containerBorderColor, lineWidth: 20) +// ) +// } +} + + +// MARK: - Live Activity Widget +struct AppWidgetLiveActivity: Widget { + + var body: some WidgetConfiguration { + ActivityConfiguration(for: LiveActivitiesAppAttributes.self) { context in + + // Extract parameters from Flutter + +// print("the queno is \(context.attributes.prefixedKey("title")) ===== \(sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) )") +// let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" +// let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" +// let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "test1234" +// let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "test3345" +// let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "tes" +// let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ?? +// "test111" +// let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType")) + + // let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" +// let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" + let currentTicket = getValueFromSharedDefaults("queueNo") + let status = getValueFromSharedDefaults("currentlyServingStatus") ?? "test3345" + let currentlyServing = getValueFromSharedDefaults("currentlyServingToken") + let currentlyServingHeader = getValueFromSharedDefaults("currentlyServingTitle") + let yourTicketHeader = getValueFromSharedDefaults("yourTicketHeader") + let nextStep = getValueFromSharedDefaults("nextTicketStatus") + let nextStepBackground = Int(sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingCallType")) ?? "0") ?? 0 + + + // Get color configuration based on nextStepBackground + let colorConfig = WidgetColorConfig.config(for: nextStepBackground) + + // Create widget data + let widgetData = NotificationWidgetData( + currentTicket: currentTicket, + currentlyServingHeader: currentlyServingHeader, + currentlyServing: currentlyServing, + status: status, + nextStep: nextStep, + imageName:"hmg", + colorConfig: colorConfig, + progress: 33 * Double(nextStepBackground), + yourTicketHeaderText : yourTicketHeader, + ) +// + // Lock screen/banner UI + NotificationWidgetView(data: widgetData) + + + // Text(widgetData.currentTicket) + // .font(.custom("Poppins-Medium", size: 28)) + // .fontWeight(.bold) + // .foregroundColor(.black) + // .padding(.trailing, 10) + // .frame(maxWidth: .infinity, alignment: .leading) + + } dynamicIsland: { context in + + let currentTicket = getValueFromSharedDefaults("queueNo") + let status = getValueFromSharedDefaults("currentlyServingStatus") ?? "test3345" + let currentlyServing = getValueFromSharedDefaults("currentlyServingToken") + let nextStep = getValueFromSharedDefaults("nextTicketStatus") + let nextStepBackground = Int(sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingCallType")) ?? "0") ?? 0 + let currentlyServingHeader = getValueFromSharedDefaults("currentlyServingTitle") + let yourTicketHeader = getValueFromSharedDefaults("yourTicketHeader") + let colorConfig = WidgetColorConfig.config(for: nextStepBackground) + let widgetData = NotificationWidgetData( + currentTicket: currentTicket, + currentlyServingHeader: currentlyServingHeader, + currentlyServing: currentlyServing, + status: status, + nextStep: nextStep, + imageName:"hmg", + colorConfig: colorConfig, + progress: 33 * Double(nextStepBackground), + yourTicketHeaderText: yourTicketHeader + ) + return DynamicIsland { + + // + // Lock screen/banner UI + + +// // Expanded UI + DynamicIslandExpandedRegion(.center) { + NotificationWidgetView(data: widgetData, backgroundColor: .black.opacity(0.4)).padding(-24) + } + +// DynamicIslandExpandedRegion(.trailing) { +// Image("hmg") +// .resizable() +// .scaledToFit() +// .frame(width: 34, height: 34) +// .foregroundColor(.gray) +// } +// +// DynamicIslandExpandedRegion(.center) { +// VStack(spacing: 4) { +// Text("Currently Servings:") +// .font(.caption2) +// .foregroundColor(.secondary) +// +// Text(currentlyServing) +// .font(.caption) +// .fontWeight(.semibold) +// } +// } +// +// DynamicIslandExpandedRegion(.bottom) { +// HStack { +// Text(status) +// .font(.caption2) +// .padding(.horizontal, 8) +// .padding(.vertical, 4) +// .background( +// RoundedRectangle(cornerRadius: 6) +// .fill(colorConfig.nextStepBackground.opacity(0.2)) +// ) +// +// Spacer() +// +// Text(nextStep) +// .font(.caption2) +// .foregroundColor(colorConfig.nextStepTextColor) +// .padding(.horizontal, 8) +// .padding(.vertical, 4) +// .background( +// RoundedRectangle(cornerRadius: 6) +// .fill(colorConfig.nextStepBackground) +// ) +// } +// .padding(.horizontal) +// } + + } compactLeading: { + // Compact leading view + Text(currentTicket) + .font(.caption2) + .fontWeight(.bold) + } compactTrailing: { + // Compact trailing view + Image("hmg") + .resizable() + .scaledToFit() + .frame(width: 12, height: 12) + .foregroundColor(colorConfig.containerBorderColor).padding(4) + } minimal: { + // Minimal view + HStack{ + Text(currentTicket) + .font(.caption2) + .fontWeight(.bold) + Spacer() + Image("hmg") + .resizable() + .scaledToFit() + .frame(width: 4, height: 4) + .foregroundColor(colorConfig.containerBorderColor) + }.padding(2) + + } + + } + } + } + + +extension LiveActivitiesAppAttributes { + func prefixedKey(_ key: String) -> String { + print("the id is \(id)") + return "\(id)_\(key)" + } +} + +//struct NotificationWidgetView_Previews: PreviewProvider { +// static var previews: some View { +// Group { +// // Preview with nextStepBackground = 0 (Yellow border) +// NotificationWidgetView( +// data: NotificationWidgetData( +// currentTicket: "42", +// currentlyServingHeader: "Currently Serving3:", +// currentlyServing: "Customer #15", +// status: "Pending", +// nextStep: "Next: Prepare Order", +// imageName: "bell.fill", +// colorConfig: .config(for: 0) +// ) +// ) +// .previewDisplayName("Yellow Border (0)") +// +// // Preview with nextStepBackground = 1 (Red border) +// NotificationWidgetView( +// data: NotificationWidgetData( +// currentTicket: "89", +// currentlyServingHeader: "Currently Serving2:", +// currentlyServing: "Customer #67", +// status: "Active", +// nextStep: "Next: Quality Check", +// imageName: "bell.fill", +// colorConfig: .config(for: 1) +// ) +// ) +// .previewDisplayName("Red Border (1)") +// +// // Preview with nextStepBackground = 2 (Green border) +// NotificationWidgetView( +// data: NotificationWidgetData( +// currentTicket: "125", +// currentlyServingHeader: "Currently Serving1:", +// currentlyServing: "Customer #98", +// status: "Completed", +// nextStep: "Next: Ready for Pickup", +// imageName: "bell.fill", +// colorConfig: .config(for: 2) +// ) +// ) +// .previewDisplayName("Green Border (2)") +// } +// .padding() +// .previewLayout(.sizeThatFits) +// } +//} + + +func getValueFromSharedDefaults(_ containingString: String) -> String { + print("Function `getValueFromSharedDefaults` is being called") + let dictionary = sharedDefault.dictionaryRepresentation() + print("Contents of sharedDefault: \(dictionary)") + + for (key, value) in dictionary { + print("Inspecting key: \(key), value: \(value)") + + if key.contains(containingString) { + let components = key.split(separator: "_") + if let stringValue = value as? String { + return stringValue + } else { + return "no value" + } + } + } + return "no value" +} diff --git a/ios/liveapp/Assets.xcassets/AccentColor.colorset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from ios/liveapp/Assets.xcassets/AccentColor.colorset/Contents.json rename to ios/AppWidgetLiveActivity/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/ios/liveapp/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from ios/liveapp/Assets.xcassets/AppIcon.appiconset/Contents.json rename to ios/AppWidgetLiveActivity/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/ios/liveapp/Assets.xcassets/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/Contents.json similarity index 100% rename from ios/liveapp/Assets.xcassets/Contents.json rename to ios/AppWidgetLiveActivity/Assets.xcassets/Contents.json diff --git a/ios/liveapp/Assets.xcassets/WidgetBackground.colorset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/WidgetBackground.colorset/Contents.json similarity index 100% rename from ios/liveapp/Assets.xcassets/WidgetBackground.colorset/Contents.json rename to ios/AppWidgetLiveActivity/Assets.xcassets/WidgetBackground.colorset/Contents.json diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/Contents.json new file mode 100644 index 0000000..f2e282f --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "icon.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/icon.svg b/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/icon.svg new file mode 100644 index 0000000..d2e84a3 --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/clock.imageset/icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/Contents.json new file mode 100644 index 0000000..ed588f8 --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "hmg.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "hmg 1.svg", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "hmg 2.svg", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 1.svg b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 1.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 2.svg b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 2.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg 2.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg.svg b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/hmg.imageset/hmg.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/Contents.json b/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/Contents.json new file mode 100644 index 0000000..f36884c --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "doctor-02.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/doctor-02.svg b/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/doctor-02.svg new file mode 100644 index 0000000..9c44db8 --- /dev/null +++ b/ios/AppWidgetLiveActivity/Assets.xcassets/profession.imageset/doctor-02.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ios/AppWidgetLiveActivity/Info.plist b/ios/AppWidgetLiveActivity/Info.plist new file mode 100644 index 0000000..0f118fb --- /dev/null +++ b/ios/AppWidgetLiveActivity/Info.plist @@ -0,0 +1,11 @@ + + + + + NSExtension + + NSExtensionPointIdentifier + com.apple.widgetkit-extension + + + diff --git a/ios/AppWidgetLiveActivityExtension.entitlements b/ios/AppWidgetLiveActivityExtension.entitlements new file mode 100644 index 0000000..a1ca053 --- /dev/null +++ b/ios/AppWidgetLiveActivityExtension.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.application-groups + + group.alhabib.patientApp + + + diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 1299de1..a03e5f6 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -17,11 +17,15 @@ 61243B542EC5FA3700D46FA0 /* BuildFile in Sources */ = {isa = PBXBuildFile; }; 61243B562EC5FA3700D46FA0 /* BuildFile in Sources */ = {isa = PBXBuildFile; }; 61243B572EC5FA3700D46FA0 /* BuildFile in Sources */ = {isa = PBXBuildFile; }; + 614897042F28D996004105B3 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61E1DA312F28A72E00CBF473 /* WidgetKit.framework */; }; + 614897052F28D996004105B3 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61E1DA332F28A72E00CBF473 /* SwiftUI.framework */; }; + 614897122F28D99A004105B3 /* AppWidgetLiveActivityExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 614897032F28D996004105B3 /* AppWidgetLiveActivityExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 614897D22F29F952004105B3 /* LiveActivityHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 614897D12F29F94A004105B3 /* LiveActivityHelper.swift */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 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 */; }; - C5586BA7BD57391D3F91EF2B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8076571670911AB920E1FF99 /* Pods_Runner.framework */; }; + FA9E781ABC7EBAA9AC2A559A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28E87B9D131B9D85858F792A /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,9 +36,27 @@ remoteGlobalIDString = 97C146ED1CF9000F007C117D; remoteInfo = Runner; }; + 614897102F28D99A004105B3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 614897022F28D996004105B3; + remoteInfo = AppWidgetLiveActivityExtension; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 61E1DA462F28A73100CBF473 /* Embed Foundation Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 614897122F28D99A004105B3 /* AppWidgetLiveActivityExtension.appex in Embed Foundation Extensions */, + ); + name = "Embed Foundation Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -48,20 +70,25 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 049415E7A479589C7A439E26 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 28E87B9D131B9D85858F792A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 34F2654CE6CEE8475402FCE4 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 478CFA932E638C8E0064F3D7 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 478CFA952E6E20A60064F3D7 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; + 614897032F28D996004105B3 /* AppWidgetLiveActivityExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = AppWidgetLiveActivityExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 614897902F29E233004105B3 /* AppWidgetLiveActivityExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AppWidgetLiveActivityExtension.entitlements; sourceTree = ""; }; + 614897D12F29F94A004105B3 /* LiveActivityHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveActivityHelper.swift; sourceTree = ""; }; + 61E1DA312F28A72E00CBF473 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; + 61E1DA332F28A72E00CBF473 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7595037DD52211B91157B0F3 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerDebug.entitlements; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8076571670911AB920E1FF99 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8E12CEEB8E334EE22D5259D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -69,40 +96,49 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D6BB17A036DF7FCE75271203 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + B50C2F2EABBC2DFA70F931F1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 6147DFA32EF2D46300A0F0AA /* Exceptions for "AppWidget" folder in "Runner" target */ = { + 614897132F28D99B004105B3 /* Exceptions for "AppWidgetLiveActivity" folder in "AppWidgetLiveActivityExtension" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( - "Poppins-Medium.ttf", + Info.plist, ); - target = 97C146ED1CF9000F007C117D /* Runner */; + target = 614897022F28D996004105B3 /* AppWidgetLiveActivityExtension */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - 61769DEA2EEFDD0F000EC14A /* AppWidget */ = { + 614897062F28D996004105B3 /* AppWidgetLiveActivity */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - 6147DFA32EF2D46300A0F0AA /* Exceptions for "AppWidget" folder in "Runner" target */, + 614897132F28D99B004105B3 /* Exceptions for "AppWidgetLiveActivity" folder in "AppWidgetLiveActivityExtension" target */, ); explicitFileTypes = { }; explicitFolders = ( ); - path = AppWidget; + path = AppWidgetLiveActivity; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ + 614897002F28D996004105B3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 614897052F28D996004105B3 /* SwiftUI.framework in Frameworks */, + 614897042F28D996004105B3 /* WidgetKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C5586BA7BD57391D3F91EF2B /* Pods_Runner.framework in Frameworks */, + FA9E781ABC7EBAA9AC2A559A /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -120,6 +156,7 @@ 61243B412EC5FA3700D46FA0 /* Helper */ = { isa = PBXGroup; children = ( + 614897D12F29F94A004105B3 /* LiveActivityHelper.swift */, ); path = Helper; sourceTree = ""; @@ -131,12 +168,22 @@ path = Penguin; sourceTree = ""; }; + 71E5EACB6652FDA92D3045F5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 28E87B9D131B9D85858F792A /* Pods_Runner.framework */, + 61E1DA312F28A72E00CBF473 /* WidgetKit.framework */, + 61E1DA332F28A72E00CBF473 /* SwiftUI.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; 79DD2093A1D9674C94359FC8 /* Pods */ = { isa = PBXGroup; children = ( - 8E12CEEB8E334EE22D5259D7 /* Pods-Runner.debug.xcconfig */, - 7595037DD52211B91157B0F3 /* Pods-Runner.release.xcconfig */, - D6BB17A036DF7FCE75271203 /* Pods-Runner.profile.xcconfig */, + 34F2654CE6CEE8475402FCE4 /* Pods-Runner.debug.xcconfig */, + 049415E7A479589C7A439E26 /* Pods-Runner.release.xcconfig */, + B50C2F2EABBC2DFA70F931F1 /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -155,13 +202,14 @@ 97C146E51CF9000F007C117D = { isa = PBXGroup; children = ( + 614897902F29E233004105B3 /* AppWidgetLiveActivityExtension.entitlements */, 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, - 61769DEA2EEFDD0F000EC14A /* AppWidget */, + 614897062F28D996004105B3 /* AppWidgetLiveActivity */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, 79DD2093A1D9674C94359FC8 /* Pods */, - DBBFD4F9B92DEEED70E55CB8 /* Frameworks */, + 71E5EACB6652FDA92D3045F5 /* Frameworks */, ); sourceTree = ""; }; @@ -170,6 +218,7 @@ children = ( 97C146EE1CF9000F007C117D /* Runner.app */, 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + 614897032F28D996004105B3 /* AppWidgetLiveActivityExtension.appex */, ); name = Products; sourceTree = ""; @@ -194,14 +243,6 @@ path = Runner; sourceTree = ""; }; - DBBFD4F9B92DEEED70E55CB8 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 8076571670911AB920E1FF99 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -222,23 +263,45 @@ productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + 614897022F28D996004105B3 /* AppWidgetLiveActivityExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = 614897142F28D99B004105B3 /* Build configuration list for PBXNativeTarget "AppWidgetLiveActivityExtension" */; + buildPhases = ( + 614896FF2F28D996004105B3 /* Sources */, + 614897002F28D996004105B3 /* Frameworks */, + 614897012F28D996004105B3 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 614897062F28D996004105B3 /* AppWidgetLiveActivity */, + ); + name = AppWidgetLiveActivityExtension; + productName = AppWidgetLiveActivityExtension; + productReference = 614897032F28D996004105B3 /* AppWidgetLiveActivityExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - BFED6CCFE59BB148875A533B /* [CP] Check Pods Manifest.lock */, + A6C952634C4302C01CA5C5E8 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, + E6CDE64936F529AE76962FE8 /* [CP] Copy Pods Resources */, + 61E1DA462F28A73100CBF473 /* Embed Foundation Extensions */, + D75CDA8F31A418BC8F9C299F /* [CP] Embed Pods Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 8372B02399CDF54531650AD4 /* [CP] Embed Pods Frameworks */, - 81DE7C26F41956799E954FCE /* [CP] Copy Pods Resources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 614897112F28D99A004105B3 /* PBXTargetDependency */, ); name = Runner; productName = Runner; @@ -252,6 +315,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1640; LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { @@ -259,6 +323,9 @@ CreatedOnToolsVersion = 14.0; TestTargetID = 97C146ED1CF9000F007C117D; }; + 614897022F28D996004105B3 = { + CreatedOnToolsVersion = 16.4; + }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 1100; @@ -280,6 +347,7 @@ targets = ( 97C146ED1CF9000F007C117D /* Runner */, 331C8080294A63A400263BE5 /* RunnerTests */, + 614897022F28D996004105B3 /* AppWidgetLiveActivityExtension */, ); }; /* End PBXProject section */ @@ -292,6 +360,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 614897012F28D996004105B3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -323,75 +398,75 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 81DE7C26F41956799E954FCE /* [CP] Copy Pods Resources */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + name = "Run Script"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 8372B02399CDF54531650AD4 /* [CP] Embed Pods Frameworks */ = { + A6C952634C4302C01CA5C5E8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + D75CDA8F31A418BC8F9C299F /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Run Script"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; - BFED6CCFE59BB148875A533B /* [CP] Check Pods Manifest.lock */ = { + E6CDE64936F529AE76962FE8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -405,6 +480,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 614896FF2F28D996004105B3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -414,6 +496,7 @@ 61243B4C2EC5FA3700D46FA0 /* BuildFile in Sources */, 61243B502EC5FA3700D46FA0 /* BuildFile in Sources */, 61243B542EC5FA3700D46FA0 /* BuildFile in Sources */, + 614897D22F29F952004105B3 /* LiveActivityHelper.swift in Sources */, 61243B562EC5FA3700D46FA0 /* BuildFile in Sources */, 61243B572EC5FA3700D46FA0 /* BuildFile in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, @@ -428,6 +511,11 @@ target = 97C146ED1CF9000F007C117D /* Runner */; targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; }; + 614897112F28D99A004105B3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 614897022F28D996004105B3 /* AppWidgetLiveActivityExtension */; + targetProxy = 614897102F28D99A004105B3 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -577,6 +665,132 @@ }; name = Profile; }; + 614897152F28D99B004105B3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = AppWidgetLiveActivityExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 3A359E86ZF; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = AppWidgetLiveActivity/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = AppWidgetLiveActivity; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSSupportsLiveActivities = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone.AppWidgetLiveActivity"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 614897162F28D99B004105B3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = AppWidgetLiveActivityExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 3A359E86ZF; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = AppWidgetLiveActivity/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = AppWidgetLiveActivity; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSSupportsLiveActivities = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone.AppWidgetLiveActivity"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 614897172F28D99B004105B3 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = AppWidgetLiveActivityExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 3A359E86ZF; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = AppWidgetLiveActivity/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = AppWidgetLiveActivity; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSSupportsLiveActivities = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone.AppWidgetLiveActivity"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Profile; + }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -758,6 +972,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 614897142F28D99B004105B3 /* Build configuration list for PBXNativeTarget "AppWidgetLiveActivityExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 614897152F28D99B004105B3 /* Debug */, + 614897162F28D99B004105B3 /* Release */, + 614897172F28D99B004105B3 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 4172e0e..67ad532 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -13,11 +13,13 @@ import GoogleMaps FirebaseApp.configure() initializePlatformChannels() GeneratedPluginRegistrant.register(with: self) + + return super.application(application, didFinishLaunchingWithOptions: launchOptions) } func initializePlatformChannels(){ if let mainViewController = window?.rootViewController as? FlutterViewController{ // platform initialization suppose to be in foreground - + LiveActivityHelper().initialize(mainViewController) // HMGPenguinInPlatformBridge.initialize(flutterViewController: mainViewController) } diff --git a/ios/Runner/Helper/LiveActivityHelper.swift b/ios/Runner/Helper/LiveActivityHelper.swift new file mode 100644 index 0000000..ffab96d --- /dev/null +++ b/ios/Runner/Helper/LiveActivityHelper.swift @@ -0,0 +1,37 @@ +// +// LiveActivityHelper.swift +// Runner +// +// Created by Cloud Solutions on 28/01/2026. +// + +import Foundation +import FLAnimatedImage + +class LiveActivityHelper{ + + private let channelName = "clear_data" + + var flutterMethodChannelPenguinIn:FlutterMethodChannel? = nil + func initialize(_ controller :FlutterViewController){ + openChannel(controller: controller) + } + + private func openChannel(controller :FlutterViewController){ + flutterMethodChannelPenguinIn = FlutterMethodChannel(name: channelName, binaryMessenger: controller.binaryMessenger) + + flutterMethodChannelPenguinIn?.setMethodCallHandler { (methodCall, result) in + print("Called function \(methodCall.method)") + + + if methodCall.method == "clearUserDefaultData"{ + let sharedDefaults: UserDefaults = UserDefaults(suiteName: "group.alhabib.patientApp")! + sharedDefaults.removePersistentDomain(forName: "group.alhabib.patientApp") + sharedDefaults.synchronize() + result(nil) + } + + } + } + +} diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 6dd8778..f8d3d87 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -110,6 +110,7 @@ location remote-notification voip + processing UILaunchStoryboardName LaunchScreen diff --git a/ios/liveapp/AppIntent.swift b/ios/live_notification/AppIntent.swift similarity index 85% rename from ios/liveapp/AppIntent.swift rename to ios/live_notification/AppIntent.swift index 55508c8..5771089 100644 --- a/ios/liveapp/AppIntent.swift +++ b/ios/live_notification/AppIntent.swift @@ -1,8 +1,8 @@ // // AppIntent.swift -// liveapp +// live_notification // -// Created by Cloud Solutions on 14/12/2025. +// Created by Cloud Solutions on 27/01/2026. // import WidgetKit diff --git a/ios/live_notification/Assets.xcassets/AccentColor.colorset/Contents.json b/ios/live_notification/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/ios/live_notification/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/live_notification/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/live_notification/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..2305880 --- /dev/null +++ b/ios/live_notification/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,35 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/live_notification/Assets.xcassets/Contents.json b/ios/live_notification/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/ios/live_notification/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/live_notification/Assets.xcassets/WidgetBackground.colorset/Contents.json b/ios/live_notification/Assets.xcassets/WidgetBackground.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/ios/live_notification/Assets.xcassets/WidgetBackground.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/live_notification/Assets.xcassets/hmg.imageset/Contents.json b/ios/live_notification/Assets.xcassets/hmg.imageset/Contents.json new file mode 100644 index 0000000..ed588f8 --- /dev/null +++ b/ios/live_notification/Assets.xcassets/hmg.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "hmg.svg", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "hmg 1.svg", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "hmg 2.svg", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 1.svg b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 1.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 1.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 2.svg b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 2.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg 2.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/live_notification/Assets.xcassets/hmg.imageset/hmg.svg b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg.svg new file mode 100644 index 0000000..ccaed0c --- /dev/null +++ b/ios/live_notification/Assets.xcassets/hmg.imageset/hmg.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ios/liveapp/Info.plist b/ios/live_notification/Info.plist similarity index 100% rename from ios/liveapp/Info.plist rename to ios/live_notification/Info.plist index 464a4f8..04f07b5 100644 --- a/ios/liveapp/Info.plist +++ b/ios/live_notification/Info.plist @@ -2,12 +2,12 @@ + NSSupportsLiveActivities + NSExtension NSExtensionPointIdentifier com.apple.widgetkit-extension - NSSupportsLiveActivities - diff --git a/ios/live_notification/live_notificationBundle.swift b/ios/live_notification/live_notificationBundle.swift new file mode 100644 index 0000000..0cf3114 --- /dev/null +++ b/ios/live_notification/live_notificationBundle.swift @@ -0,0 +1,16 @@ +// +// live_notificationBundle.swift +// live_notification +// +// Created by Cloud Solutions on 27/01/2026. +// + +import WidgetKit +import SwiftUI + +@main +struct live_notificationBundle: WidgetBundle { + var body: some Widget { + live_notificationLiveActivity() + } +} diff --git a/ios/live_notification/live_notificationLiveActivity.swift b/ios/live_notification/live_notificationLiveActivity.swift new file mode 100644 index 0000000..2652153 --- /dev/null +++ b/ios/live_notification/live_notificationLiveActivity.swift @@ -0,0 +1,410 @@ +import ActivityKit +import WidgetKit +import SwiftUI + +struct LiveActivitiesAppAttributes: ActivityAttributes, Identifiable { + public typealias LiveDeliveryData = ContentState // don't forget to add this line, otherwise, live activity will not display it. + + public struct ContentState: Codable, Hashable { } + + var id = UUID() +} + + +let sharedDefault = UserDefaults(suiteName: "group.alhabib.patientApp")! +struct AppWidgetAttributes: ActivityAttributes { + public struct ContentState: Codable, Hashable { + // Dynamic stateful properties about your activity go here! + var emoji: String + } + + // Fixed non-changing properties about your activity go here! + var name: String +} + +extension Color { + static let redColorText = Color(hex: "#ED1C2B") + static let yellowColor = Color(hex: "#FFAF15") + static let successColor = Color(hex: "#18C273") + static let inactiveColor = Color(hex: "#ED1C2B") + static let textColor = Color(hex: "#A2A2A2") + static let colorWhite = Color(hex: "#FFFFFF") + + // Helper initializer for hex colors + init(hex: String) { + let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) + var int: UInt64 = 0 + Scanner(string: hex).scanHexInt64(&int) + let a, r, g, b: UInt64 + switch hex.count { + case 3: // RGB (12-bit) + (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17) + case 6: // RGB (24-bit) + (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF) + case 8: // ARGB (32-bit) + (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF) + default: + (a, r, g, b) = (255, 0, 0, 0) + } + self.init( + .sRGB, + red: Double(r) / 255, + green: Double(g) / 255, + blue: Double(b) / 255, + opacity: Double(a) / 255 + ) + } +} + +// MARK: - Widget Configuration based on nextStepBackground +struct WidgetColorConfig { + let nextStepBackground: Color + let nextStepTextColor: Color + let containerBorderColor: Color + + static func config(for value: Int) -> WidgetColorConfig { + switch value { + case 0: + return WidgetColorConfig( + nextStepBackground: .inactiveColor, + nextStepTextColor: .textColor, + containerBorderColor: .yellowColor + ) + case 1: + return WidgetColorConfig( + nextStepBackground: .redColorText, + nextStepTextColor: .colorWhite, + containerBorderColor: .redColorText + ) + case 2: + return WidgetColorConfig( + nextStepBackground: .successColor, + nextStepTextColor: .colorWhite, + containerBorderColor: .successColor + ) + default: + return WidgetColorConfig( + nextStepBackground: .inactiveColor, + nextStepTextColor: .textColor, + containerBorderColor: .yellowColor + ) + } + } +} + +// MARK: - Widget Data Model +struct NotificationWidgetData { + let currentTicket: String + let currentlyServingHeader: String + let currentlyServing: String + let status: String + let nextStep: String + let imageName: String + let colorConfig: WidgetColorConfig +} +struct NotificationWidgetView: View { + private let data: NotificationWidgetData + + init(data: NotificationWidgetData) { + print("it is being loaded") + self.data = data + } + + + var body : some View{ +// ZStack(){ + body2 +// .frame(width: .infinity, height: 400 ) +// .padding(.top, 340) +// .cornerRadius(20) +// }.background(data.colorConfig.containerBorderColor) +// .cornerRadius(20) + + } + // var body2 : some View { + // Text(data.currentTicket) + // .font(.custom("Poppins-Medium", size: 28)) + // .fontWeight(.bold) + // .foregroundColor(.black) + // .padding(.trailing, 10) + // .frame(maxWidth: .infinity, alignment: .leading) + // } +//current one that todo will be handled + var body2: some View { + VStack(alignment: .leading, spacing: 0) { + // Top section with current ticket and image + HStack(alignment: .top, spacing: 0) { + // Current ticket value + Text(data.currentTicket) + .font(.custom("Poppins-Medium", size: 28)) + .fontWeight(.bold) + .foregroundColor(.black) + .padding(.trailing, 10) + .frame(maxWidth: .infinity, alignment: .leading) + + Image(data.imageName) + .resizable() + .scaledToFit() + .frame(width: 34, height: 34) + } + .padding(.top, 16) + .padding(.horizontal, 16) + + // Currently Serving Header + Text(data.currentlyServingHeader) + .font(.custom("Poppins-Medium", size: 14)) + .fontWeight(.bold) + .foregroundColor(.black) + .padding(.trailing, 12) + .padding(.bottom, 10) + .padding(.horizontal, 16) + + // Currently Serving section with status + HStack(alignment: .center, spacing: 0) { + // Currently serving text + Text(data.currentlyServing) + .font(.custom("Poppins-Medium", size: 16)) + .fontWeight(.bold) + .foregroundColor(.black) + .frame(maxWidth: .infinity, alignment: .leading) + + // Status badge + Text(data.status) + .font(.custom("Poppins-Medium", size: 12)) + .foregroundColor(data.colorConfig.nextStepTextColor) + .padding(.horizontal, 12) + .padding(.vertical, 8) + .background( + RoundedRectangle(cornerRadius: 8) + .fill(Color.inactiveColor.opacity(0.2)) + ) + } + .padding(.horizontal, 16) + Spacer() + // Next Step badge + Text(data.nextStep) + .font(.custom("Poppins-Medium", size: 12)) + .foregroundColor(data.colorConfig.nextStepTextColor) + .padding(.horizontal, 12) + .padding(.vertical, 8) + .background( + RoundedRectangle(cornerRadius: 8) + .fill(data.colorConfig.nextStepBackground) + ) + .padding(.horizontal, 16) + .padding(.bottom, 16) + } + .background(Color.black.opacity(0.01)) + .cornerRadius(20) + +// .border(width: 10, edges: [.top, .bottom], color: data.colorConfig.containerBorderColor) +// .border(width: 2, edges: [.leading, .trailing], color: data.colorConfig.containerBorderColor) +// .overlay( +// RoundedRectangle(cornerRadius: 20) +// .stroke(data.colorConfig.containerBorderColor, lineWidth: 20) +// ) + } +} + + +// MARK: - Live Activity Widget +struct live_notificationLiveActivity: Widget { + + var body: some WidgetConfiguration { + ActivityConfiguration(for: LiveActivitiesAppAttributes.self) { context in + // Extract parameters from Flut +// print("the queno is \(context.attributes.prefixedKey("title")) ===== \(sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) )") + let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" + let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" + let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "test1234" + let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "test3345" + let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "tes" + let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ?? + "test111" + let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType")) + + // Get color configuration based on nextStepBackground + let colorConfig = WidgetColorConfig.config(for: nextStepBackground) + + // Create widget data + let widgetData = NotificationWidgetData( + currentTicket: currentTicket, + currentlyServingHeader: "Currently Servingsssssssss:", + currentlyServing: currentlyServing, + status: status, + nextStep: nextStep, + imageName:"hmg", + colorConfig: colorConfig + ) +// + // Lock screen/banner UI + NotificationWidgetView(data: widgetData) + .activityBackgroundTint(Color.clear) + .activitySystemActionForegroundColor(Color.black) + + // Text(widgetData.currentTicket) + // .font(.custom("Poppins-Medium", size: 28)) + // .fontWeight(.bold) + // .foregroundColor(.black) + // .padding(.trailing, 10) + // .frame(maxWidth: .infinity, alignment: .leading) + + } dynamicIsland: { context in + + let title = sharedDefault.string(forKey: context.attributes.prefixedKey("title")) ?? "testes" + let contentText = sharedDefault.string(forKey: context.attributes.prefixedKey("contentText")) ?? "tested" + let currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "test1234" + let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "test3345" + let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "tes" + let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ?? + "test111" + let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType")) + + + let colorConfig = WidgetColorConfig.config(for: nextStepBackground) + + return DynamicIsland { + // Expanded UI + DynamicIslandExpandedRegion(.leading) { + VStack(alignment: .leading) { + Text(currentTicket) + .font(.system(size: 24, weight: .bold)) + .foregroundColor(.primary) + } + } + + DynamicIslandExpandedRegion(.trailing) { + Image("hmg") + .resizable() + .scaledToFit() + .frame(width: 34, height: 34) + .foregroundColor(.gray) + } + + DynamicIslandExpandedRegion(.center) { + VStack(spacing: 4) { + Text("Currently Servings:") + .font(.caption2) + .foregroundColor(.secondary) + + Text(currentlyServing) + .font(.caption) + .fontWeight(.semibold) + } + } + + DynamicIslandExpandedRegion(.bottom) { + HStack { + Text(status) + .font(.caption2) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background( + RoundedRectangle(cornerRadius: 6) + .fill(colorConfig.nextStepBackground.opacity(0.2)) + ) + + Spacer() + + Text(nextStep) + .font(.caption2) + .foregroundColor(colorConfig.nextStepTextColor) + .padding(.horizontal, 8) + .padding(.vertical, 4) + .background( + RoundedRectangle(cornerRadius: 6) + .fill(colorConfig.nextStepBackground) + ) + } + .padding(.horizontal) + } + + } compactLeading: { + // Compact leading view + Text(currentTicket) + .font(.caption2) + .fontWeight(.bold) + } compactTrailing: { + // Compact trailing view + Image("hmg") + .resizable() + .scaledToFit() + .frame(width: 12, height: 12) + .foregroundColor(colorConfig.containerBorderColor).padding(4) + } minimal: { + // Minimal view + HStack{ + Text(currentTicket) + .font(.caption2) + .fontWeight(.bold) + Spacer() + Image("hmg") + .resizable() + .scaledToFit() + .frame(width: 4, height: 4) + .foregroundColor(colorConfig.containerBorderColor) + }.padding(2) + + } + .contentMargins(.all, 20,for: .expanded) + } + } + } + + +extension LiveActivitiesAppAttributes { + func prefixedKey(_ key: String) -> String { + return "\(id)_\(key)" + } +} +// MARK: - Preview for Testing +struct NotificationWidgetView_Previews: PreviewProvider { + static var previews: some View { + Group { + // Preview with nextStepBackground = 0 (Yellow border) + NotificationWidgetView( + data: NotificationWidgetData( + currentTicket: "42", + currentlyServingHeader: "Currently Serving3:", + currentlyServing: "Customer #15", + status: "Pending", + nextStep: "Next: Prepare Order", + imageName: "bell.fill", + colorConfig: .config(for: 0) + ) + ) + .previewDisplayName("Yellow Border (0)") + + // Preview with nextStepBackground = 1 (Red border) + NotificationWidgetView( + data: NotificationWidgetData( + currentTicket: "89", + currentlyServingHeader: "Currently Serving2:", + currentlyServing: "Customer #67", + status: "Active", + nextStep: "Next: Quality Check", + imageName: "bell.fill", + colorConfig: .config(for: 1) + ) + ) + .previewDisplayName("Red Border (1)") + + // Preview with nextStepBackground = 2 (Green border) + NotificationWidgetView( + data: NotificationWidgetData( + currentTicket: "125", + currentlyServingHeader: "Currently Serving1:", + currentlyServing: "Customer #98", + status: "Completed", + nextStep: "Next: Ready for Pickup", + imageName: "bell.fill", + colorConfig: .config(for: 2) + ) + ) + .previewDisplayName("Green Border (2)") + } + .padding() + .previewLayout(.sizeThatFits) + } +} + diff --git a/ios/liveapp/liveapp.swift b/ios/liveapp/liveapp.swift deleted file mode 100644 index 6b58b65..0000000 --- a/ios/liveapp/liveapp.swift +++ /dev/null @@ -1,88 +0,0 @@ -// -// liveapp.swift -// liveapp -// -// Created by Cloud Solutions on 14/12/2025. -// - -import WidgetKit -import SwiftUI - -struct Provider: AppIntentTimelineProvider { - func placeholder(in context: Context) -> SimpleEntry { - SimpleEntry(date: Date(), configuration: ConfigurationAppIntent()) - } - - func snapshot(for configuration: ConfigurationAppIntent, in context: Context) async -> SimpleEntry { - SimpleEntry(date: Date(), configuration: configuration) - } - - func timeline(for configuration: ConfigurationAppIntent, in context: Context) async -> Timeline { - var entries: [SimpleEntry] = [] - - // Generate a timeline consisting of five entries an hour apart, starting from the current date. - let currentDate = Date() - for hourOffset in 0 ..< 5 { - let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)! - let entry = SimpleEntry(date: entryDate, configuration: configuration) - entries.append(entry) - } - - return Timeline(entries: entries, policy: .atEnd) - } - -// func relevances() async -> WidgetRelevances { -// // Generate a list containing the contexts this widget is relevant in. -// } -} - -struct SimpleEntry: TimelineEntry { - let date: Date - let configuration: ConfigurationAppIntent -} - -struct liveappEntryView : View { - var entry: Provider.Entry - - var body: some View { - VStack { - Text("Time:") - Text(entry.date, style: .time) - - Text("Favorite Emoji:") - Text(entry.configuration.favoriteEmoji) - } - } -} - -struct liveapp: Widget { - let kind: String = "liveapp" - - var body: some WidgetConfiguration { - AppIntentConfiguration(kind: kind, intent: ConfigurationAppIntent.self, provider: Provider()) { entry in - liveappEntryView(entry: entry) - .containerBackground(.fill.tertiary, for: .widget) - } - } -} - -extension ConfigurationAppIntent { - fileprivate static var smiley: ConfigurationAppIntent { - let intent = ConfigurationAppIntent() - intent.favoriteEmoji = "😀" - return intent - } - - fileprivate static var starEyes: ConfigurationAppIntent { - let intent = ConfigurationAppIntent() - intent.favoriteEmoji = "🤩" - return intent - } -} - -#Preview(as: .systemSmall) { - liveapp() -} timeline: { - SimpleEntry(date: .now, configuration: .smiley) - SimpleEntry(date: .now, configuration: .starEyes) -} diff --git a/ios/liveapp/liveappBundle.swift b/ios/liveapp/liveappBundle.swift deleted file mode 100644 index ea3cf45..0000000 --- a/ios/liveapp/liveappBundle.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// liveappBundle.swift -// liveapp -// -// Created by Cloud Solutions on 14/12/2025. -// - -import WidgetKit -import SwiftUI - -@main -struct liveappBundle: WidgetBundle { - var body: some Widget { - FootballMatchApp() - } -} diff --git a/ios/liveapp/liveappControl.swift b/ios/liveapp/liveappControl.swift deleted file mode 100644 index 955dbea..0000000 --- a/ios/liveapp/liveappControl.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// liveappControl.swift -// liveapp -// -// Created by Cloud Solutions on 14/12/2025. -// - -import AppIntents -import SwiftUI -import WidgetKit - -struct liveappControl: ControlWidget { - static let kind: String = "com.HMG.HMG-Smartphone.liveapp" - - var body: some ControlWidgetConfiguration { - AppIntentControlConfiguration( - kind: Self.kind, - provider: Provider() - ) { value in - ControlWidgetToggle( - "Start Timer", - isOn: value.isRunning, - action: StartTimerIntent(value.name) - ) { isRunning in - Label(isRunning ? "On" : "Off", systemImage: "timer") - } - } - .displayName("Timer") - .description("A an example control that runs a timer.") - } -} - -extension liveappControl { - struct Value { - var isRunning: Bool - var name: String - } - - struct Provider: AppIntentControlValueProvider { - func previewValue(configuration: TimerConfiguration) -> Value { - liveappControl.Value(isRunning: false, name: configuration.timerName) - } - - func currentValue(configuration: TimerConfiguration) async throws -> Value { - let isRunning = true // Check if the timer is running - return liveappControl.Value(isRunning: isRunning, name: configuration.timerName) - } - } -} - -struct TimerConfiguration: ControlConfigurationIntent { - static let title: LocalizedStringResource = "Timer Name Configuration" - - @Parameter(title: "Timer Name", default: "Timer") - var timerName: String -} - -struct StartTimerIntent: SetValueIntent { - static let title: LocalizedStringResource = "Start a timer" - - @Parameter(title: "Timer Name") - var name: String - - @Parameter(title: "Timer is running") - var value: Bool - - init() {} - - init(_ name: String) { - self.name = name - } - - func perform() async throws -> some IntentResult { - // Start the timer… - return .result() - } -} diff --git a/ios/liveapp/liveappLiveActivity.swift b/ios/liveapp/liveappLiveActivity.swift deleted file mode 100644 index ebc9b63..0000000 --- a/ios/liveapp/liveappLiveActivity.swift +++ /dev/null @@ -1,332 +0,0 @@ -// -// liveappLiveActivity.swift -// liveapp -// -// Created by Cloud Solutions on 14/12/2025. -// - -import ActivityKit -import WidgetKit -import SwiftUI - -struct LiveActivitiesAppAttributes: ActivityAttributes, Identifiable { - public typealias LiveDeliveryData = ContentState - - public struct ContentState: Codable, Hashable { } - - var id = UUID() -} - -// Create shared default with custom group -let sharedDefault = UserDefaults(suiteName: "group.alhabib.patientApp")! - -@available(iOSApplicationExtension 16.1, *) -struct FootballMatchApp: Widget { - var body: some WidgetConfiguration { - ActivityConfiguration(for: LiveActivitiesAppAttributes.self) { context in - let matchName = sharedDefault.string(forKey: context.attributes.prefixedKey("matchName"))! - let ruleFile = sharedDefault.string(forKey: context.attributes.prefixedKey("ruleFile"))! - - let teamAName = sharedDefault.string(forKey: context.attributes.prefixedKey("teamAName"))! - let teamAState = sharedDefault.string(forKey: context.attributes.prefixedKey("teamAState"))! - let teamAScore = sharedDefault.integer(forKey: context.attributes.prefixedKey("teamAScore")) - let teamALogo = sharedDefault.string(forKey: context.attributes.prefixedKey("teamALogo"))! - - let teamBName = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBName"))! - let teamBState = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBState"))! - let teamBScore = sharedDefault.integer(forKey: context.attributes.prefixedKey("teamBScore")) - let teamBLogo = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBLogo"))! - - let rule = (try? String(contentsOfFile: ruleFile, encoding: .utf8)) ?? "" - let matchStartDate = Date(timeIntervalSince1970: sharedDefault.double(forKey: context.attributes.prefixedKey("matchStartDate")) / 1000) - let matchEndDate = Date(timeIntervalSince1970: sharedDefault.double(forKey: context.attributes.prefixedKey("matchEndDate")) / 1000) - let matchRemainingTime = matchStartDate...matchEndDate - - ZStack { - LinearGradient(colors: [Color.black.opacity(0.5),Color.black.opacity(0.3)], startPoint: .topLeading, endPoint: .bottom) - - HStack { - ZStack { - VStack(alignment: .center, spacing: 2.0) { - - Spacer() - - Text(teamAName) - .lineLimit(1) - .font(.subheadline) - .fontWeight(.bold) - .multilineTextAlignment(.center) - - Text(teamAState) - .lineLimit(1) - .font(.footnote) - .fontWeight(.bold) - .multilineTextAlignment(.center) - } - .frame(width: 70, height: 120) - .padding(.bottom, 8) - .padding(.top, 8) - .background(.white.opacity(0.4), in: RoundedRectangle(cornerRadius: 16, style: .continuous)) - - ZStack { - if let uiImageTeamA = UIImage(contentsOfFile: teamALogo) - { - Image(uiImage: uiImageTeamA) - .resizable() - .frame(width: 80, height: 80) - .offset(y:-20) - } - } - } - - VStack(alignment: .center, spacing: 6.0) { - HStack { - Text("\(teamAScore)") - .font(.title) - .fontWeight(.bold) - - Text(":") - .font(.title) - .fontWeight(.bold) - .foregroundStyle(.primary) - - Text("\(teamBScore)") - .font(.title) - .fontWeight(.bold) - } - .padding(.horizontal, 5.0) - .background(.white.opacity(0.4), in: RoundedRectangle(cornerRadius: 8, style: .continuous)) - - HStack(alignment: .center, spacing: 2.0) { - Text(timerInterval: matchRemainingTime, countsDown: true) - .multilineTextAlignment(.center) - .frame(width: 50) - .monospacedDigit() - .font(.footnote) - .foregroundStyle(.white) - } - - VStack(alignment: .center, spacing: 1.0) { - Link(destination: URL(string: "la://my.app/stats")!) { - Text("See stats 📊") - }.padding(.vertical, 5).padding(.horizontal, 5) - Text(matchName) - .font(.footnote) - .foregroundStyle(.white) - .padding(.bottom, 5) - Text(rule) - .font(.footnote) - .foregroundStyle(.white.opacity(0.5)) - } - } - .padding(.vertical, 6.0) - - ZStack { - VStack(alignment: .center, spacing: 2.0) { - - Spacer() - - Text(teamBName) - .lineLimit(1) - .font(.subheadline) - .fontWeight(.bold) - .multilineTextAlignment(.center) - - Text(teamBState) - .lineLimit(1) - .font(.footnote) - .fontWeight(.bold) - .multilineTextAlignment(.center) - } - .frame(width: 70, height: 120) - .padding(.bottom, 8) - .padding(.top, 8) - .background(.white.opacity(0.4), in: RoundedRectangle(cornerRadius: 16, style: .continuous)) - - ZStack { - if let uiImageTeamB = UIImage(contentsOfFile: teamBLogo) - { - Image(uiImage: uiImageTeamB) - .resizable() - .frame(width: 80, height: 80) - .offset(y:-20) - } - } - } - } - .padding(.horizontal, 2.0) - }.frame(height: 160) - } dynamicIsland: { context in - let matchName = sharedDefault.string(forKey: context.attributes.prefixedKey("matchName"))! - - let teamAName = sharedDefault.string(forKey: context.attributes.prefixedKey("teamAName"))! - let teamAState = sharedDefault.string(forKey: context.attributes.prefixedKey("teamAState"))! - let teamAScore = sharedDefault.integer(forKey: context.attributes.prefixedKey("teamAScore")) - let teamALogo = sharedDefault.string(forKey: context.attributes.prefixedKey("teamALogo"))! - - let teamBName = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBName"))! - let teamBState = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBState"))! - let teamBScore = sharedDefault.integer(forKey: context.attributes.prefixedKey("teamBScore")) - let teamBLogo = sharedDefault.string(forKey: context.attributes.prefixedKey("teamBLogo"))! - - let matchStartDate = Date(timeIntervalSince1970: sharedDefault.double(forKey: context.attributes.prefixedKey("matchStartDate")) / 1000) - let matchEndDate = Date(timeIntervalSince1970: sharedDefault.double(forKey: context.attributes.prefixedKey("matchEndDate")) / 1000) - let matchRemainingTime = matchStartDate...matchEndDate - - return DynamicIsland { - DynamicIslandExpandedRegion(.leading) { - VStack(alignment: .center, spacing: 2.0) { - - if let uiImageTeamA = UIImage(contentsOfFile: teamALogo) - { - Image(uiImage: uiImageTeamA) - .resizable() - .frame(width: 80, height: 80) - .offset(y:0) - } - - Spacer() - - Text(teamAName) - .lineLimit(1) - .font(.subheadline) - .fontWeight(.bold) - .multilineTextAlignment(.center) - - Text(teamAState) - .lineLimit(1) - .font(.footnote) - .fontWeight(.bold) - .multilineTextAlignment(.center) - } - .frame(width: 70, height: 120) - .padding(.bottom, 8) - .padding(.top, 8) - - - } - DynamicIslandExpandedRegion(.trailing) { - VStack(alignment: .center, spacing: 2.0) { - - if let uiImageTeamB = UIImage(contentsOfFile: teamBLogo) - { - Image(uiImage: uiImageTeamB) - .resizable() - .frame(width: 80, height: 80) - .offset(y:0) - } - - Spacer() - - Text(teamBName) - .lineLimit(1) - .font(.subheadline) - .fontWeight(.bold) - .multilineTextAlignment(.center) - - Text(teamBState) - .lineLimit(1) - .font(.footnote) - .fontWeight(.bold) - .multilineTextAlignment(.center) - } - .frame(width: 70, height: 120) - .padding(.bottom, 8) - .padding(.top, 8) - - - } - DynamicIslandExpandedRegion(.center) { - VStack(alignment: .center, spacing: 6.0) { - HStack { - Text("\(teamAScore)") - .font(.title) - .fontWeight(.bold) - - Text(":") - .font(.title) - .fontWeight(.bold) - .foregroundStyle(.primary) - - Text("\(teamBScore)") - .font(.title) - .fontWeight(.bold) - } - .padding(.horizontal, 5.0) - .background(.thinMaterial, in: RoundedRectangle(cornerRadius: 8, style: .continuous)) - - HStack(alignment: .center, spacing: 2.0) { - Text(timerInterval: matchRemainingTime, countsDown: true) - .multilineTextAlignment(.center) - .frame(width: 50) - .monospacedDigit() - .font(.footnote) - .foregroundStyle(.white) - } - - VStack(alignment: .center, spacing: 1.0) { - Link(destination: URL(string: "la://my.app/stats")!) { - Text("See stats 📊") - }.padding(.vertical, 5).padding(.horizontal, 5) - Text(matchName) - .font(.footnote) - .foregroundStyle(.white) - } - - } - .padding(.vertical, 6.0) - } - } compactLeading: { - HStack { - if let uiImageTeamA = UIImage(contentsOfFile: teamALogo) - { - Image(uiImage: uiImageTeamA) - .resizable() - .frame(width: 26, height: 26) - } - - Text("\(teamAScore)") - .font(.title) - .fontWeight(.bold) - } - } compactTrailing: { - HStack { - Text("\(teamBScore)") - .font(.title) - .fontWeight(.bold) - if let uiImageTeamB = UIImage(contentsOfFile: teamBLogo) - { - Image(uiImage: uiImageTeamB) - .resizable() - .frame(width: 26, height: 26) - } - } - } minimal: { - ZStack { - if let uiImageTeamA = UIImage(contentsOfFile: teamALogo) - { - Image(uiImage: uiImageTeamA) - .resizable() - .frame(width: 26, height: 26) - .offset(x:-6) - } - - if let uiImageTeamB = UIImage(contentsOfFile: teamBLogo) - { - Image(uiImage: uiImageTeamB) - .resizable() - .frame(width: 26, height: 26) - .offset(x:6) - } - } - } - } - } -} - -extension LiveActivitiesAppAttributes { - func prefixedKey(_ key: String) -> String { - return "\(id)_\(key)" - } -} - diff --git a/lib/core/cache_consts.dart b/lib/core/cache_consts.dart index c1e06aa..fefd45e 100644 --- a/lib/core/cache_consts.dart +++ b/lib/core/cache_consts.dart @@ -79,4 +79,6 @@ class CacheConst { static const String zoomRoomID = 'zoom-room-id'; static String isAppOpenedFromCall = "is_app_opened_from_call"; + + static const String patientQueueNoForLiveActivity = "QUEUENO_FOR_ACTIVITYID"; } diff --git a/lib/core/common_models/patient_queue.dart b/lib/core/common_models/patient_queue.dart index ba53cdc..82b3d3d 100644 --- a/lib/core/common_models/patient_queue.dart +++ b/lib/core/common_models/patient_queue.dart @@ -2,12 +2,16 @@ class PatientQueue { final String? queueNo; final String? currentlyServingStatus; + final String? currentlyServingToken; + final String? yourTicketHeader; final String? currentlyServingTitle; final String? nextTicketStatus; final int? currentlyServingCallType; final int? callType;// background will be same as of the [Utils.getCardButtonColor] - const PatientQueue({ this.queueNo, this.currentlyServingStatus, this.nextTicketStatus, this.callType, this.currentlyServingTitle,this.currentlyServingCallType, }); + const PatientQueue({this.yourTicketHeader,this.currentlyServingTitle, this.queueNo, this.currentlyServingStatus, this.nextTicketStatus, this.callType, this.currentlyServingToken,this + .currentlyServingCallType, +}); /// Converts this PatientQueue object to a map. /// This is used for passing data to the native side for Live Activities. @@ -17,8 +21,10 @@ class PatientQueue { 'currentlyServingStatus': currentlyServingStatus, 'nextTicketStatus': nextTicketStatus, 'callType': callType, - 'currentlyServingTitle': currentlyServingTitle, + 'currentlyServingToken': currentlyServingToken, 'currentlyServingCallType': currentlyServingCallType, + 'yourTicketHeader':yourTicketHeader, + 'currentlyServingTitle':currentlyServingTitle, }; } } \ No newline at end of file diff --git a/lib/core/utils/live_activty_helper_channel.dart b/lib/core/utils/live_activty_helper_channel.dart new file mode 100644 index 0000000..e59f30e --- /dev/null +++ b/lib/core/utils/live_activty_helper_channel.dart @@ -0,0 +1,14 @@ +import 'package:flutter/services.dart'; + +class LiveActivityHelperChannel { + static const MethodChannel _channel = MethodChannel('clear_data'); + + static Future removeData() async { + try { + await _channel.invokeMethod('clearUserDefaultData'); + } on PlatformException catch (e) { + print("Failed to removeData: '${e.message}'."); + } + } + +} diff --git a/lib/core/utils/push_notification_handler.dart b/lib/core/utils/push_notification_handler.dart index 6bf7ed3..ef57b54 100644 --- a/lib/core/utils/push_notification_handler.dart +++ b/lib/core/utils/push_notification_handler.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'dart:ui'; import 'package:device_info_plus/device_info_plus.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart' as fir; import 'package:firebase_messaging/firebase_messaging.dart'; @@ -19,10 +20,14 @@ import 'package:flutter_ios_voip_kit_karmm/call_state_type.dart'; import 'package:flutter_ios_voip_kit_karmm/flutter_ios_voip_kit.dart'; import 'package:hmg_patient_app_new/core/common_models/patient_queue.dart'; import 'package:hmg_patient_app_new/core/cache_consts.dart'; +import 'package:hmg_patient_app_new/core/dependencies.dart'; +import 'package:hmg_patient_app_new/core/utils/live_activty_helper_channel.dart'; import 'package:hmg_patient_app_new/core/utils/utils.dart'; import 'package:hmg_patient_app_new/extensions/string_extensions.dart'; import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/patient_queue_details_response_model.dart'; +import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; import 'package:hmg_patient_app_new/services/cache_service.dart'; +import 'package:hmg_patient_app_new/services/navigation_service.dart'; import 'package:live_activities/live_activities.dart' show LiveActivities; import 'package:permission_handler/permission_handler.dart'; import 'package:uuid/uuid.dart'; @@ -44,74 +49,110 @@ Future backgroundMessageHandler(dynamic message) async { } if (message.data['isLiveActivity'] == true || message.data['isLiveActivity'] == "true") { try { - print('Before WidgetsFlutterBinding'); // Initialize Firebase await Firebase.initializeApp(); WidgetsFlutterBinding.ensureInitialized(); DartPluginRegistrant.ensureInitialized(); await Future.delayed(Duration(seconds: 2)); - print('Before addLiveNotification'); addLiveNotification(message, isBackgroundMessage: true); - print('After addLiveNotification'); } catch (e, stackTrace) { - print('Error: $e'); - print('Stack trace: $stackTrace'); } } } -addLiveNotification(dynamic message, {bool isBackgroundMessage = false}) async{ - print("live activity called"); - // final methodChannel = const MethodChannel('live_activities'); - // methodChannel.invokeMethod('init', { - // 'appGroupId': "", - // 'urlScheme': "", - // }); - // print("After addLiveNotification local init run"); - var liveActivity = LiveActivities(); +// addLiveNotification(dynamic message, {bool isBackgroundMessage = false}) async{ +// print("live activity called"); +// var liveActivity = LiveActivities(); +// +// +// var activityId = await Utils.getStringFromPrefs( message.data['queueNo'] ??""); +// +// var buttonText = Utils.getCardButtonText(int.parse(message.data['callType']??"1"), message.data['roomNo']); +// PatientQueue _patientQueue = PatientQueue( +// queueNo: message.data['queueNo'] ?? "IME-1", +// currentlyServingStatus: (message.data['servingCallType'] ?? 0) == "1" ? "Call for vital signs".needTranslation : "Call for Doctor".needTranslation, +// currentlyServingTitle: message.data['servingQueueNo'] ?? "IME-3", +// nextTicketStatus: buttonText, +// callType: int.parse(message.data['callType']??"1"), +// currentlyServingCallType: int.parse(message.data['servingCallType']??"1")); +// if((activityId??"") != (message.data['queueNo']??"")){ +// liveActivity.endActivity(activityId); +// activityId = ""; +// } +// print("the activity id is $activityId"); +// +// if( activityId == ""){ +// String? id = await liveActivity.createActivity( +// DateTime.now().millisecondsSinceEpoch.toString(), +// _patientQueue.toMap(), +// ); +// print("the activity id created is $id"); +// await Utils.saveStringFromPrefs(message.data['queueNo'] ??"", message.data['queueNo']??""); +// print("the activity id saved is ${await Utils.getStringFromPrefs(message.data['queueNo'] ??"")}"); +// print("the activity is created"); +// return; +// } +// +// await liveActivity.updateActivity( +// activityId, +// _patientQueue.toMap(), +// ); +// +// print("the activity is is created or updated"); +// +// } +addLiveNotification(dynamic data, {bool isBackgroundMessage = false}) async{ + var liveActivity = LiveActivities(); - var activityId = await Utils.getStringFromPrefs( message.data['queueNo'] ??""); + liveActivity.init(appGroupId: "group.alhabib.patientApp"); + if(Platform.isIOS){ + LiveActivityHelperChannel.removeData(); + } + var queueNoForWhichActivityIdCreated = await Utils.getStringFromPrefs( CacheConst.patientQueueNoForLiveActivity); + var activityId = await Utils.getStringFromPrefs( data.data['queueNo'] ??""); - var buttonText = Utils.getCardButtonText(int.parse(message.data['callType']??"1"), message.data['roomNo']); + var buttonText = Utils.getCardButtonText(int.parse(data.data['callType']??"1"), data.data['roomNo']); PatientQueue _patientQueue = PatientQueue( - queueNo: message.data['queueNo'] ?? "IME-1", - currentlyServingStatus: (message.data['servingCallType'] ?? 0) == "1" ? "Call for vital signs".needTranslation : "Call for Doctor".needTranslation, - currentlyServingTitle: message.data['servingQueueNo'] ?? "IME-3", + queueNo: data.data['queueNo'] ?? "IME-1", + currentlyServingStatus: (data.data['servingCallType'] ?? 0) == "1" ?LocaleKeys.callForVitalSign.tr() : LocaleKeys.callForDoctor.tr() , + currentlyServingToken: data.data['servingQueueNo'] ?? "IME-3", nextTicketStatus: buttonText, - callType: int.parse(message.data['callType']??"1"), - currentlyServingCallType: int.parse(message.data['servingCallType']??"1")); - if((activityId??"") != (message.data['queueNo']??"")){ + callType: int.parse(data.data['callType']??"1"), + currentlyServingCallType: int.parse(data.data['servingCallType']??"1"), + yourTicketHeader: LocaleKeys.yourQueueNumber.tr(), + currentlyServingTitle: LocaleKeys.currentServing.tr() + ); + if((queueNoForWhichActivityIdCreated??"") != (_patientQueue.queueNo??"")){ liveActivity.endActivity(activityId); activityId = ""; } - print("the activity id is $activityId"); if( activityId == ""){ - String? id = await liveActivity.createActivity( + String? id = await liveActivity.createActivity( DateTime.now().millisecondsSinceEpoch.toString(), _patientQueue.toMap(), ); - print("the activity id created is $id"); - await Utils.saveStringFromPrefs(message.data['queueNo'] ??"", message.data['queueNo']??""); - print("the activity id saved is ${await Utils.getStringFromPrefs(message.data['queueNo'] ??"")}"); - print("the activity is created"); + await Utils.saveStringFromPrefs(_patientQueue.queueNo ??"", id??""); + await Utils.saveStringFromPrefs(CacheConst.patientQueueNoForLiveActivity ??"", _patientQueue.queueNo??""); return; } - - await liveActivity.updateActivity( + if(Platform.isIOS) { + await liveActivity.createOrUpdateActivity( activityId, - _patientQueue.toMap(), - ); - - print("the activity is is created or updated"); - + _patientQueue.toMap(), + ); + }else{ + await liveActivity.updateActivity( + activityId, + _patientQueue.toMap(), + ); + } } callPage(String sessionID, String token) async {} _incomingCall(Map data) async { - print('the value of the _incomingCall remote message is $data'); // LandingPage.incomingCallData = IncomingCallData.fromJson(data); // var dataItem = await AppSharedPreferences().getObject('call_data'); @@ -219,7 +260,6 @@ Future openCallPage(BuildContext context) async { // ); // } } catch (err) { - print(err); // await PlatformExceptionAlertDialog( // exception: Exception(err), // ).show(context); @@ -284,7 +324,6 @@ class PushNotificationHandler { // late HmsApiAvailability hmsApiAvailability; final voIPKit = FlutterIOSVoIPKit.instance; - late Timer timeOutTimer; bool isTalking = false; @@ -333,10 +372,8 @@ class PushNotificationHandler { final PermissionStatus status = await Permission.notification.request(); if (status.isGranted) { // Notification permissions granted - print("Notification permissions granted"); } else if (status.isDenied) { // Notification permissions denied - print("Notification permissions not granted"); } else if (status.isPermanentlyDenied) { // // Notification permissions permanently denied, open app settings @@ -344,19 +381,16 @@ class PushNotificationHandler { } if (Platform.isIOS) { voIPKit.getVoIPToken().then((value) { - print("🎈 APNS VOIP KIT TOKEN: $value"); Utils.saveStringFromPrefs(CacheConst.voipToken, value ?? ""); // AppSharedPreferences().setString(APNS_TOKEN, value!); }); voIPKit.onDidUpdatePushToken = (String token) { - print('🎈 example: onDidUpdatePushToken: $token'); }; voIPKit.onDidReceiveIncomingPush = ( Map payload, ) async { - print('🎈 example: onDidReceiveIncomingPush $payload'); // _timeOut(); }; @@ -365,7 +399,6 @@ class PushNotificationHandler { String callerId, ) async { try { - print('🎈 example: onDidRejectIncomingCall $uuid - $callerId'); timeOutTimer.cancel(); } catch (err) {} }; @@ -374,7 +407,6 @@ class PushNotificationHandler { String uuid, String callerId, ) async { - print('🎈 example: onDidAcceptIncomingCall $uuid - $callerId'); await voIPKit.acceptIncomingCall(callerState: CallStateType.calling); await voIPKit.callConnected(); await Future.delayed(Duration(seconds: 2)).then((val) async { @@ -394,6 +426,7 @@ class PushNotificationHandler { // timeOutTimer.cancel(); }; } + try { final fcmToken = await FirebaseMessaging.instance.getToken().catchError((err) { print(err); @@ -458,7 +491,6 @@ class PushNotificationHandler { }); FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) async { - print("Firebase onMessageOpenedApp!!!"); if (Platform.isIOS) { await Future.delayed(Duration(milliseconds: 3000)).then((value) { newMessage(message); @@ -472,7 +504,6 @@ class PushNotificationHandler { print("Push Notification getToken: ${token!}"); onToken(token!); }).catchError((err) { - print(err); }); FirebaseMessaging.instance.onTokenRefresh.listen((fcm_token) { @@ -492,7 +523,6 @@ class PushNotificationHandler { } newMessage(RemoteMessage remoteMessage) async { - print("Remote Message 1: ${remoteMessage.data}"); if (remoteMessage.data.isEmpty) { return; } @@ -541,7 +571,6 @@ class PushNotificationHandler { } onToken(String token) async { - print("Push Notification Token: $token"); await Utils.saveStringFromPrefs(CacheConst.pushToken, token); } @@ -563,8 +592,6 @@ class PushNotificationHandler { // Permission.audio, // Permission.microphone, ].request(); - print("=-=-=-=-=-=-=-=-=-=-"); - print(statuses[Permission.notification]); } } catch (_) { debugPrint(_.toString()); diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index ea0bcb8..97721a6 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -876,5 +876,9 @@ abstract class LocaleKeys { static const laserClinic = 'laserClinic'; static const continueString = 'continueString'; static const covid_info = 'covid_info'; + static const callForVitalSign = 'callForVitalSign'; + static const callForDoctor = 'callForDoctor'; + static const yourQueueNumber = 'yourQueueNumber'; + static const currentServing = 'currentServing'; } diff --git a/lib/presentation/home/landing_page.dart b/lib/presentation/home/landing_page.dart index 60b3192..d3a8960 100644 --- a/lib/presentation/home/landing_page.dart +++ b/lib/presentation/home/landing_page.dart @@ -643,7 +643,7 @@ class _LandingPageState extends State { }), SizedBox(height: 16.h), Container( - height: 250.h, + height: 121.h, decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.r), child: Column( children: [ diff --git a/lib/presentation/home/widgets/small_service_card.dart b/lib/presentation/home/widgets/small_service_card.dart index ffc5ed1..88365c6 100644 --- a/lib/presentation/home/widgets/small_service_card.dart +++ b/lib/presentation/home/widgets/small_service_card.dart @@ -1,10 +1,13 @@ +import 'dart:io'; + import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; +import 'package:hmg_patient_app_new/core/utils/live_activty_helper_channel.dart'; +import 'package:hmg_patient_app_new/core/utils/push_notification_handler.dart'; import 'package:hmg_patient_app_new/core/utils/size_utils.dart'; import 'package:hmg_patient_app_new/extensions/string_extensions.dart'; import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; import 'package:hmg_patient_app_new/features/emergency_services/emergency_services_view_model.dart'; -import 'package:hmg_patient_app_new/features/hospital/hospital_selection_view_model.dart'; import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; import 'package:hmg_patient_app_new/presentation/appointments/my_doctors_page.dart'; import 'package:hmg_patient_app_new/presentation/emergency_services/emergency_services_page.dart'; @@ -12,17 +15,13 @@ import 'package:hmg_patient_app_new/presentation/insurance/insurance_home_page.d import 'package:hmg_patient_app_new/presentation/lab/lab_orders_page.dart'; import 'package:hmg_patient_app_new/presentation/medical_file/patient_sickleaves_list_page.dart'; import 'package:hmg_patient_app_new/presentation/prescriptions/prescriptions_list_page.dart'; -import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart'; import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart'; -import 'package:hmg_patient_app_new/widgets/transitions/fade_page.dart'; -import 'package:live_activities/live_activities.dart' show LiveActivities; +import 'package:live_activities/live_activities.dart'; import 'package:provider/provider.dart'; -import '../../../core/common_models/patient_queue.dart' show PatientQueue; -import '../../../core/dependencies.dart'; +import '../../../core/common_models/patient_queue.dart'; import '../../../core/utils/utils.dart'; import '../../../theme/colors.dart'; -import '../../emergency_services/call_ambulance/widgets/HospitalBottomSheetBody.dart'; import '../../radiology/radiology_orders_page.dart' show RadiologyOrdersPage; class SmallServiceCard extends StatelessWidget { @@ -69,29 +68,14 @@ class SmallServiceCard extends StatelessWidget { ), ), ), - ).onPress(() async { + ).onPress(() { switch (serviceName) { case "lab_results": - { - LiveActivities().init(appGroupId: "group.alhabib.patientApp"); - PatientQueue _patientQueue = PatientQueue( - queueNo: "IME-1", - currentlyServingStatus: "Call for vital signs".needTranslation , - currentlyServingTitle:"IME-3", - nextTicketStatus: "dsds", - callType: 1, - currentlyServingCallType: 1); - - var activity = await LiveActivities().createActivity( - DateTime.now().millisecondsSinceEpoch.toString(), - _patientQueue.toMap(), - ); - } - // Navigator.of(context).push( - // CustomPageRoute( - // page: LabOrdersPage(), - // ), - // ); + Navigator.of(context).push( + CustomPageRoute( + page: LabOrdersPage(), + ), + ); break; case "radiology_results": Navigator.of(context).push( @@ -131,30 +115,15 @@ class SmallServiceCard extends StatelessWidget { ); break; case "emergency": - // context.read().flushData(); - // context.read().getTransportationOrders(showLoader: false,); - // context.read().getRRTOrders(showLoader: false,); - // Navigator.of(context).push( - // CustomPageRoute( - // page: EmergencyServicesPage(), - // settings: const RouteSettings(name: '/EmergencyServicesPage'), - // ), - // ); - { - LiveActivities().init(appGroupId: "group.alhabib.patientApp"); - PatientQueue _patientQueue = PatientQueue( - queueNo: "IME-1", - currentlyServingStatus: "Call for vital signs".needTranslation , - currentlyServingTitle:"IME-3", - nextTicketStatus: "dsds", - callType: 1, - currentlyServingCallType: 1); - - var activity = await LiveActivities().createActivity( - DateTime.now().millisecondsSinceEpoch.toString(), - _patientQueue.toMap(), + context.read().flushData(); + context.read().getTransportationOrders(showLoader: false,); + context.read().getRRTOrders(showLoader: false,); + Navigator.of(context).push( + CustomPageRoute( + page: EmergencyServicesPage(), + settings: const RouteSettings(name: '/EmergencyServicesPage'), + ), ); - } break; default: // Handle unknown service @@ -162,41 +131,4 @@ class SmallServiceCard extends StatelessWidget { } }); } - - void openIndoorNavigationBottomSheet(BuildContext context) { - showCommonBottomSheetWithoutHeight( - title: LocaleKeys.selectHospital.tr(), - context, - child: ChangeNotifierProvider( - create: (context) => HospitalSelectionBottomSheetViewModel(getIt()), - child: Consumer( - builder: (_, vm, __) => HospitalBottomSheetBody( - searchText: vm.searchController, - displayList: vm.displayList, - onFacilityClicked: (value) { - vm.setSelectedFacility(value); - vm.getDisplayList(); - }, - onHospitalClicked: (hospital) { - Navigator.pop(context); - vm.openPenguin(hospital); - }, - onHospitalSearch: (value) { - vm.searchHospitals(value ?? ""); - }, - selectedFacility: vm.selectedFacility, - hmcCount: vm.hmcCount, - hmgCount: vm.hmgCount, - ), - ), - ), - isFullScreen: false, - isCloseButtonVisible: true, - hasBottomPadding: false, - backgroundColor: AppColors.bottomSheetBgColor, - callBackFunc: () { - context.read().clearSearchText(); - }, - ); - } }