live_activities
haroon amjad 3 weeks ago
parent 0838579da0
commit b73afa705a

Binary file not shown.

@ -42,6 +42,11 @@ android {
versionCode = flutter.versionCode
versionName = flutter.versionName
multiDexEnabled = true
// Force application label to override plugin labels
manifestPlaceholders["appLabel"] = "Dr. Alhabib"
resValue("string", "app_name", "Dr. Alhabib")
resValue("string", "application_name", "Dr. Alhabib")
// Filter to arm64-v8a for better native library compatibility
ndk {
@ -241,6 +246,102 @@ tasks.whenTaskAdded {
}
}
// DISABLED: This was causing packaging conflicts
// Instead relying on manifest merger rules and resource priorities
/*
// CRITICAL: Fix CallKit plugin conflict at compile time
tasks.register("fixCallKitPluginConflict") {
doLast {
println("🔧 Fixing CallKit plugin conflicts with payment services...")
// Fix merged manifests
val manifestFiles = listOf(
File(project.layout.buildDirectory.asFile.get(), "intermediates/merged_manifests"),
File(project.layout.buildDirectory.asFile.get(), "intermediates/packaged_manifests")
)
manifestFiles.forEach { manifestDir ->
if (manifestDir.exists()) {
manifestDir.walkTopDown().forEach { file ->
if (file.isFile && file.name == "AndroidManifest.xml") {
var content = file.readText()
var modified = false
// Remove any CallKit application labels
if (content.contains("android:label=\"CallKit\"")) {
content = content.replace("android:label=\"CallKit\"", "android:label=\"@string/app_name\"")
modified = true
println(" ✓ Removed CallKit label from: ${file.path}")
}
// Ensure tools namespace is declared if we need to use it
if (content.contains("<manifest") && !content.contains("xmlns:tools")) {
content = content.replace(
"<manifest",
"<manifest xmlns:tools=\"http://schemas.android.com/tools\""
)
modified = true
}
// Ensure our app label takes precedence - only if tools namespace exists
if (content.contains("<application") && content.contains("xmlns:tools") && !content.contains("tools:replace=\"android:label\"")) {
content = content.replace(
"<application",
"<application tools:replace=\"android:label\""
)
modified = true
}
if (modified) {
file.writeText(content)
println(" ✓ Patched manifest: ${file.path}")
}
}
}
}
}
// Fix merged resources (strings.xml)
val resFiles = listOf(
File(project.layout.buildDirectory.asFile.get(), "intermediates/merged_res"),
File(project.layout.buildDirectory.asFile.get(), "intermediates/incremental/mergeDebugResources/merged.dir"),
File(project.layout.buildDirectory.asFile.get(), "intermediates/incremental/mergeReleaseResources/merged.dir")
)
resFiles.forEach { resDir ->
if (resDir.exists()) {
resDir.walkTopDown().forEach { file ->
if (file.isFile && file.name == "strings.xml") {
var content = file.readText()
var modified = false
// Replace any "CallKit" string resources
if (content.contains(">CallKit<")) {
content = content.replace(">CallKit<", ">Dr. Alhabib<")
modified = true
println(" ✓ Replaced CallKit string in: ${file.path}")
}
if (modified) {
file.writeText(content)
}
}
}
}
}
println("✅ CallKit plugin conflict fix completed!")
}
}
// Run the fix after manifest and resource merging
tasks.whenTaskAdded {
if (name.contains("merge") && (name.contains("Manifest") || name.contains("Resources"))) {
finalizedBy("fixCallKitPluginConflict")
}
}
*/
//tasks.whenTaskAdded {
// if (name.contains("merge") && name.contains("NativeLibs")) {
// doLast {

@ -30,6 +30,11 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin barcode_scan2, de.mintware.barcode_scan.BarcodeScanPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.microsoft.clarity.ClarityFlutterPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin clarity_flutter, com.microsoft.clarity.ClarityFlutterPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.connectivity.ConnectivityPlugin());
} catch (Exception e) {
@ -65,16 +70,31 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin firebase_core, io.flutter.plugins.firebase.core.FlutterFirebaseCorePlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.crashlytics.FlutterFirebaseCrashlyticsPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin firebase_crashlytics, io.flutter.plugins.firebase.crashlytics.FlutterFirebaseCrashlyticsPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin firebase_messaging, io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.amazon.flutter_amazonpaymentservices.FlutterAmazonpaymentservicesPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_amazonpaymentservices, com.amazon.flutter_amazonpaymentservices.FlutterAmazonpaymentservicesPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.hiennv.flutter_callkit_incoming.FlutterCallkitIncomingPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_callkit_incoming, com.hiennv.flutter_callkit_incoming.FlutterCallkitIncomingPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.fluttercandies.flutter_image_compress.ImageCompressPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_image_compress_common, com.fluttercandies.flutter_image_compress.ImageCompressPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.pichillilorenzo.flutter_inappwebview_android.InAppWebViewFlutterPlugin());
} catch (Exception e) {
@ -90,11 +110,21 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_nfc_kit, im.nfc.flutter_nfc_kit.FlutterNfcKitPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.paymentsdk.flutter_paymentsdk_bridge.FlutterPaytabsBridgePlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_paytabs_bridge, com.paymentsdk.flutter_paymentsdk_bridge.FlutterPaytabsBridgePlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_plugin_android_lifecycle, io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.flutter_screenshot_blocker.flutter_screenshot_blocker.FlutterScreenshotBlockerPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_screenshot_blocker, com.flutter_screenshot_blocker.flutter_screenshot_blocker.FlutterScreenshotBlockerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.flutterzoom.videosdk.FlutterZoomVideoSdkPlugin());
} catch (Exception e) {
@ -150,6 +180,16 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin image_picker_android, io.flutter.plugins.imagepicker.ImagePickerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.britannio.in_app_review.InAppReviewPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin in_app_review, dev.britannio.in_app_review.InAppReviewPlugin", e);
}
try {
flutterEngine.getPlugins().add(new de.ffuf.in_app_update.InAppUpdatePlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin in_app_update, de.ffuf.in_app_update.InAppUpdatePlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.ryanheise.just_audio.JustAudioPlugin());
} catch (Exception e) {
@ -176,9 +216,9 @@ public final class GeneratedPluginRegistrant {
Log.e(TAG, "Error registering plugin manage_calendar_events, com.fantastic.manage_calendar_events.ManageCalendarEventsPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.example.maps_launcher.MapsLauncherPlugin());
flutterEngine.getPlugins().add(new dev.fluttered.map_launcher.MapLauncherPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin maps_launcher, com.example.maps_launcher.MapsLauncherPlugin", e);
Log.e(TAG, "Error registering plugin map_launcher, dev.fluttered.map_launcher.MapLauncherPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.network_info.NetworkInfoPlusPlugin());
@ -205,6 +245,11 @@ public final class GeneratedPluginRegistrant {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin permission_handler_android, com.baseflow.permissionhandler.PermissionHandlerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.aaassseee.screen_brightness_android.ScreenBrightnessAndroidPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin screen_brightness_android, com.aaassseee.screen_brightness_android.ScreenBrightnessAndroidPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.share.SharePlusPlugin());
} catch (Exception e) {

@ -1,5 +1,5 @@
flutter.buildMode=debug
flutter.sdk=/Users/cloud/sdk/flutter
flutter.versionCode=1
flutter.versionName=1.0.0
sdk.dir=/Users/cloud/Library/Android/sdk
flutter.sdk=/Users/mohamedmekawy/Documents/Flutter_SDKs/flutter_3.35.3
flutter.versionCode=38
flutter.versionName=0.0.39
sdk.dir=/Users/mohamedmekawy/Library/Android/sdk

@ -4,6 +4,11 @@ PODS:
- PayFortSDK
- audio_session (0.0.1):
- Flutter
- barcode_scan2 (0.0.1):
- Flutter
- SwiftProtobuf (~> 1.33)
- clarity_flutter (1.0.0):
- Flutter
- connectivity_plus (0.0.1):
- Flutter
- CryptoSwift (1.8.4)
@ -54,6 +59,9 @@ PODS:
- FirebaseAnalytics (~> 11.15.0)
- Firebase/CoreOnly (11.15.0):
- FirebaseCore (~> 11.15.0)
- Firebase/Crashlytics (11.15.0):
- Firebase/CoreOnly
- FirebaseCrashlytics (~> 11.15.0)
- Firebase/Messaging (11.15.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 11.15.0)
@ -64,6 +72,10 @@ PODS:
- firebase_core (3.15.2):
- Firebase/CoreOnly (= 11.15.0)
- Flutter
- firebase_crashlytics (4.3.10):
- Firebase/Crashlytics (= 11.15.0)
- firebase_core
- Flutter
- firebase_messaging (15.2.10):
- Firebase/Messaging (= 11.15.0)
- firebase_core
@ -90,8 +102,19 @@ PODS:
- FirebaseCoreInternal (~> 11.15.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/Logger (~> 8.1)
- FirebaseCoreExtension (11.15.0):
- FirebaseCore (~> 11.15.0)
- FirebaseCoreInternal (11.15.0):
- "GoogleUtilities/NSData+zlib (~> 8.1)"
- FirebaseCrashlytics (11.15.0):
- FirebaseCore (~> 11.15.0)
- FirebaseInstallations (~> 11.0)
- FirebaseRemoteConfigInterop (~> 11.0)
- FirebaseSessions (~> 11.0)
- GoogleDataTransport (~> 10.0)
- GoogleUtilities/Environment (~> 8.1)
- nanopb (~> 3.30910.0)
- PromisesObjC (~> 2.4)
- FirebaseInstallations (11.15.0):
- FirebaseCore (~> 11.15.0)
- GoogleUtilities/Environment (~> 8.1)
@ -106,13 +129,31 @@ PODS:
- GoogleUtilities/Reachability (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0)
- FirebaseRemoteConfigInterop (11.15.0)
- FirebaseSessions (11.15.0):
- FirebaseCore (~> 11.15.0)
- FirebaseCoreExtension (~> 11.15.0)
- FirebaseInstallations (~> 11.0)
- GoogleDataTransport (~> 10.0)
- GoogleUtilities/Environment (~> 8.1)
- GoogleUtilities/UserDefaults (~> 8.1)
- nanopb (~> 3.30910.0)
- PromisesSwift (~> 2.1)
- FLAnimatedImage (1.0.17)
- Flutter (1.0.0)
- flutter_amazonpaymentservices (0.0.1):
- Flutter
- PayFortSDK
- flutter_app_group_directory (0.0.1):
- Flutter
- flutter_callkit_incoming (0.0.1):
- CryptoSwift
- Flutter
- flutter_image_compress_common (1.0.0):
- Flutter
- Mantle
- SDWebImage
- SDWebImageWebPCoder
- flutter_inappwebview_ios (0.0.1):
- Flutter
- flutter_inappwebview_ios/Core (= 0.0.1)
@ -126,6 +167,19 @@ PODS:
- Flutter
- flutter_nfc_kit (3.6.0):
- Flutter
- flutter_paytabs_bridge (2.7.12):
- Flutter
- PayTabsSDK (= 6.6.54)
- flutter_screenshot_blocker (0.0.1):
- Flutter
- flutter_zoom_videosdk (0.0.1):
- Flutter
- ZoomVideoSDK/CptShare (= 2.4.0)
- ZoomVideoSDK/Whiteboard (= 2.4.0)
- ZoomVideoSDK/zm_annoter_dynamic (= 2.4.0)
- ZoomVideoSDK/zoomcml (= 2.4.0)
- ZoomVideoSDK/ZoomTask (= 2.4.0)
- ZoomVideoSDK/ZoomVideoSDK (= 2.4.0)
- fluttertoast (0.0.2):
- Flutter
- geolocator_apple (1.2.0):
@ -202,9 +256,23 @@ PODS:
- Flutter
- image_picker_ios (0.0.1):
- Flutter
- in_app_review (2.0.0):
- Flutter
- just_audio (0.0.1):
- Flutter
- FlutterMacOS
- libwebp (1.5.0):
- libwebp/demux (= 1.5.0)
- libwebp/mux (= 1.5.0)
- libwebp/sharpyuv (= 1.5.0)
- libwebp/webp (= 1.5.0)
- libwebp/demux (1.5.0):
- libwebp/webp
- libwebp/mux (1.5.0):
- libwebp/demux
- libwebp/sharpyuv (1.5.0)
- libwebp/webp (1.5.0):
- libwebp/sharpyuv
- live_activities (0.0.1):
- Flutter
- local_auth_darwin (0.0.1):
@ -214,6 +282,11 @@ PODS:
- Flutter
- manage_calendar_events (0.0.1):
- Flutter
- Mantle (2.2.0):
- Mantle/extobjc (= 2.2.0)
- Mantle/extobjc (2.2.0)
- map_launcher (0.0.1):
- Flutter
- MapboxCommon (23.11.0)
- MapboxCoreMaps (10.19.1):
- MapboxCommon (~> 23.11)
@ -237,8 +310,6 @@ PODS:
- MapboxNavigationNative (206.2.2):
- MapboxCommon (~> 23.10)
- MapboxSpeech (2.1.1)
- maps_launcher (0.0.1):
- Flutter
- nanopb (3.30910.0):
- nanopb/decode (= 3.30910.0)
- nanopb/encode (= 3.30910.0)
@ -255,13 +326,21 @@ PODS:
- Flutter
- FlutterMacOS
- PayFortSDK (3.2.1)
- PayTabsSDK (6.6.54)
- permission_handler_apple (9.3.0):
- Flutter
- Polyline (5.1.0)
- PromisesObjC (2.4.0)
- PromisesSwift (2.4.0):
- PromisesObjC (= 2.4.0)
- screen_brightness_ios (0.1.0):
- Flutter
- SDWebImage (5.21.2):
- SDWebImage/Core (= 5.21.2)
- SDWebImage/Core (5.21.2)
- SDWebImageWebPCoder (0.15.0):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.17)
- share_plus (0.0.1):
- Flutter
- shared_preferences_foundation (0.0.1):
@ -271,6 +350,7 @@ PODS:
- sqflite_darwin (0.0.4):
- Flutter
- FlutterMacOS
- SwiftProtobuf (1.38.1)
- SwiftyGif (5.4.5)
- Turf (2.8.0)
- url_launcher_ios (0.0.1):
@ -283,10 +363,18 @@ PODS:
- webview_flutter_wkwebview (0.0.1):
- Flutter
- FlutterMacOS
- ZoomVideoSDK/CptShare (2.4.0)
- ZoomVideoSDK/Whiteboard (2.4.0)
- ZoomVideoSDK/zm_annoter_dynamic (2.4.0)
- ZoomVideoSDK/zoomcml (2.4.0)
- ZoomVideoSDK/ZoomTask (2.4.0)
- ZoomVideoSDK/ZoomVideoSDK (2.4.0)
DEPENDENCIES:
- amazon_payfort (from `.symlinks/plugins/amazon_payfort/ios`)
- audio_session (from `.symlinks/plugins/audio_session/ios`)
- barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`)
- clarity_flutter (from `.symlinks/plugins/clarity_flutter/ios`)
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- device_calendar (from `.symlinks/plugins/device_calendar/ios`)
- device_calendar_plus_ios (from `.symlinks/plugins/device_calendar_plus_ios/ios`)
@ -294,33 +382,41 @@ DEPENDENCIES:
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- FLAnimatedImage
- Flutter (from `Flutter`)
- flutter_amazonpaymentservices (from `.symlinks/plugins/flutter_amazonpaymentservices/ios`)
- flutter_app_group_directory (from `.symlinks/plugins/flutter_app_group_directory/ios`)
- flutter_callkit_incoming (from `.symlinks/plugins/flutter_callkit_incoming/ios`)
- flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
- flutter_ios_voip_kit_karmm (from `.symlinks/plugins/flutter_ios_voip_kit_karmm/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_nfc_kit (from `.symlinks/plugins/flutter_nfc_kit/ios`)
- flutter_paytabs_bridge (from `.symlinks/plugins/flutter_paytabs_bridge/ios`)
- flutter_screenshot_blocker (from `.symlinks/plugins/flutter_screenshot_blocker/ios`)
- flutter_zoom_videosdk (from `.symlinks/plugins/flutter_zoom_videosdk/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`)
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
- health (from `.symlinks/plugins/health/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- in_app_review (from `.symlinks/plugins/in_app_review/ios`)
- just_audio (from `.symlinks/plugins/just_audio/darwin`)
- live_activities (from `.symlinks/plugins/live_activities/ios`)
- local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`)
- location (from `.symlinks/plugins/location/ios`)
- manage_calendar_events (from `.symlinks/plugins/manage_calendar_events/ios`)
- map_launcher (from `.symlinks/plugins/map_launcher/ios`)
- MapboxMaps (= 10.19.0)
- MapboxNavigation (= 2.19.0)
- maps_launcher (from `.symlinks/plugins/maps_launcher/ios`)
- network_info_plus (from `.symlinks/plugins/network_info_plus/ios`)
- open_filex (from `.symlinks/plugins/open_filex/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
@ -337,9 +433,13 @@ SPEC REPOS:
- Firebase
- FirebaseAnalytics
- FirebaseCore
- FirebaseCoreExtension
- FirebaseCoreInternal
- FirebaseCrashlytics
- FirebaseInstallations
- FirebaseMessaging
- FirebaseRemoteConfigInterop
- FirebaseSessions
- FLAnimatedImage
- Google-Maps-iOS-Utils
- GoogleAdsOnDeviceConversion
@ -347,6 +447,8 @@ SPEC REPOS:
- GoogleDataTransport
- GoogleMaps
- GoogleUtilities
- libwebp
- Mantle
- MapboxCommon
- MapboxCoreMaps
- MapboxCoreNavigation
@ -359,18 +461,27 @@ SPEC REPOS:
- nanopb
- OrderedSet
- PayFortSDK
- PayTabsSDK
- Polyline
- PromisesObjC
- PromisesSwift
- SDWebImage
- SDWebImageWebPCoder
- Solar-dev
- SwiftProtobuf
- SwiftyGif
- Turf
- ZoomVideoSDK
EXTERNAL SOURCES:
amazon_payfort:
:path: ".symlinks/plugins/amazon_payfort/ios"
audio_session:
:path: ".symlinks/plugins/audio_session/ios"
barcode_scan2:
:path: ".symlinks/plugins/barcode_scan2/ios"
clarity_flutter:
:path: ".symlinks/plugins/clarity_flutter/ios"
connectivity_plus:
:path: ".symlinks/plugins/connectivity_plus/ios"
device_calendar:
@ -385,14 +496,20 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/firebase_analytics/ios"
firebase_core:
:path: ".symlinks/plugins/firebase_core/ios"
firebase_crashlytics:
:path: ".symlinks/plugins/firebase_crashlytics/ios"
firebase_messaging:
:path: ".symlinks/plugins/firebase_messaging/ios"
Flutter:
:path: Flutter
flutter_amazonpaymentservices:
:path: ".symlinks/plugins/flutter_amazonpaymentservices/ios"
flutter_app_group_directory:
:path: ".symlinks/plugins/flutter_app_group_directory/ios"
flutter_callkit_incoming:
:path: ".symlinks/plugins/flutter_callkit_incoming/ios"
flutter_image_compress_common:
:path: ".symlinks/plugins/flutter_image_compress_common/ios"
flutter_inappwebview_ios:
:path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
flutter_ios_voip_kit_karmm:
@ -401,6 +518,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_nfc_kit:
:path: ".symlinks/plugins/flutter_nfc_kit/ios"
flutter_paytabs_bridge:
:path: ".symlinks/plugins/flutter_paytabs_bridge/ios"
flutter_screenshot_blocker:
:path: ".symlinks/plugins/flutter_screenshot_blocker/ios"
flutter_zoom_videosdk:
:path: ".symlinks/plugins/flutter_zoom_videosdk/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
geolocator_apple:
@ -411,6 +534,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/health/ios"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
in_app_review:
:path: ".symlinks/plugins/in_app_review/ios"
just_audio:
:path: ".symlinks/plugins/just_audio/darwin"
live_activities:
@ -421,8 +546,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/location/ios"
manage_calendar_events:
:path: ".symlinks/plugins/manage_calendar_events/ios"
maps_launcher:
:path: ".symlinks/plugins/maps_launcher/ios"
map_launcher:
:path: ".symlinks/plugins/map_launcher/ios"
network_info_plus:
:path: ".symlinks/plugins/network_info_plus/ios"
open_filex:
@ -433,6 +558,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
screen_brightness_ios:
:path: ".symlinks/plugins/screen_brightness_ios/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_foundation:
@ -449,49 +576,65 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
SPEC CHECKSUMS:
amazon_payfort: 4ad7a3413acc1c4c4022117a80d18fee23c572d3
audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd
amazon_payfort: 782d287860ac8962baf4e0a2a0fb2f81fdf27204
audio_session: 19e9480dbdd4e5f6c4543826b2e8b0e4ab6145fe
barcode_scan2: 050b7b327e85954c8918715d42e83c5a35c3ed89
clarity_flutter: e4e49caa906b833300b7dabc0a9f60d0e91ccbc0
connectivity_plus: 2a701ffec2c0ae28a48cf7540e279787e77c447d
CryptoSwift: e64e11850ede528a02a0f3e768cec8e9d92ecb90
device_calendar: b55b2c5406cfba45c95a59f9059156daee1f74ed
device_calendar_plus_ios: 2c04ad7643c6e697438216e33693b84e8ca45ded
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
device_calendar: 9cb33f88a02e19652ec7b8b122ca778f751b1f7b
device_calendar_plus_ios: 34dca387f44fad29b840096a840f94edc55af858
device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
file_picker: b159e0c068aef54932bb15dc9fd1571818edaf49
Firebase: d99ac19b909cd2c548339c2241ecd0d1599ab02e
firebase_analytics: 0e25ca1d4001ccedd40b4e5b74c0ec34e18f6425
firebase_core: 995454a784ff288be5689b796deb9e9fa3601818
firebase_messaging: f4a41dd102ac18b840eba3f39d67e77922d3f707
firebase_analytics: bf93e20703c95030404d6ddbb1adf05bf5c3885b
firebase_core: 99a37263b3c27536063a7b601d9e2a49400a433c
firebase_crashlytics: 986773c0c7ea4c3f5a4ead141b58522fcd9dfdb1
firebase_messaging: bf6697c61f31c7cc0f654131212ff04c0115c2c7
FirebaseAnalytics: 6433dfd311ba78084fc93bdfc145e8cb75740eae
FirebaseCore: efb3893e5b94f32b86e331e3bd6dadf18b66568e
FirebaseCoreExtension: edbd30474b5ccf04e5f001470bdf6ea616af2435
FirebaseCoreInternal: 9afa45b1159304c963da48addb78275ef701c6b4
FirebaseCrashlytics: e09d0bc19aa54a51e45b8039c836ef73f32c039a
FirebaseInstallations: 317270fec08a5d418fdbc8429282238cab3ac843
FirebaseMessaging: 3b26e2cee503815e01c3701236b020aa9b576f09
FirebaseRemoteConfigInterop: 1c6135e8a094cc6368949f5faeeca7ee8948b8aa
FirebaseSessions: b9a92c1c51bbb81e78fc3142cda6d925d700f8e7
FLAnimatedImage: bbf914596368867157cc71b38a8ec834b3eeb32b
Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
flutter_app_group_directory: 55b5362007d1c0cb45dc1dd1e94f67d615f45a6b
flutter_callkit_incoming: cb8138af67cda6dd981f7101a5d709003af21502
flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
flutter_ios_voip_kit_karmm: 371663476722afb631d5a13a39dee74c56c1abd0
flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
flutter_nfc_kit: e1b71583eafd2c9650bc86844a7f2d185fb414f6
fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
flutter_amazonpaymentservices: 65a823f0cde190eaa78f1441c73b6c766ac2b899
flutter_app_group_directory: d2c3337f424828558953172f9378d00df9b7756d
flutter_callkit_incoming: 417dd1b46541cdd5d855ad795ccbe97d1c18155e
flutter_image_compress_common: ec1d45c362c9d30a3f6a0426c297f47c52007e3e
flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4
flutter_ios_voip_kit_karmm: 7ea37381a8841c92d186edf1f4604df5cc437579
flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f
flutter_nfc_kit: 3985c93f749b9cb4747479205c2f10bd2f877a11
flutter_paytabs_bridge: 6398a23e4c217f46a87d041d50d814cd1bf901f8
flutter_screenshot_blocker: af896cc18564521a9bcf34e8ba09ff481ec87148
flutter_zoom_videosdk: 9d59a78c3e426bcf4723c7e14ac469bde1d0566b
fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f
geolocator_apple: 66b711889fd333205763b83c9dcf0a57a28c7afd
Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321
google_maps_flutter_ios: 3213e1e5f5588b6134935cb8fc59acb4e6d88377
google_maps_flutter_ios: ffdd933832966673a1f57f5effd014dc8d4d43a2
GoogleAdsOnDeviceConversion: 2be6297a4f048459e0ae17fad9bfd2844e10cf64
GoogleAppMeasurement: 700dce7541804bec33db590a5c496b663fbe2539
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
health: 32d2fbc7f26f9a2388d1a514ce168adbfa5bda65
image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
live_activities: 4dfa736d0736e1c77866a2f9c056a76513cc9e7b
local_auth_darwin: c3ee6cce0a8d56be34c8ccb66ba31f7f180aaebb
location: 155caecf9da4f280ab5fe4a55f94ceccfab838f8
manage_calendar_events: fe1541069431af035ced925ebd9def8b4b271254
health: 9cd70a5c9d9ec559a12d639a1471091c0cbb6b48
image_picker_ios: 4f2f91b01abdb52842a8e277617df877e40f905b
in_app_review: 436034b18594851a7328d7f1c2ed5ec235b79cfc
just_audio: a42c63806f16995daf5b219ae1d679deb76e6a79
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
live_activities: 5a5313d5bf801bbbbe80d51eab80aed6d6df376b
local_auth_darwin: 63c73d6d28cc3e239be2b6aa460ea6e317cd5100
location: d5cf8598915965547c3f36761ae9cc4f4e87d22e
manage_calendar_events: 9b2889799340398027b3e3f5c4891d41599ec257
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
map_launcher: 8a4e484aaddff55680a7da9bc9e25f512067fb87
MapboxCommon: 119f3759f7dc9457f0695848108ab323eb643cb4
MapboxCoreMaps: ca17f67baced23f8c952166ac6314c35bad3f66c
MapboxCoreNavigation: 3be9990fae3ed732a101001746d0e3b4234ec023
@ -501,29 +644,34 @@ SPEC CHECKSUMS:
MapboxNavigation: da9cf3d773ed5b0fa0fb388fccdaa117ee681f31
MapboxNavigationNative: 629e359f3d2590acd1ebbacaaf99e1a80ee57e42
MapboxSpeech: cd25ef99c3a3d2e0da72620ff558276ea5991a77
maps_launcher: edf829809ba9e894d70e569bab11c16352dedb45
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
network_info_plus: cf61925ab5205dce05a4f0895989afdb6aade5fc
open_filex: 432f3cd11432da3e39f47fcc0df2b1603854eff1
network_info_plus: 6613d9d7cdeb0e6f366ed4dbe4b3c51c52d567a9
open_filex: 6e26e659846ec990262224a12ef1c528bb4edbe4
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
path_provider_foundation: 0b743cbb62d8e47eab856f09262bb8c1ddcfe6ba
PayFortSDK: 233eabe9a45601fdbeac67fa6e5aae46ed8faf82
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
PayTabsSDK: 51d21d0174679d08ee816583266aa5f557ebf5ed
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
Polyline: 2a1f29f87f8d9b7de868940f4f76deb8c678a5b1
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
screen_brightness_ios: 7437207a2a9bc56553aa10f782afecf830b4c4e2
SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377
share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f
shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6
Solar-dev: 4612dc9878b9fed2667d23b327f1d4e54e16e8d0
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
SwiftProtobuf: 409d3aaec90e51b1705b1dd8065b56893450e77c
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
video_player_avfoundation: dd410b52df6d2466a42d28550e33e4146928280a
wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
webview_flutter_wkwebview: 8ebf4fded22593026f7dbff1fbff31ea98573c8d
url_launcher_ios: bb13df5870e8c4234ca12609d04010a21be43dfa
video_player_avfoundation: 7993f492ae0bd77edaea24d9dc051d8bb2cd7c86
wakelock_plus: 76957ab028e12bfa4e66813c99e46637f367fc7e
webview_flutter_wkwebview: 29eb20d43355b48fe7d07113835b9128f84e3af4
ZoomVideoSDK: c3ac797074847382d9b539044d77f5971d6b62cd
PODFILE CHECKSUM: 5df9d8aa8f2c105eacd5ad7a310503d93c68c86b
PODFILE CHECKSUM: b2fdde559476ac2931f2a7ceec6cf5a78743c72b
COCOAPODS: 1.16.2

@ -2,7 +2,7 @@
// AppIntent.swift
// live_notification
//
// Created by Cloud Solutions on 27/01/2026.
// Created by Haroon Amjad on 20/07/2026.
//
import WidgetKit

@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSSupportsLiveActivities</key>
<true/>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>

@ -2,7 +2,7 @@
// live_notificationBundle.swift
// live_notification
//
// Created by Cloud Solutions on 27/01/2026.
// Created by Haroon Amjad on 20/07/2026.
//
import WidgetKit

@ -29,7 +29,7 @@ extension Color {
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)
@ -61,7 +61,7 @@ struct WidgetColorConfig {
let nextStepBackground: Color
let nextStepTextColor: Color
let containerBorderColor: Color
static func config(for value: Int) -> WidgetColorConfig {
switch value {
case 0:
@ -109,8 +109,8 @@ struct NotificationWidgetView: View {
print("it is being loaded")
self.data = data
}
var body : some View{
// ZStack(){
body2
@ -119,7 +119,7 @@ struct NotificationWidgetView: View {
// .cornerRadius(20)
// }.background(data.colorConfig.containerBorderColor)
// .cornerRadius(20)
}
// var body2 : some View {
// Text(data.currentTicket)
@ -169,15 +169,15 @@ struct NotificationWidgetView: View {
.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))
)
// 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()
@ -209,18 +209,18 @@ struct NotificationWidgetView: View {
// 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 currentTicket = sharedDefault.string(forKey: context.attributes.prefixedKey("queueNo")) ?? "IMD A-89"
let status = sharedDefault.string(forKey: context.attributes.prefixedKey("callType")) ?? "0"
let currentlyServing = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingTitle")) ?? "IMD A-86"
let nextStep = sharedDefault.string(forKey: context.attributes.prefixedKey("currentlyServingStatus")) ??
"test111"
"Please wait! you will be called for vital signs"
let nextStepBackground = sharedDefault.integer(forKey: context.attributes.prefixedKey("currentlyServingCallType"))
// Get color configuration based on nextStepBackground
@ -229,7 +229,7 @@ struct live_notificationLiveActivity: Widget {
// Create widget data
let widgetData = NotificationWidgetData(
currentTicket: currentTicket,
currentlyServingHeader: "Currently Servingsssssssss:",
currentlyServingHeader: "Currently Serving:",
currentlyServing: currentlyServing,
status: status,
nextStep: nextStep,
@ -344,7 +344,7 @@ struct live_notificationLiveActivity: Widget {
.frame(width: 4, height: 4)
.foregroundColor(colorConfig.containerBorderColor)
}.padding(2)
}
.contentMargins(.all, 20,for: .expanded)
}
@ -374,7 +374,7 @@ struct NotificationWidgetView_Previews: PreviewProvider {
)
)
.previewDisplayName("Yellow Border (0)")
// Preview with nextStepBackground = 1 (Red border)
NotificationWidgetView(
data: NotificationWidgetData(
@ -388,7 +388,7 @@ struct NotificationWidgetView_Previews: PreviewProvider {
)
)
.previewDisplayName("Red Border (1)")
// Preview with nextStepBackground = 2 (Green border)
NotificationWidgetView(
data: NotificationWidgetData(
@ -407,4 +407,3 @@ struct NotificationWidgetView_Previews: PreviewProvider {
.previewLayout(.sizeThatFits)
}
}

Loading…
Cancel
Save