From 4b84e294609a59a24caf73e4deec4af2ec4f112a Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 7 Feb 2025 12:38:00 +0300 Subject: [PATCH] 25-2/7/1 --- ios/Podfile.lock | 18 +++++++ ios/Runner/Info.plist | 4 +- lib/controller/local/translations.dart | 5 ++ lib/main.dart | 49 ++++++++++++++++++- macos/Flutter/GeneratedPluginRegistrant.swift | 2 + pubspec.lock | 48 ++++++++++++++++++ pubspec.yaml | 2 + 7 files changed, 124 insertions(+), 4 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 371454f..1ca65aa 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -62,6 +62,8 @@ PODS: - GoogleUtilities/UserDefaults (~> 8.0) - nanopb (~> 3.30910.0) - Flutter (1.0.0) + - flutter_app_group_directory (0.0.1): + - Flutter - flutter_contacts (0.0.1): - Flutter - flutter_local_notifications (0.0.1): @@ -135,6 +137,8 @@ PODS: - Flutter - just_audio (0.0.1): - Flutter + - live_activities (0.0.1): + - Flutter - local_auth_darwin (0.0.1): - Flutter - FlutterMacOS @@ -153,6 +157,8 @@ PODS: - permission_handler_apple (9.3.0): - Flutter - PromisesObjC (2.4.0) + - quick_actions_ios (0.0.1): + - Flutter - RecaptchaInterop (100.0.0) - record_darwin (1.0.0): - Flutter @@ -222,6 +228,7 @@ DEPENDENCIES: - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) + - flutter_app_group_directory (from `.symlinks/plugins/flutter_app_group_directory/ios`) - flutter_contacts (from `.symlinks/plugins/flutter_contacts/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) @@ -232,11 +239,13 @@ DEPENDENCIES: - image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - just_audio (from `.symlinks/plugins/just_audio/ios`) + - live_activities (from `.symlinks/plugins/live_activities/ios`) - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) - location (from `.symlinks/plugins/location/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`) + - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) - record_darwin (from `.symlinks/plugins/record_darwin/ios`) - share (from `.symlinks/plugins/share/ios`) - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`) @@ -294,6 +303,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_messaging/ios" Flutter: :path: Flutter + flutter_app_group_directory: + :path: ".symlinks/plugins/flutter_app_group_directory/ios" flutter_contacts: :path: ".symlinks/plugins/flutter_contacts/ios" flutter_local_notifications: @@ -314,6 +325,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_picker_ios/ios" just_audio: :path: ".symlinks/plugins/just_audio/ios" + live_activities: + :path: ".symlinks/plugins/live_activities/ios" local_auth_darwin: :path: ".symlinks/plugins/local_auth_darwin/darwin" location: @@ -324,6 +337,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider_foundation/darwin" permission_handler_apple: :path: ".symlinks/plugins/permission_handler_apple/ios" + quick_actions_ios: + :path: ".symlinks/plugins/quick_actions_ios/ios" record_darwin: :path: ".symlinks/plugins/record_darwin/ios" share: @@ -364,6 +379,7 @@ SPEC CHECKSUMS: FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 FirebaseMessaging: f8a160d99c2c2e5babbbcc90c4a3e15db036aee2 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_app_group_directory: d2c3337f424828558953172f9378d00df9b7756d flutter_contacts: edb1c5ce76aa433e20e6cb14c615f4c0b66e0983 flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9 flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 @@ -381,6 +397,7 @@ SPEC CHECKSUMS: image_cropper: 37d40f62177c101ff4c164906d259ea2c3aa70cf image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa + live_activities: 5a5ddcfe2bd2cbbe7555a5da9c35b07d1a4ff2e8 local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3 location: d5cf8598915965547c3f36761ae9cc4f4e87d22e nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 @@ -388,6 +405,7 @@ SPEC CHECKSUMS: path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + quick_actions_ios: 56f3cbaa71e94f212838d1f9fe354bd0734779bf RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21 record_darwin: 3b1a8e7d5c0cbf45ad6165b4d83a6ca643d929c3 share: 0b2c3e82132f5888bccca3351c504d0003b3b410 diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 2876750..f5823a8 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -41,11 +41,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 93 + 94 CFBundleSignature ???? CFBundleVersion - 5.0.93 + 5.0.94 NSHumanReadableCopyright FirebaseAppDelegateProxyEnabled diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index 219ae02..7a28030 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -66,6 +66,11 @@ class MyTranslation extends Translations { //firebase above +// + 'Share App': "مشاركة التطبيق", + "Wallet": "المحفظة", + "Profile": "الملف الشخصي", + "Contact Support": "اتصل بالدعم", // "Where to": "على فين؟", "Where are you going?": "رايح فين؟", diff --git a/lib/main.dart b/lib/main.dart index 26e3f53..27da035 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,10 @@ import 'dart:io'; import 'dart:math'; import 'package:Tripz/controller/payment/paymob/paymob_response.dart'; +import 'package:Tripz/views/home/HomePage/contact_us.dart'; +import 'package:Tripz/views/home/HomePage/share_app_page.dart'; +import 'package:Tripz/views/home/my_wallet/passenger_wallet.dart'; +import 'package:Tripz/views/home/profile/passenger_profile_page.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; @@ -10,6 +14,7 @@ import 'package:flutter_stripe/flutter_stripe.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:flutter/services.dart'; +import 'package:quick_actions/quick_actions.dart'; import 'package:wakelock_plus/wakelock_plus.dart'; import 'constant/api_key.dart'; import 'constant/info.dart'; @@ -23,7 +28,6 @@ import 'controller/payment/paymob/paymob_wallet.dart'; import 'firebase_options.dart'; import 'models/db_sql.dart'; import 'splash_screen_page.dart'; -import 'views/home/HomePage/trip_monitor/trip_monitor.dart'; final box = GetStorage(); const storage = FlutterSecureStorage(); @@ -103,6 +107,44 @@ void main() async { ); final AppInitializer initializer = AppInitializer(); await initializer.initializeApp(); + + final QuickActions quickActions = QuickActions(); + + quickActions.initialize((String shortcutType) { + print('Activated shortcut: $shortcutType'); + if (shortcutType == 'share_app') { + Get.toNamed('/shareApp'); + } else if (shortcutType == 'wallet') { + Get.toNamed('/wallet'); + } else if (shortcutType == 'profile') { + Get.toNamed('/profile'); + } else if (shortcutType == 'contact_support') { + Get.toNamed('/contactSupport'); + } + }); + quickActions.setShortcutItems([ + ShortcutItem( + type: 'share_app', + localizedTitle: 'Share App'.tr, + icon: 'icon_main', + ), + ShortcutItem( + type: 'wallet', + localizedTitle: 'Wallet'.tr, + icon: 'icon_wallet', + ), + ShortcutItem( + type: 'profile', + localizedTitle: 'Profile'.tr, + icon: 'icon_user', + ), + ShortcutItem( + type: 'contact_support', + localizedTitle: 'Contact Support'.tr, + icon: 'icon_support', + ), + ]); + runApp(const MyApp()); } @@ -127,7 +169,10 @@ class MyApp extends StatelessWidget { initialRoute: '/', getPages: [ GetPage(name: '/', page: () => SplashScreen()), - GetPage(name: '/tripmonitor', page: () => const TripMonitor()), + GetPage(name: '/shareApp', page: () => ShareAppPage()), + GetPage(name: '/wallet', page: () => PassengerWallet()), + GetPage(name: '/profile', page: () => PassengerProfilePage()), + GetPage(name: '/contactSupport', page: () => ContactUsPage()), ], // home: SplashScreen() ); diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index cef7e86..af92073 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -11,6 +11,7 @@ import file_selector_macos import firebase_auth import firebase_core import firebase_messaging +import flutter_app_group_directory import flutter_local_notifications import flutter_secure_storage_macos import flutter_tts @@ -36,6 +37,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin")) + FlutterAppGroupDirectoryPlugin.register(with: registry.registrar(forPlugin: "FlutterAppGroupDirectoryPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FlutterTtsPlugin.register(with: registry.registrar(forPlugin: "FlutterTtsPlugin")) diff --git a/pubspec.lock b/pubspec.lock index ed88c1a..0db0647 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -499,6 +499,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_app_group_directory: + dependency: transitive + description: + name: flutter_app_group_directory + sha256: "680ef9b2dee84c237cd7bb7fc78bc45867b32556a8a5f0de61278078b9fefd05" + url: "https://pub.dev" + source: hosted + version: "1.1.0" flutter_cache_manager: dependency: transitive description: @@ -1189,6 +1197,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.1.0" + live_activities: + dependency: "direct main" + description: + name: live_activities + sha256: fd5414cca16352add9bae9b949e7b5d84ca219a1eb298772174db1b3a2be4b77 + url: "https://pub.dev" + source: hosted + version: "2.3.0" local_auth: dependency: "direct main" description: @@ -1525,6 +1541,38 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + quick_actions: + dependency: "direct main" + description: + name: quick_actions + sha256: "7e35dd6a21f5bbd21acf6899039eaf85001a5ac26d52cbd6a8a2814505b90798" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + quick_actions_android: + dependency: transitive + description: + name: quick_actions_android + sha256: "926e50d6f879287b34d21934e6c9457f0d851f554179f2a9e8136c4acd1b7062" + url: "https://pub.dev" + source: hosted + version: "1.0.18" + quick_actions_ios: + dependency: transitive + description: + name: quick_actions_ios + sha256: "837b7e6b5973784d3da56b8c959b446b215914f20405d88cd7d22a2fb94e4e4c" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + quick_actions_platform_interface: + dependency: transitive + description: + name: quick_actions_platform_interface + sha256: "1fec7068db5122cd019e9340d3d7be5d36eab099695ef3402c7059ee058329a4" + url: "https://pub.dev" + source: hosted + version: "1.1.0" recase: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 559ef82..821ebf1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -67,6 +67,8 @@ dependencies: mime: ^1.0.6 http_parser: ^4.0.2 encrypt: ^5.0.3 + live_activities: ^2.3.0 + quick_actions: ^1.1.0 dev_dependencies: flutter_test: