From cf8966ea296be8f68e1ac0853f416218d9b73837 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 30 May 2025 16:58:17 +0300 Subject: [PATCH] 25-5-30/1 --- android/app/build.gradle | 4 +- ios/MyWidgetHome/AppIntent.swift | 18 -- .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 35 --- .../Assets.xcassets/Contents.json | 6 - .../WidgetBackground.colorset/Contents.json | 11 - ios/MyWidgetHome/Info.plist | 11 - ios/MyWidgetHome/MyWidgetHome.swift | 88 -------- ios/MyWidgetHome/MyWidgetHomeBundle.swift | 18 -- ios/MyWidgetHome/MyWidgetHomeControl.swift | 77 ------- .../MyWidgetHomeLiveActivity.swift | 80 ------- ios/Podfile.lock | 76 +++---- ios/Runner.xcodeproj/project.pbxproj | 209 +----------------- .../xcschemes/MyWidgetHome1Extension.xcscheme | 129 +++++++++++ .../xcschemes/MyWidgetHomeExtension.xcscheme | 114 ++++++++++ ios/Runner/Info.plist | 4 +- ios/Runner/SecurityChecks.m | 6 +- lib/constant/links.dart | 11 +- lib/controller/auth/google_sign.dart | 8 +- lib/controller/auth/login_controller.dart | 167 +++++++++----- lib/controller/auth/register_controller.dart | 76 +++---- lib/controller/firebase/firbase_messge.dart | 9 +- lib/controller/functions/package_info.dart | 18 +- lib/controller/functions/secure_storage.dart | 15 +- .../home/map_passenger_controller.dart | 77 +++---- .../home/profile/invit_controller.dart | 7 +- lib/controller/home/vip_waitting_page.dart | 6 +- .../payment/payment_controller.dart | 24 +- lib/controller/payment/paymob.dart | 15 +- .../payment/paymob/paymob_response.dart | 15 +- .../payment/paymob/paymob_wallet.dart | 14 +- .../profile/profile_controller.dart | 12 +- lib/views/auth/login_page.dart | 5 +- lib/views/auth/verify_email_page.dart | 2 +- .../map_widget.dart/left_main_menu_icons.dart | 21 +- .../map_widget.dart/main_bottom_Menu_map.dart | 2 +- .../new_main_bottom_sheet.dart | 2 +- .../home/my_wallet/passenger_wallet.dart | 4 +- .../home/profile/passenger_profile_page.dart | 19 +- pubspec.lock | 12 +- pubspec.yaml | 4 +- 41 files changed, 538 insertions(+), 904 deletions(-) delete mode 100644 ios/MyWidgetHome/AppIntent.swift delete mode 100644 ios/MyWidgetHome/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 ios/MyWidgetHome/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 ios/MyWidgetHome/Assets.xcassets/Contents.json delete mode 100644 ios/MyWidgetHome/Assets.xcassets/WidgetBackground.colorset/Contents.json delete mode 100644 ios/MyWidgetHome/Info.plist delete mode 100644 ios/MyWidgetHome/MyWidgetHome.swift delete mode 100644 ios/MyWidgetHome/MyWidgetHomeBundle.swift delete mode 100644 ios/MyWidgetHome/MyWidgetHomeControl.swift delete mode 100644 ios/MyWidgetHome/MyWidgetHomeLiveActivity.swift create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHome1Extension.xcscheme create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHomeExtension.xcscheme diff --git a/android/app/build.gradle b/android/app/build.gradle index 54971a2..8e7d2b8 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -53,8 +53,8 @@ android { applicationId = "com.mobileapp.store.ride" minSdk = 23 targetSdk = flutter.targetSdkVersion // Use flutter.targetSdkVersion - versionCode = 131 - versionName = '2.0.131' + versionCode = 132 + versionName = '2.0.132' multiDexEnabled = true ndk { diff --git a/ios/MyWidgetHome/AppIntent.swift b/ios/MyWidgetHome/AppIntent.swift deleted file mode 100644 index a09b9c5..0000000 --- a/ios/MyWidgetHome/AppIntent.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// AppIntent.swift -// MyWidgetHome -// -// Created by Hamza Aleghwairyeen on 11/05/2025. -// - -import WidgetKit -import AppIntents - -struct ConfigurationAppIntent: WidgetConfigurationIntent { - static var title: LocalizedStringResource { "Configuration" } - static var description: IntentDescription { "This is an example widget." } - - // An example configurable parameter. - @Parameter(title: "Favorite Emoji", default: "😃") - var favoriteEmoji: String -} diff --git a/ios/MyWidgetHome/Assets.xcassets/AccentColor.colorset/Contents.json b/ios/MyWidgetHome/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/ios/MyWidgetHome/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ios/MyWidgetHome/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/MyWidgetHome/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2305880..0000000 --- a/ios/MyWidgetHome/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "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/MyWidgetHome/Assets.xcassets/Contents.json b/ios/MyWidgetHome/Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/ios/MyWidgetHome/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ios/MyWidgetHome/Assets.xcassets/WidgetBackground.colorset/Contents.json b/ios/MyWidgetHome/Assets.xcassets/WidgetBackground.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/ios/MyWidgetHome/Assets.xcassets/WidgetBackground.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ios/MyWidgetHome/Info.plist b/ios/MyWidgetHome/Info.plist deleted file mode 100644 index 0f118fb..0000000 --- a/ios/MyWidgetHome/Info.plist +++ /dev/null @@ -1,11 +0,0 @@ - - - - - NSExtension - - NSExtensionPointIdentifier - com.apple.widgetkit-extension - - - diff --git a/ios/MyWidgetHome/MyWidgetHome.swift b/ios/MyWidgetHome/MyWidgetHome.swift deleted file mode 100644 index 2ec3bd8..0000000 --- a/ios/MyWidgetHome/MyWidgetHome.swift +++ /dev/null @@ -1,88 +0,0 @@ -// -// MyWidgetHome.swift -// MyWidgetHome -// -// Created by Hamza Aleghwairyeen on 11/05/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 MyWidgetHomeEntryView : 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 MyWidgetHome: Widget { - let kind: String = "MyWidgetHome" - - var body: some WidgetConfiguration { - AppIntentConfiguration(kind: kind, intent: ConfigurationAppIntent.self, provider: Provider()) { entry in - MyWidgetHomeEntryView(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) { - MyWidgetHome() -} timeline: { - SimpleEntry(date: .now, configuration: .smiley) - SimpleEntry(date: .now, configuration: .starEyes) -} diff --git a/ios/MyWidgetHome/MyWidgetHomeBundle.swift b/ios/MyWidgetHome/MyWidgetHomeBundle.swift deleted file mode 100644 index 8c5c8f1..0000000 --- a/ios/MyWidgetHome/MyWidgetHomeBundle.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// MyWidgetHomeBundle.swift -// MyWidgetHome -// -// Created by Hamza Aleghwairyeen on 11/05/2025. -// - -import WidgetKit -import SwiftUI - -@main -struct MyWidgetHomeBundle: WidgetBundle { - var body: some Widget { - MyWidgetHome() - MyWidgetHomeControl() - MyWidgetHomeLiveActivity() - } -} diff --git a/ios/MyWidgetHome/MyWidgetHomeControl.swift b/ios/MyWidgetHome/MyWidgetHomeControl.swift deleted file mode 100644 index 53b8c3b..0000000 --- a/ios/MyWidgetHome/MyWidgetHomeControl.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// MyWidgetHomeControl.swift -// MyWidgetHome -// -// Created by Hamza Aleghwairyeen on 11/05/2025. -// - -import AppIntents -import SwiftUI -import WidgetKit - -struct MyWidgetHomeControl: ControlWidget { - static let kind: String = "com.mobileapp.store.ride.MyWidgetHome" - - 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 MyWidgetHomeControl { - struct Value { - var isRunning: Bool - var name: String - } - - struct Provider: AppIntentControlValueProvider { - func previewValue(configuration: TimerConfiguration) -> Value { - MyWidgetHomeControl.Value(isRunning: false, name: configuration.timerName) - } - - func currentValue(configuration: TimerConfiguration) async throws -> Value { - let isRunning = true // Check if the timer is running - return MyWidgetHomeControl.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/MyWidgetHome/MyWidgetHomeLiveActivity.swift b/ios/MyWidgetHome/MyWidgetHomeLiveActivity.swift deleted file mode 100644 index f90467b..0000000 --- a/ios/MyWidgetHome/MyWidgetHomeLiveActivity.swift +++ /dev/null @@ -1,80 +0,0 @@ -// -// MyWidgetHomeLiveActivity.swift -// MyWidgetHome -// -// Created by Hamza Aleghwairyeen on 11/05/2025. -// - -import ActivityKit -import WidgetKit -import SwiftUI - -struct MyWidgetHomeAttributes: 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 -} - -struct MyWidgetHomeLiveActivity: Widget { - var body: some WidgetConfiguration { - ActivityConfiguration(for: MyWidgetHomeAttributes.self) { context in - // Lock screen/banner UI goes here - VStack { - Text("Hello \(context.state.emoji)") - } - .activityBackgroundTint(Color.cyan) - .activitySystemActionForegroundColor(Color.black) - - } dynamicIsland: { context in - DynamicIsland { - // Expanded UI goes here. Compose the expanded UI through - // various regions, like leading/trailing/center/bottom - DynamicIslandExpandedRegion(.leading) { - Text("Leading") - } - DynamicIslandExpandedRegion(.trailing) { - Text("Trailing") - } - DynamicIslandExpandedRegion(.bottom) { - Text("Bottom \(context.state.emoji)") - // more content - } - } compactLeading: { - Text("L") - } compactTrailing: { - Text("T \(context.state.emoji)") - } minimal: { - Text(context.state.emoji) - } - .widgetURL(URL(string: "http://www.apple.com")) - .keylineTint(Color.red) - } - } -} - -extension MyWidgetHomeAttributes { - fileprivate static var preview: MyWidgetHomeAttributes { - MyWidgetHomeAttributes(name: "World") - } -} - -extension MyWidgetHomeAttributes.ContentState { - fileprivate static var smiley: MyWidgetHomeAttributes.ContentState { - MyWidgetHomeAttributes.ContentState(emoji: "😀") - } - - fileprivate static var starEyes: MyWidgetHomeAttributes.ContentState { - MyWidgetHomeAttributes.ContentState(emoji: "🤩") - } -} - -#Preview("Notification", as: .content, using: MyWidgetHomeAttributes.preview) { - MyWidgetHomeLiveActivity() -} contentStates: { - MyWidgetHomeAttributes.ContentState.smiley - MyWidgetHomeAttributes.ContentState.starEyes -} diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2efcae1..7750e73 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -130,8 +130,6 @@ PODS: - GTMSessionFetcher/Core (3.5.0) - GTMSessionFetcher/Full (3.5.0): - GTMSessionFetcher/Core - - home_widget (0.0.1): - - Flutter - image_cropper (0.0.4): - Flutter - TOCropViewController (~> 2.7.4) @@ -242,7 +240,6 @@ DEPENDENCIES: - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) - - home_widget (from `.symlinks/plugins/home_widget/ios`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - jailbreak_root_detection (from `.symlinks/plugins/jailbreak_root_detection/ios`) @@ -328,8 +325,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/google_maps_flutter_ios/ios" google_sign_in_ios: :path: ".symlinks/plugins/google_sign_in_ios/darwin" - home_widget: - :path: ".symlinks/plugins/home_widget/ios" image_cropper: :path: ".symlinks/plugins/image_cropper/ios" image_picker_ios: @@ -377,12 +372,12 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73 - audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 - device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 + audio_session: f08db0697111ac84ba46191b55488c0563bb29c6 + device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 - firebase_auth: c4bdd9d7b338ac004008cb5024a643584e0ec03f - firebase_core: b62a5080210edad3f2934314a8b2c6f5124e8e10 - firebase_messaging: 98619a0572d82cfb3668e78859ba9f1110e268c9 + firebase_auth: dee97e7428ef7c304083839d4e3bc4313c03afd5 + firebase_core: 726c34112998e66d1ddaf4b1bef78ed2dd4b9804 + firebase_messaging: a538130cb2bca3ea0ff0892b8c948bd7d20ecaed FirebaseAppCheckInterop: 347aa09a805219a31249b58fc956888e9fcb314b FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6 FirebaseAuthInterop: a919d415797d23b7bfe195a04f322b86c65020ef @@ -392,43 +387,42 @@ SPEC CHECKSUMS: FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 FirebaseMessaging: f8a160d99c2c2e5babbbcc90c4a3e15db036aee2 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_app_group_directory: d2c3337f424828558953172f9378d00df9b7756d - flutter_contacts: edb1c5ce76aa433e20e6cb14c615f4c0b66e0983 - flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9 - flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 - flutter_tts: 0f492aab6accf87059b72354fcb4ba934304771d - geolocator_apple: 9bcea1918ff7f0062d98345d238ae12718acfbc1 + flutter_app_group_directory: 55b5362007d1c0cb45dc1dd1e94f67d615f45a6b + flutter_contacts: 5383945387e7ca37cf963d4be57c21f2fc15ca9f + flutter_local_notifications: 395056b3175ba4f08480a7c5de30cd36d69827e4 + flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13 + flutter_tts: b88dbc8655d3dc961bc4a796e4e16a4cc1795833 + geolocator_apple: 1560c3c875af2a412242c7a923e15d0d401966ff Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321 - google_maps_flutter_ios: e31555a04d1986ab130f2b9f24b6cdc861acc6d3 - google_sign_in_ios: 07375bfbf2620bc93a602c0e27160d6afc6ead38 + google_maps_flutter_ios: 0291eb2aa252298a769b04d075e4a9d747ff7264 + google_sign_in_ios: 0ab078e60da6dfe23cbc55c83502b52bba1aad63 GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 - home_widget: 0434835a4c9a75704264feff6be17ea40e0f0d57 - image_cropper: 37d40f62177c101ff4c164906d259ea2c3aa70cf - image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 + image_cropper: 5f162dcf988100dc1513f9c6b7eb42cd6fbf9156 + image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a IOSSecuritySuite: b51056d5411aee567153ca86ce7f6edfdc5d2654 - jailbreak_root_detection: b95de80c3e51eec1fc7d0225784d2fc038fa95ed - just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa - live_activities: 5a5ddcfe2bd2cbbe7555a5da9c35b07d1a4ff2e8 - local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3 - location: d5cf8598915965547c3f36761ae9cc4f4e87d22e + jailbreak_root_detection: 9201e1dfd51dc23069cbfb8d4f4a2d18305170bf + just_audio: 6c031bb61297cf218b4462be616638e81c058e97 + live_activities: f2e133059358f99655c8d181d65ff54f024a6e93 + local_auth_darwin: 553ce4f9b16d3fdfeafce9cf042e7c9f77c1c391 + location: 155caecf9da4f280ab5fe4a55f94ceccfab838f8 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 - package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 - path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 - permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 + path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 + permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - quick_actions_ios: 56f3cbaa71e94f212838d1f9fe354bd0734779bf + quick_actions_ios: 4b07fb49d8d8f3518d7565fbb7a91014067a7d82 RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21 - record_darwin: 3b1a8e7d5c0cbf45ad6165b4d83a6ca643d929c3 - share: 0b2c3e82132f5888bccca3351c504d0003b3b410 - sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440 - sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d + record_darwin: fb1f375f1d9603714f55b8708a903bbb91ffdb0a + share: a34936589f3090d59481bcdc5c30cc9dd47c75f6 + sign_in_with_apple: c5dcc141574c8c54d5ac99dd2163c0c72ad22418 + sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 Stripe: 9757efc154de1d9615cbea4836d590bc4034d3a4 - stripe_ios: 4463f81157e91cbbf441e1b3fdf5edce90787491 + stripe_ios: ac48e0488f95ac7ddea9475fd30f3d739e0bae52 StripeApplePay: ca33933601302742623762157d587b79b942d073 StripeCore: 2af250a2366ff2bbf64d4243c5f9bbf2a98b2aaf StripeFinancialConnections: 3ab1ef6182ec44e71c29e9a2100b663f9713ac20 @@ -437,12 +431,12 @@ SPEC CHECKSUMS: StripePaymentsUI: 7d7cffb2ecfc0d6b5ac3a4488c02893a5ff6cc77 StripeUICore: bb102d453b1e1a10a37f810bc0a9aa0675fb17fd TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654 - uni_links: d97da20c7701486ba192624d99bffaaffcfc298a - url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe - vibration: 7d883d141656a1c1a6d8d238616b2042a51a1241 - video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 - wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56 - webview_flutter_wkwebview: 0982481e3d9c78fd5c6f62a002fcd24fc791f1e4 + uni_links: ed8c961e47ed9ce42b6d91e1de8049e38a4b3152 + url_launcher_ios: 694010445543906933d732453a59da0a173ae33d + vibration: 8e2f50fc35bb736f9eecb7dd9f7047fbb6a6e888 + video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b + wakelock_plus: 04623e3f525556020ebd4034310f20fe7fda8b49 + webview_flutter_wkwebview: 44d4dee7d7056d5ad185d25b38404436d56c547c PODFILE CHECKSUM: d9271c147dd54ffd9ca5d77bf00ca21a1c9a5961 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 495915a..cd1d483 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 70; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -29,9 +29,6 @@ C6B15AA12B5FB24600746405 /* order.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15A9F2B5FB24600746405 /* order.wav */; }; C6B15AA22B5FB24600746405 /* tone2.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15AA02B5FB24600746405 /* tone2.wav */; }; C6B450142D67556C001427AA /* Constants1.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6B450132D67556B001427AA /* Constants1.swift */; }; - C6E5BC4D2DCFF5F600471574 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6E5BC4C2DCFF5F600471574 /* WidgetKit.framework */; }; - C6E5BC4F2DCFF5F600471574 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C6E5BC4E2DCFF5F600471574 /* SwiftUI.framework */; }; - C6E5BC602DCFF5F800471574 /* MyWidgetHomeExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = C6E5BC4B2DCFF5F600471574 /* MyWidgetHomeExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; D529E7C8240CCC30BB7358A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ @@ -43,13 +40,6 @@ remoteGlobalIDString = 97C146ED1CF9000F007C117D; remoteInfo = Runner; }; - C6E5BC5E2DCFF5F800471574 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = C6E5BC4A2DCFF5F600471574; - remoteInfo = MyWidgetHomeExtension; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -69,7 +59,6 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - C6E5BC602DCFF5F800471574 /* MyWidgetHomeExtension.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -114,27 +103,12 @@ C6B15A9F2B5FB24600746405 /* order.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = order.wav; sourceTree = ""; }; C6B15AA02B5FB24600746405 /* tone2.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = tone2.wav; sourceTree = ""; }; C6B450132D67556B001427AA /* Constants1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants1.swift; sourceTree = ""; }; - C6E5BC4B2DCFF5F600471574 /* MyWidgetHomeExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = MyWidgetHomeExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; C6E5BC4C2DCFF5F600471574 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; C6E5BC4E2DCFF5F600471574 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; CAF37DC30C17166B851DBC8C /* 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 = ""; }; F231BA28015FE2C634809733 /* 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 = ""; }; /* End PBXFileReference section */ -/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - C6E5BC652DCFF5F800471574 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, - ); - target = C6E5BC4A2DCFF5F600471574 /* MyWidgetHomeExtension */; - }; -/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ - -/* Begin PBXFileSystemSynchronizedRootGroup section */ - C6E5BC502DCFF5F600471574 /* MyWidgetHome */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (C6E5BC652DCFF5F800471574 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = MyWidgetHome; sourceTree = ""; }; -/* End PBXFileSystemSynchronizedRootGroup section */ - /* Begin PBXFrameworksBuildPhase section */ 7AD318F74F39A70FCC91E66D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -152,15 +126,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C6E5BC482DCFF5F600471574 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C6E5BC4F2DCFF5F600471574 /* SwiftUI.framework in Frameworks */, - C6E5BC4D2DCFF5F600471574 /* WidgetKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -201,7 +166,6 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, - C6E5BC502DCFF5F600471574 /* MyWidgetHome */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, 5684D45491D29A320AB8001A /* Pods */, @@ -214,7 +178,6 @@ children = ( 97C146EE1CF9000F007C117D /* Runner.app */, 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - C6E5BC4B2DCFF5F600471574 /* MyWidgetHomeExtension.appex */, ); name = Products; sourceTree = ""; @@ -301,35 +264,12 @@ buildRules = ( ); dependencies = ( - C6E5BC5F2DCFF5F800471574 /* PBXTargetDependency */, ); name = Runner; productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; }; - C6E5BC4A2DCFF5F600471574 /* MyWidgetHomeExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = C6E5BC662DCFF5F800471574 /* Build configuration list for PBXNativeTarget "MyWidgetHomeExtension" */; - buildPhases = ( - C6E5BC472DCFF5F600471574 /* Sources */, - C6E5BC482DCFF5F600471574 /* Frameworks */, - C6E5BC492DCFF5F600471574 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - fileSystemSynchronizedGroups = ( - C6E5BC502DCFF5F600471574 /* MyWidgetHome */, - ); - name = MyWidgetHomeExtension; - packageProductDependencies = ( - ); - productName = MyWidgetHomeExtension; - productReference = C6E5BC4B2DCFF5F600471574 /* MyWidgetHomeExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -349,9 +289,6 @@ CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 1100; }; - C6E5BC4A2DCFF5F600471574 = { - CreatedOnToolsVersion = 16.2; - }; }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; @@ -369,7 +306,6 @@ targets = ( 97C146ED1CF9000F007C117D /* Runner */, 331C8080294A63A400263BE5 /* RunnerTests */, - C6E5BC4A2DCFF5F600471574 /* MyWidgetHomeExtension */, ); }; /* End PBXProject section */ @@ -403,13 +339,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C6E5BC492DCFF5F600471574 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -546,13 +475,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C6E5BC472DCFF5F600471574 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -561,11 +483,6 @@ target = 97C146ED1CF9000F007C117D /* Runner */; targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; }; - C6E5BC5F2DCFF5F800471574 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = C6E5BC4A2DCFF5F600471574 /* MyWidgetHomeExtension */; - targetProxy = C6E5BC5E2DCFF5F800471574 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -886,120 +803,6 @@ }; name = Release; }; - C6E5BC622DCFF5F800471574 /* 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = MyWidgetHome/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = MyWidgetHome; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 18.2; - 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.mobileapp.store.ride.MyWidgetHome; - 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; - }; - C6E5BC632DCFF5F800471574 /* 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = MyWidgetHome/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = MyWidgetHome; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 18.2; - 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.mobileapp.store.ride.MyWidgetHome; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - C6E5BC642DCFF5F800471574 /* 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_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_FILE = MyWidgetHome/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = MyWidgetHome; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - IPHONEOS_DEPLOYMENT_TARGET = 18.2; - 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.mobileapp.store.ride.MyWidgetHome; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Profile; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1033,16 +836,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C6E5BC662DCFF5F800471574 /* Build configuration list for PBXNativeTarget "MyWidgetHomeExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C6E5BC622DCFF5F800471574 /* Debug */, - C6E5BC632DCFF5F800471574 /* Release */, - C6E5BC642DCFF5F800471574 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHome1Extension.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHome1Extension.xcscheme new file mode 100644 index 0000000..56fcbd2 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHome1Extension.xcscheme @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHomeExtension.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHomeExtension.xcscheme new file mode 100644 index 0000000..2c79358 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/MyWidgetHomeExtension.xcscheme @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 85ec87e..f353f3b 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -41,11 +41,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 104 + 105 CFBundleSignature ???? CFBundleVersion - 5.0.994 + 5.0.995 NSHumanReadableCopyright FirebaseAppDelegateProxyEnabled diff --git a/ios/Runner/SecurityChecks.m b/ios/Runner/SecurityChecks.m index 752d891..561d88d 100644 --- a/ios/Runner/SecurityChecks.m +++ b/ios/Runner/SecurityChecks.m @@ -184,9 +184,9 @@ if([SecurityChecks checkProcessName]){ return YES; } -// if ([SecurityChecks isDebuggerAttached]) { -// return YES; -// } + if ([SecurityChecks isDebuggerAttached]) { + return YES; + } // if ([SecurityChecks isFridaDetected]) { // return YES; // } diff --git a/lib/constant/links.dart b/lib/constant/links.dart index 0861c0a..bd2e9a2 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -23,8 +23,8 @@ class AppLink { // static final String server = endPoint; // static final String server = Env.serverPHP; - static final String endPoint = - box.read(BoxName.serverChosen) ?? box.read(BoxName.basicLink); + static final String endPoint = 'https://api.tripz-egypt.com/tripz'; + // box.read(BoxName.serverChosen) ?? box.read(BoxName.basicLink); // 'https://server.sefer.click/sefer.click/sefer'; static final String server = endPoint; static String tripzCairoServer = endPoint; @@ -220,7 +220,7 @@ class AppLink { static String addRateToPassenger = "$ride/rate/add.php"; static String savePlacesServer = "$ride/places/add.php"; static String getapiKey = - "https://server.sefer.click/sefer.click/sefer/ride/apiKey/get.php"; + "https://api.tripz-egypt.com/tripz/ride/apiKey/get.php"; static String addRateToDriver = "$ride/rate/addRateToDriver.php"; static String getDriverRate = "$ride/rate/getDriverRate.php"; static String getPassengerRate = "$ride/rate/getPassengerRate.php"; @@ -244,7 +244,8 @@ class AppLink { static String location = '${box.read(BoxName.serverChosen)}/ride/location'; static String getCarsLocationByPassenger = "$location/get.php"; - static String getLocationAreaLinks = Env.getLocationAreaLinks; + static String getLocationAreaLinks = + '$ride/location/get_location_area_links.php'; static String addpassengerLocation = "$location/addpassengerLocation.php"; static String getCarsLocationByPassengerSpeed = "$location/getSpeed.php"; static String getCarsLocationByPassengerComfort = "$location/getComfort.php"; @@ -280,7 +281,7 @@ class AppLink { static String loginJwtRider = "$server/login.php"; static String loginJwtWalletRider = "$seferPaymentServer/loginWallet.php"; static String loginFirstTime = - "https://server.sefer.click/sefer.click/sefer/loginFirstTime.php"; + "https://api.tripz-egypt.com/tripz/loginFirstTime.php"; static String getTesterApp = "$auth/Tester/getTesterApp.php"; static String updateTesterApp = "$auth/Tester/updateTesterApp.php"; static String signUp = "$auth/signup.php"; diff --git a/lib/controller/auth/google_sign.dart b/lib/controller/auth/google_sign.dart index bb9ae4a..032bc99 100644 --- a/lib/controller/auth/google_sign.dart +++ b/lib/controller/auth/google_sign.dart @@ -167,11 +167,9 @@ class GoogleSignInHelper { // Store driver information box.write(BoxName.passengerID, user.id); - box.write(BoxName.email, EncryptionHelper.instance.encryptData(user.email)); - box.write(BoxName.name, - EncryptionHelper.instance.encryptData(user.displayName.toString())); - box.write(BoxName.passengerPhotoUrl, - EncryptionHelper.instance.encryptData(user.photoUrl.toString())); + box.write(BoxName.email, (user.email)); + box.write(BoxName.name, (user.displayName.toString())); + box.write(BoxName.passengerPhotoUrl, (user.photoUrl.toString())); // Perform any additional sign-up tasks or API calls here // For example, you can send the user data to your server for registration diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index cacc9ca..54b9869 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -196,10 +196,8 @@ class LoginController extends GetxController { var res = await CRUD().get(link: AppLink.loginFromGooglePassenger, payload: { - 'email': email.toString().contains('@') - ? EncryptionHelper.instance.encryptData(email) - : email, - 'id': passengerID, + 'email': email.toString(), + 'id': passengerID.toString(), "platform": Platform.isAndroid ? 'android' : 'ios', "appName": AppInformation.appName, }); @@ -229,59 +227,112 @@ class LoginController extends GetxController { box.write(BoxName.firstTimeLoadKey, 'false'); d['inviteCode'] != null ? box.write( - BoxName.inviteCode, - EncryptionHelper.instance - .decryptData(d['inviteCode'].toString()) ?? - 'none') + BoxName.inviteCode, (d['inviteCode'].toString()) ?? 'none') : null; var token = await CRUD().get(link: AppLink.getTokens, payload: { 'passengerID': box.read(BoxName.passengerID).toString() }); - var fingerPrint = DeviceHelper.getDeviceFingerprint().toString(); + var fingerPrint = await DeviceHelper.getDeviceFingerprint(); + Log.print('fingerPrint 0: ${fingerPrint}'); await storage.write(key: BoxName.fingerPrint, value: fingerPrint); - if (token != 'failure') { - if ((jsonDecode(token)['data'][0]['token'].toString()) != - box.read(BoxName.tokenFCM)) { - MyDialog().getDialog('change device'.tr, 'token change'.tr, - () async { - List updatetoken = [ - CRUD().post( - link: "${AppLink.server}/ride/firebase/add.php", - payload: { - 'token': box.read(BoxName.tokenFCM), - 'passengerID': box.read(BoxName.passengerID).toString(), - 'fingerPrint': (fingerPrint).toString() - }), - CRUD().post( - link: - "${AppLink.tripzAlexandriaServer}/ride/firebase/add.php", - payload: { - 'token': box.read(BoxName.tokenFCM), - 'passengerID': box.read(BoxName.passengerID).toString(), - 'fingerPrint': (fingerPrint).toString() - }), - CRUD().post( - link: "${AppLink.tripzGizaServer}/ride/firebase/add.php", - payload: { - 'token': box.read(BoxName.tokenFCM), - 'passengerID': box.read(BoxName.passengerID).toString(), - 'fingerPrint': (fingerPrint).toString() - }), - ]; - // cameras = await availableCameras(); - await Future.wait(updatetoken); - Get.put(FirebaseMessagesController()) - .sendNotificationToDriverMAP( - 'token change'.tr, - 'change device'.tr, - EncryptionHelper.instance.decryptData( - jsonDecode(token)['data'][0]['token'].toString()), - [], - 'cancel.wav', - ); - }); + if (token != 'failure') { + if ((jsonDecode(token)['message']['token'].toString()) != + box.read(BoxName.tokenFCM)) { + // MyDialog().getDialog('change device'.tr, 'token change'.tr, + // () async { + // List updatetoken = [ + // CRUD().post( + // link: "${AppLink.server}/ride/firebase/add.php", + // payload: { + // 'token': box.read(BoxName.tokenFCM), + // 'passengerID': box.read(BoxName.passengerID).toString(), + // 'fingerPrint': (fingerPrint).toString() + // }), + // CRUD().post( + // link: + // "${AppLink.tripzAlexandriaServer}/ride/firebase/add.php", + // payload: { + // 'token': box.read(BoxName.tokenFCM), + // 'passengerID': box.read(BoxName.passengerID).toString(), + // 'fingerPrint': (fingerPrint).toString() + // }), + // CRUD().post( + // link: "${AppLink.tripzGizaServer}/ride/firebase/add.php", + // payload: { + // 'token': box.read(BoxName.tokenFCM), + // 'passengerID': box.read(BoxName.passengerID).toString(), + // 'fingerPrint': (fingerPrint).toString() + // }), + // ]; + // // cameras = await availableCameras(); + // await Future.wait(updatetoken); + // Get.put(FirebaseMessagesController()) + // .sendNotificationToDriverMAP( + // 'token change'.tr, + // 'change device'.tr, + // (jsonDecode(token)['data'][0]['token'].toString()), + // [], + // 'cancel.wav', + // ); + // }); + await Get.defaultDialog( + title: 'Device Change Detected'.tr, + middleText: + 'You can only use one device at a time. This device will now be set as your active device.' + .tr, + textConfirm: 'OK'.tr, + confirmTextColor: Colors.white, + onConfirm: () async { + Get.back(); // Close dialog + + /// تحديث التوكين في السيرفرات + List updatetoken = [ + CRUD().post( + link: "${AppLink.server}/ride/firebase/add.php", + payload: { + 'token': box.read(BoxName.tokenFCM), + 'passengerID': + box.read(BoxName.passengerID).toString(), + 'fingerPrint': fingerPrint + }), + CRUD().post( + link: + "${AppLink.tripzAlexandriaServer}/ride/firebase/add.php", + payload: { + 'token': box.read(BoxName.tokenFCM), + 'passengerID': + box.read(BoxName.passengerID).toString(), + 'fingerPrint': fingerPrint + }), + CRUD().post( + link: + "${AppLink.tripzGizaServer}/ride/firebase/add.php", + payload: { + 'token': box.read(BoxName.tokenFCM), + 'passengerID': + box.read(BoxName.passengerID).toString(), + 'fingerPrint': fingerPrint + }), + ]; + + await Future.wait(updatetoken); + + /// إشعار للسائق بأنه تم تغيير الجهاز + await Get.put(FirebaseMessagesController()) + .sendNotificationToDriverMAP( + 'token change'.tr, + 'change device'.tr, + jsonDecode(token)['message']['token'].toString(), + [], + 'cancel.wav', + ); + + /// التوجه للصفحة الرئيسية + Get.offAll(() => const MapPagePassenger()); + }, + ); Future.delayed(const Duration(seconds: 1)); Get.defaultDialog( @@ -305,8 +356,7 @@ class LoginController extends GetxController { box.read(BoxName.isInstall).toString() != '1') { await CRUD() .post(link: AppLink.updatePassengersInvitation, payload: { - "inviteCode": EncryptionHelper.instance - .encryptData(box.read(BoxName.inviteCode).toString()), + "inviteCode": (box.read(BoxName.inviteCode).toString()), "passengerID": box.read(BoxName.passengerID).toString(), }); Get.defaultDialog( @@ -318,7 +368,7 @@ class LoginController extends GetxController { try { CRUD().post(link: AppLink.addPassengersPromo, payload: { "promoCode": - 'S-${EncryptionHelper.instance.decryptData(box.read(BoxName.name)).toString().split(' ')[0]}', + 'S-${(box.read(BoxName.name)).toString().split(' ')[0]}', "amount": '25', "passengerID": box.read(BoxName.passengerID).toString(), "description": 'promo first' @@ -354,11 +404,12 @@ class LoginController extends GetxController { void login() async { isloading = true; update(); - var res = - await CRUD().get(link: AppLink.loginFromGooglePassenger, payload: { - 'email': EncryptionHelper.instance.encryptData(emailController.text), - 'id': passwordController.text - }); + var res = await CRUD().get( + link: AppLink.loginFromGooglePassenger, + payload: { + 'email': (emailController.text), + 'id': passwordController.text + }); isloading = false; update(); diff --git a/lib/controller/auth/register_controller.dart b/lib/controller/auth/register_controller.dart index f164bf1..d19687b 100644 --- a/lib/controller/auth/register_controller.dart +++ b/lib/controller/auth/register_controller.dart @@ -32,7 +32,7 @@ class RegisterController extends GetxController { TextEditingController phoneController = TextEditingController(); TextEditingController passwordController = TextEditingController(); TextEditingController siteController = TextEditingController(); - TextEditingController verfyCode = TextEditingController(); + // TextEditingController verfyCode = TextEditingController(); TextEditingController verifyCode = TextEditingController(); int remainingTime = 300; // 5 minutes in seconds bool isSent = false; @@ -125,9 +125,6 @@ class RegisterController extends GetxController { // Initialize SmsEgyptController smsEgyptController = Get.put(SmsEgyptController()); - // Generate a random OTP - int randomNumber = Random().nextInt(100000) + 1; - isLoading = true; update(); @@ -143,8 +140,7 @@ class RegisterController extends GetxController { var responseChecker = await CRUD().post( link: AppLink.checkPhoneNumberISVerfiedPassenger, payload: { - 'phone_number': - EncryptionHelper.instance.encryptData(phoneNumber), + 'phone_number': (phoneNumber), 'email': box.read(BoxName.email), }, ); @@ -157,20 +153,16 @@ class RegisterController extends GetxController { Get.snackbar('Phone number is verified before'.tr, '', backgroundColor: AppColor.greenColor); box.write(BoxName.isVerified, '1'); - box.write(BoxName.phone, - EncryptionHelper.instance.encryptData(phoneNumber)); + box.write(BoxName.phone, (phoneNumber)); Get.offAll(const MapPagePassenger()); } else { - await sendOtp(phoneNumber, randomNumber, isEgyptianNumber, - smsEgyptController); + await sendOtp(phoneNumber, isEgyptianNumber, smsEgyptController); } } else { - await sendOtp(phoneNumber, randomNumber, isEgyptianNumber, - smsEgyptController); + await sendOtp(phoneNumber, isEgyptianNumber, smsEgyptController); } } else if (phoneNumber.length > 9) { - sendOtp( - phoneNumber, randomNumber, isEgyptianNumber, smsEgyptController); + sendOtp(phoneNumber, isEgyptianNumber, smsEgyptController); } } else { MyDialog().getDialog( @@ -189,44 +181,38 @@ class RegisterController extends GetxController { } // Helper function to send OTP or WhatsApp message based on phone number location - Future sendOtp(String phoneNumber, int otp, bool isEgyptian, + Future sendOtp(String phoneNumber, bool isEgyptian, SmsEgyptController controller) async { // Trim any leading or trailing whitespace from the phone number phoneNumber = phoneNumber.trim(); var dd = await CRUD().post(link: AppLink.sendVerifyOtpMessage, payload: { - 'phone_number': EncryptionHelper.instance.encryptData(phoneNumber), - 'token': EncryptionHelper.instance.encryptData(otp.toString()), + 'phone_number': (phoneNumber), }); Log.print('dd: ${dd}'); // Common Registration Logic (extracted for reuse) Future registerUser() async { await CRUD().post(link: AppLink.updatePhoneInvalidSMSPassenger, payload: { - "phone_number": EncryptionHelper.instance - .encryptData(Get.find().phoneController.text) + "phone_number": (Get.find().phoneController.text) }); - box.write(BoxName.phone, - EncryptionHelper.instance.encryptData(phoneController.text)); + box.write(BoxName.phone, (phoneController.text)); - var nameParts = EncryptionHelper.instance - .decryptData(box.read(BoxName.name)) - .toString() - .split(' '); + var nameParts = (box.read(BoxName.name)).toString().split(' '); var firstName = nameParts.isNotEmpty ? nameParts[0] : 'unknown'; var lastName = nameParts.length > 1 ? nameParts[1] : 'unknown'; var payload = { 'id': box.read(BoxName.passengerID), - 'phone': EncryptionHelper.instance.encryptData(phoneController.text), + 'phone': (phoneController.text), 'email': box.read(BoxName.email), - 'password': EncryptionHelper.instance.encryptData( - 'unknown'), //Consider if you *really* want to store 'unknown' passwords - 'gender': EncryptionHelper.instance.encryptData('unknown'), - 'birthdate': EncryptionHelper.instance.encryptData('2002-01-01'), + 'password': + ('unknown'), //Consider if you *really* want to store 'unknown' passwords + 'gender': ('unknown'), + 'birthdate': ('2002-01-01'), 'site': box.read(BoxName.passengerPhotoUrl) ?? 'unknown', - 'first_name': EncryptionHelper.instance.encryptData(firstName), - 'last_name': EncryptionHelper.instance.encryptData(lastName), + 'first_name': (firstName), + 'last_name': (lastName), }; var res1 = await CRUD().post( @@ -253,8 +239,7 @@ class RegisterController extends GetxController { box.write(BoxName.isVerified, '1'); box.write( BoxName.isFirstTime, '0'); //Double-check the logic for isFirstTime - box.write(BoxName.phone, - EncryptionHelper.instance.encryptData(phoneController.text)); + box.write(BoxName.phone, (phoneController.text)); Get.put(LoginController()).loginUsingCredentials( box.read(BoxName.passengerID).toString(), @@ -264,7 +249,8 @@ class RegisterController extends GetxController { } if (isEgyptian) { - await registerUser(); // Use the common registration logic + // verifySMSCode(); + // await registerUser(); // Use the common registration logic // await controller.sendSmsEgypt(phoneNumber, otp.toString()); // Optional: Send SMS if Egyptian } else if (phoneController.text.toString().length >= 10) { await registerUser(); // Use the common registration logic for non-Egyptian users as well. @@ -283,24 +269,19 @@ class RegisterController extends GetxController { try { if (formKey3.currentState!.validate()) { var res = await CRUD().post(link: AppLink.verifyOtpPassenger, payload: { - 'phone_number': "201023248456", - 'token': ("74787"), + 'phone_number': phoneController.text, + 'token': verifyCode.text, }); if (res != 'failure') { - box.write(BoxName.phone, - EncryptionHelper.instance.encryptData(phoneController.text)); - var nameParts = EncryptionHelper.instance - .decryptData(box.read(BoxName.name)) - .toString() - .split(' '); + box.write(BoxName.phone, (phoneController.text)); + var nameParts = (box.read(BoxName.name)).toString().split(' '); var firstName = nameParts.isNotEmpty ? nameParts[0] : 'unknown'; var lastName = nameParts.length > 1 ? nameParts[1] : 'unknown'; var payload = { 'id': box.read(BoxName.passengerID), - 'phone': - EncryptionHelper.instance.decryptData(phoneController.text), + 'phone': (phoneController.text), 'email': box.read(BoxName.email), 'password': 'unknown', 'gender': 'unknown', @@ -332,8 +313,7 @@ class RegisterController extends GetxController { box.write(BoxName.isVerified, '1'); box.write(BoxName.isFirstTime, '0'); - box.write(BoxName.phone, - EncryptionHelper.instance.decryptData(phoneController.text)); + box.write(BoxName.phone, (phoneController.text)); Get.put(LoginController()).loginUsingCredentials( box.read(BoxName.passengerID).toString(), @@ -362,7 +342,7 @@ class RegisterController extends GetxController { sendVerifications() async { var res = await CRUD().post(link: AppLink.verifyEmail, payload: { 'email': emailController.text, - 'token': verfyCode.text, + 'token': verifyCode.text, }); var dec = jsonDecode(res); if (dec['status'] == 'success') { diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index 9555a68..ddd9810 100644 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -94,8 +94,8 @@ class FirebaseMessagesController extends GetxController { Future getToken() async { fcmToken.getToken().then((token) { - box.write(BoxName.tokenFCM, - EncryptionHelper.instance.encryptData(token.toString())); + Log.print('fcmToken: ${token}'); + box.write(BoxName.tokenFCM, (token.toString())); }); FirebaseMessaging.onMessage.listen((RemoteMessage message) { @@ -565,8 +565,7 @@ class FirebaseMessagesController extends GetxController { var encryptedKey = await storage.read(key: 'FCM_PRIVATE_KEY'); // Log.print('encryptedKey: ${encryptedKey}'); if (encryptedKey != null) { - serviceAccountKeyJson = - EncryptionHelper.instance.decryptData(encryptedKey); + serviceAccountKeyJson = (encryptedKey); // Log.print('serviceAccountKeyJson: ${serviceAccountKeyJson}'); } else { print('🔴 Error: FCM_PRIVATE_KEY not found in Secure Storage'); @@ -652,7 +651,7 @@ class FirebaseMessagesController extends GetxController { // Obtain an OAuth 2.0 access token final accessToken = await accessTokenManager.getAccessToken(); - // Log.print('accessToken: ${accessToken}'); + Log.print('accessToken: ${accessToken}'); // Send the notification final response = await http.post( diff --git a/lib/controller/functions/package_info.dart b/lib/controller/functions/package_info.dart index 22d172f..cfa8152 100644 --- a/lib/controller/functions/package_info.dart +++ b/lib/controller/functions/package_info.dart @@ -229,15 +229,15 @@ class SecurityHelper { await box.write('isTampered', isTampered); // Use await await box.write('isJailBroken', isJailBroken); // Use await - // debugPrint("Security Check Results:"); - // debugPrint("isNotTrust: $isNotTrust"); - // debugPrint("isJailBroken: $isJailBroken"); - // debugPrint("isRealDevice: $isRealDevice"); - // debugPrint("isOnExternalStorage: $isOnExternalStorage"); - // debugPrint("checkForIssues: $checkForIssues"); - // debugPrint("isDevMode: $isDevMode"); - // debugPrint("isTampered: $isTampered"); - // debugPrint("Bundle ID: $bundleId"); // Print the bundle ID + debugPrint("Security Check Results:"); + debugPrint("isNotTrust: $isNotTrust"); + debugPrint("isJailBroken: $isJailBroken"); + debugPrint("isRealDevice: $isRealDevice"); + debugPrint("isOnExternalStorage: $isOnExternalStorage"); + debugPrint("checkForIssues: $checkForIssues"); + debugPrint("isDevMode: $isDevMode"); + debugPrint("isTampered: $isTampered"); + debugPrint("Bundle ID: $bundleId"); // Print the bundle ID // Check for security risks and potentially show a warning if (isJailBroken || isRealDevice == false || isTampered) { diff --git a/lib/controller/functions/secure_storage.dart b/lib/controller/functions/secure_storage.dart index deaafa2..0646179 100644 --- a/lib/controller/functions/secure_storage.dart +++ b/lib/controller/functions/secure_storage.dart @@ -74,16 +74,11 @@ class AppInitializer { await box.remove(links[1]['name']); await box.remove(links[2]['name']); await box.write(BoxName.locationName, links); - await box.write(BoxName.basicLink, - EncryptionHelper.instance.decryptData(links[0]['server_link'])); - await box.write(links[2]['name'], - EncryptionHelper.instance.decryptData(links[2]['server_link'])); - await box.write(links[1]['name'], - EncryptionHelper.instance.decryptData(links[3]['server_link'])); - await box.write(links[3]['name'], - EncryptionHelper.instance.decryptData(links[1]['server_link'])); - await box.write(BoxName.paymentLink, - EncryptionHelper.instance.decryptData(links[4]['server_link'])); + await box.write(BoxName.basicLink, (links[0]['server_link'])); + await box.write(links[2]['name'], (links[2]['server_link'])); + await box.write(links[1]['name'], (links[3]['server_link'])); + await box.write(links[3]['name'], (links[1]['server_link'])); + await box.write(BoxName.paymentLink, (links[4]['server_link'])); } } catch (e) {} } diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 74418d8..f781055 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -544,12 +544,12 @@ class MapPassengerController extends GetxController { void sendSMS(String to) async { // Get the driver's phone number. - String driverPhone = EncryptionHelper.instance.decryptData( - dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString()); + String driverPhone = + (dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString()); // Format the message. String message = - 'Hi! This is ${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n I am using ${box.read(AppInformation.appName)} to ride with $passengerName as the driver. $passengerName \nis driving a $model\n with license plate $licensePlate.\n I am currently located at $passengerLocation.\n If you need to reach me, please contact the driver directly at\n\n $driverPhone.'; + 'Hi! This is ${(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n I am using ${box.read(AppInformation.appName)} to ride with $passengerName as the driver. $passengerName \nis driving a $model\n with license plate $licensePlate.\n I am currently located at $passengerLocation.\n If you need to reach me, please contact the driver directly at\n\n $driverPhone.'; // Launch the URL to send the SMS. launchCommunication('sms', to, message); @@ -561,7 +561,7 @@ class MapPassengerController extends GetxController { // Format the message. String message = - '${'${'Hi! This is'.tr} ${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n${' I am using'.tr}'} ${AppInformation.appName}${' to ride with'.tr} $passengerName${' as the driver.'.tr} $passengerName \n${'is driving a '.tr}$model\n${' with license plate '.tr}$licensePlate.\n${' I am currently located at '.tr} https://www.google.com/maps/place/${passengerLocation.latitude},${passengerLocation.longitude}.\n${' If you need to reach me, please contact the driver directly at'.tr}\n\n $driverPhone.'; + '${'${'Hi! This is'.tr} ${(box.read(BoxName.name).toString().split(' ')[0]).toString()}.\n${' I am using'.tr}'} ${AppInformation.appName}${' to ride with'.tr} $passengerName${' as the driver.'.tr} $passengerName \n${'is driving a '.tr}$model\n${' with license plate '.tr}$licensePlate.\n${' I am currently located at '.tr} https://www.google.com/maps/place/${passengerLocation.latitude},${passengerLocation.longitude}.\n${' If you need to reach me, please contact the driver directly at'.tr}\n\n $driverPhone.'; // Launch the URL to send the WhatsApp message. launchCommunication('whatsapp', to, message); @@ -1956,12 +1956,11 @@ class MapPassengerController extends GetxController { (distanceToDriverInMeters * 1.25).toStringAsFixed(0); Future.delayed(const Duration(microseconds: 10)); final body = constructNotificationBody(driverData); - // Log.print('body:ww ${body}'); + Log.print('body:ww ${body}'); Get.find().sendNotificationToDriverMAP( 'Order'.tr, endNameAddress, - EncryptionHelper.instance - .decryptData(driverData['token'].toString()), + (driverData['token'].toString()), body, 'order.wav'); } @@ -1982,16 +1981,13 @@ class MapPassengerController extends GetxController { distance.toStringAsFixed(2), driverData['driver_id'].toString(), box.read(BoxName.passengerID).toString(), - EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[0]) - .toString(), - EncryptionHelper.instance - .decryptData(box.read(BoxName.tokenFCM).toString()), - EncryptionHelper.instance.decryptData(box.read(BoxName.phone).toString()), + (box.read(BoxName.name).toString().split(' ')[0]).toString(), + (box.read(BoxName.tokenFCM).toString()), + (box.read(BoxName.phone).toString()), durationToPassenger.toStringAsFixed(0) ?? '120', distanceByPassenger.toString() ?? '2000', paymentController.isWalletChecked.toString(), - EncryptionHelper.instance.decryptData(driverData['token'].toString()), + (driverData['token'].toString()), durationToPassenger.toString(), rideId.toString(), rideTimerBegin.toString(), @@ -2023,9 +2019,10 @@ class MapPassengerController extends GetxController { StreamController.broadcast(); Stream get rideStatusStream => _rideStatusStreamController.stream; + int maxAttempts = 15; + Future delayAndFetchRideStatusForAllDriverAvailable( String rideId) async { - const int maxAttempts = 15; int attemptCounter = 0; bool isApplied = false; tick = 0; @@ -2042,7 +2039,7 @@ class MapPassengerController extends GetxController { try { var res = await getRideStatus(rideId); - Log.print('res:2022 $res'); + Log.print('res:2047 $res'); String rideStatusDelayed = res.toString(); Log.print('rideStatusDelayed: $rideStatusDelayed'); @@ -2068,11 +2065,11 @@ class MapPassengerController extends GetxController { timer.cancel(); //todo // addRideToNotificationDriverString(); // Show dialog to increase fee... - // MyDialog().getDialog( - // 'Are you want to wait drivers to accept your order'.tr, '', () { - // Get.back(); - // addRideToNotificationDriverAvailable(); - // }); + MyDialog().getDialog( + 'Are you want to wait drivers to accept your order'.tr, '', () { + Get.back(); + addRideToNotificationDriverAvailable(); + }); update(); _rideStatusStreamController .close(); // Close stream after max attempts @@ -2172,7 +2169,7 @@ class MapPassengerController extends GetxController { link: "${AppLink.endPoint}/ride/rides/getRideStatus.php", payload: {'id': rideId}); print(response); - print('2140'); + print('2176'); return jsonDecode(response)['data']; } @@ -2189,21 +2186,16 @@ class MapPassengerController extends GetxController { var response = jsonDecode(res); Log.print('getUpdatedRideForDriverApply: $response'); driverId = response['data']['driver_id']; - driverPhone = - EncryptionHelper.instance.decryptData(response['data']['phone']); + driverPhone = (response['data']['phone']); driverCarMake = response['data']['make']; model = response['data']['model']; colorHex = response['data']['color_hex']; carColor = response['data']['color']; make = response['data']['make']; - licensePlate = - EncryptionHelper.instance.decryptData(response['data']['car_plate']); - passengerName = EncryptionHelper.instance - .decryptData(response['data']['passengerName']); - driverName = EncryptionHelper.instance - .decryptData(response['data']['driverName'].toString()); - driverToken = - EncryptionHelper.instance.decryptData(response['data']['token']); + licensePlate = (response['data']['car_plate']); + passengerName = (response['data']['passengerName']); + driverName = (response['data']['driverName'].toString()); + driverToken = (response['data']['token']); // Log.print('driverToken updated: $driverToken'); carYear = response['data']['year']; driverRate = response['data']['ratingDriver'].toString(); @@ -2456,10 +2448,9 @@ class MapPassengerController extends GetxController { latitude <= maxLatitude && longitude >= minLongitude && longitude <= maxLongitude) { - box.write(BoxName.serverChosen, - EncryptionHelper.instance.decryptData(locationData['server_link'])); + box.write(BoxName.serverChosen, (locationData['server_link'])); // Log.print( - // 'locationData----server_link: ${EncryptionHelper.instance.decryptData(locationData['server_link'])}'); + // 'locationData----server_link: ${(locationData['server_link'])}'); return locationData['name']; } } @@ -2614,7 +2605,7 @@ class MapPassengerController extends GetxController { _getIconForCar(json), ); - driversToken.add(EncryptionHelper.instance.decryptData(json['token'])); + driversToken.add((json['token'])); } // Add fake car markers @@ -2926,8 +2917,7 @@ class MapPassengerController extends GetxController { Get.back(); })); } else if (res1['status'] == 'success') { - var tokenParent = - EncryptionHelper.instance.decryptData(res1['data'][0]['token']); + var tokenParent = (res1['data'][0]['token']); Get.snackbar("The invitation was sent successfully".tr, '', backgroundColor: AppColor.greenColor); Get.find().sendNotificationToPassengerToken( @@ -5178,8 +5168,7 @@ class MapPassengerController extends GetxController { .sendNotificationToDriverMAP( 'OrderVIP', rideId.toString(), - EncryptionHelper.instance - .decryptData(driver['token'].toString()), + (driver['token'].toString()), [ id, rideId, @@ -5187,17 +5176,13 @@ class MapPassengerController extends GetxController { passengerLocation.latitude.toString(), startNameAddress.toString(), passengerLocation.longitude.toString(), - EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[0]) - .toString(), + (box.read(BoxName.name).toString().split(' ')[0]).toString(), box.read(BoxName.passengerID).toString(), box.read(BoxName.phone).toString(), box.read(BoxName.email).toString(), box.read(BoxName.passengerPhotoUrl).toString(), box.read(BoxName.tokenFCM).toString(), - EncryptionHelper.instance - .decryptData(driver['token'].toString()), + (driver['token'].toString()), ], 'order.wav'); if (response['message'] == "Trip updated successfully") { diff --git a/lib/controller/home/profile/invit_controller.dart b/lib/controller/home/profile/invit_controller.dart index f9f299e..01b8ea7 100644 --- a/lib/controller/home/profile/invit_controller.dart +++ b/lib/controller/home/profile/invit_controller.dart @@ -179,9 +179,9 @@ Download the Tripz app now and enjoy your ride! int.parse(driverInvitationDataToPassengers[index]['countOfInvitDriver'] .toString()) < 2 - ? '${'When'.tr} ${EncryptionHelper.instance.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${"complete, you can claim your gift".tr} ' + ? '${'When'.tr} ${(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${"complete, you can claim your gift".tr} ' : 'You deserve the gift'.tr, - '${EncryptionHelper.instance.decryptData(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${driverInvitationDataToPassengers[index]['countOfInvitDriver'].toString()} / 2 ${'Trip'.tr}', + '${(driverInvitationDataToPassengers[index]['passengerName'].toString())} ${driverInvitationDataToPassengers[index]['countOfInvitDriver'].toString()} / 2 ${'Trip'.tr}', () async { if (int.parse(driverInvitationDataToPassengers[index] ['countOfInvitDriver'] @@ -270,8 +270,7 @@ Download the Tripz app now and enjoy your ride! var response = await CRUD().post(link: AppLink.addInvitationPassenger, payload: { "driverId": box.read(BoxName.passengerID), - "inviterPassengerPhone": - EncryptionHelper.instance.encryptData('+2$phoneNumber') + "inviterPassengerPhone": ('+2$phoneNumber') }); if (response != 'failure') { diff --git a/lib/controller/home/vip_waitting_page.dart b/lib/controller/home/vip_waitting_page.dart index 20726da..ff7a331 100644 --- a/lib/controller/home/vip_waitting_page.dart +++ b/lib/controller/home/vip_waitting_page.dart @@ -287,11 +287,7 @@ class VipWaittingPage extends StatelessWidget { ? MyElevatedButton( title: "Click here to begin your trip\n\nGood luck, " .tr + - EncryptionHelper.instance - .decryptData(box - .read(BoxName.name) - .toString() - .split(' ')[0]) + (box.read(BoxName.name).toString().split(' ')[0]) .toString(), kolor: AppColor.greenColor, onPressed: () { diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index 6e9b8b4..05021cd 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -263,10 +263,7 @@ class PaymentController extends GetxController { merchantDisplayName: AppInformation.appName, billingDetails: BillingDetails( name: box.read(BoxName.nameDriver) == null - ? EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[0]) - .toString() + ? (box.read(BoxName.name).toString().split(' ')[0]).toString() : box.read(BoxName.nameDriver).toString(), email: box.read(BoxName.emailDriver) == null ? box.read(BoxName.email).toString() @@ -561,16 +558,11 @@ class PaymentController extends GetxController { "amount": newAmount, "email": box.read(BoxName.email) ?? box.read(BoxName.emailDriver), - "first_name": EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[0]) + "first_name": (box.read(BoxName.name).toString().split(' ')[0]) .toString(), - "last_name": EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[1]) + "last_name": (box.read(BoxName.name).toString().split(' ')[1]) .toString(), - "phone_number": EncryptionHelper.instance - .decryptData(box.read(BoxName.phone)), + "phone_number": (box.read(BoxName.phone)), }); // var d = jsonDecode(res); Navigator.push( @@ -611,13 +603,9 @@ class PaymentController extends GetxController { payload: { "amount": newAmount, "email": box.read(BoxName.email), - "first_name": EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[0]) + "first_name": (box.read(BoxName.name).toString().split(' ')[0]) .toString(), - "last_name": EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[1]) + "last_name": (box.read(BoxName.name).toString().split(' ')[1]) .toString(), "phone_number": (box.read(BoxName.phoneWallet)), }); diff --git a/lib/controller/payment/paymob.dart b/lib/controller/payment/paymob.dart index b3b4aa2..0f16232 100644 --- a/lib/controller/payment/paymob.dart +++ b/lib/controller/payment/paymob.dart @@ -135,15 +135,12 @@ class PaymobManager extends GetxController { "amount_cents": amount, "currency": currency, "billing_data": { - "first_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[0]) - .toString(), - "last_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[1]) - .toString(), - "email": EncryptionHelper.instance.decryptData(box.read(BoxName.email)), - "phone_number": - EncryptionHelper.instance.decryptData(box.read(BoxName.phone)), + "first_name": + (box.read(BoxName.name).toString().split(' ')[0]).toString(), + "last_name": + (box.read(BoxName.name).toString().split(' ')[1]).toString(), + "email": (box.read(BoxName.email)), + "phone_number": (box.read(BoxName.phone)), "apartment": "NA", "floor": "NA", "street": "NA", diff --git a/lib/controller/payment/paymob/paymob_response.dart b/lib/controller/payment/paymob/paymob_response.dart index aac9c23..3f24916 100644 --- a/lib/controller/payment/paymob/paymob_response.dart +++ b/lib/controller/payment/paymob/paymob_response.dart @@ -232,14 +232,10 @@ class PaymobBillingData { Map toJson() { return { "email": box.read(BoxName.email) ?? box.read(BoxName.emailDriver), - "first_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[0]) - .toString(), - "last_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[1]) - .toString(), - "phone_number": - EncryptionHelper.instance.decryptData(box.read(BoxName.phone)), + "first_name": + (box.read(BoxName.name).toString().split(' ')[0]).toString(), + "last_name": (box.read(BoxName.name).toString().split(' ')[1]).toString(), + "phone_number": (box.read(BoxName.phone)), "apartment": apartment ?? "NA", "floor": floor ?? "NA", "building": building ?? "NA", @@ -373,8 +369,7 @@ class _PaymentScreenState extends State { // ✅ استدعاء الويب هوك بعد انتهاء الدفع Future _fetchPaymentStatus() async { - final String userId = EncryptionHelper.instance - .decryptData(box.read(BoxName.phoneWallet)); // ضع user_id الحقيقي + final String userId = (box.read(BoxName.phoneWallet)); // ضع user_id الحقيقي final String apiUrl = AppLink.paymetVerifyPassenger; try { diff --git a/lib/controller/payment/paymob/paymob_wallet.dart b/lib/controller/payment/paymob/paymob_wallet.dart index b0d5f3d..a280d59 100644 --- a/lib/controller/payment/paymob/paymob_wallet.dart +++ b/lib/controller/payment/paymob/paymob_wallet.dart @@ -267,14 +267,12 @@ class PaymobBillingDataWallet { Map toJson() { return { - "email": EncryptionHelper.instance.decryptData(box.read(BoxName.email)), - "first_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[0]) - .toString(), - "last_name": EncryptionHelper.instance - .decryptData(box.read(BoxName.name).toString().split(' ')[1]) - .toString() ?? - 'tripz', + "email": (box.read(BoxName.email)), + "first_name": + (box.read(BoxName.name).toString().split(' ')[0]).toString(), + "last_name": + (box.read(BoxName.name).toString().split(' ')[1]).toString() ?? + 'tripz', "phone_number": (box.read(BoxName.phoneWallet)), "apartment": apartment ?? "NA", "floor": floor ?? "NA", diff --git a/lib/controller/profile/profile_controller.dart b/lib/controller/profile/profile_controller.dart index fd2197a..b84240f 100644 --- a/lib/controller/profile/profile_controller.dart +++ b/lib/controller/profile/profile_controller.dart @@ -1,7 +1,6 @@ import 'dart:convert'; import 'package:Tripz/constant/colors.dart'; -import 'package:Tripz/controller/functions/encrypt_decrypt.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -9,9 +8,6 @@ import 'package:Tripz/constant/box_name.dart'; import 'package:Tripz/constant/links.dart'; import 'package:Tripz/controller/functions/crud.dart'; import 'package:Tripz/main.dart'; -import 'package:Tripz/views/widgets/my_textField.dart'; - -import '../../views/widgets/elevated_btn.dart'; class ProfileController extends GetxController { bool isloading = false; @@ -74,14 +70,10 @@ class ProfileController extends GetxController { Get.back(); await updateColumn({ 'id': box.read(BoxName.passengerID), - columnName: - EncryptionHelper.instance.encryptData(txtController.text), + columnName: (txtController.text), }); if (columnName == 'first_name') { - box.write( - BoxName.name, - EncryptionHelper.instance - .encryptData(txtController.text)); + box.write(BoxName.name, (txtController.text)); } txtController.clear(); diff --git a/lib/views/auth/login_page.dart b/lib/views/auth/login_page.dart index d7faefe..af1f4e1 100644 --- a/lib/views/auth/login_page.dart +++ b/lib/views/auth/login_page.dart @@ -90,10 +90,7 @@ class LoginPage extends StatelessWidget { User? user = await authController.signInWithApple(); if (user != null) { box.write(BoxName.passengerID, user.uid); - box.write( - BoxName.email, - EncryptionHelper.instance - .encryptData(user.email.toString())); + box.write(BoxName.email, (user.email.toString())); await controller.loginUsingCredentials( box.read(BoxName.passengerID).toString(), box.read(BoxName.email).toString(), diff --git a/lib/views/auth/verify_email_page.dart b/lib/views/auth/verify_email_page.dart index 16eac90..24c61aa 100644 --- a/lib/views/auth/verify_email_page.dart +++ b/lib/views/auth/verify_email_page.dart @@ -35,7 +35,7 @@ class VerifyEmailPage extends StatelessWidget { SizedBox( width: 100, child: TextField( - controller: controller.verfyCode, + controller: controller.verifyCode, decoration: InputDecoration( labelStyle: AppStyle.title, border: const OutlineInputBorder(), diff --git a/lib/views/home/map_widget.dart/left_main_menu_icons.dart b/lib/views/home/map_widget.dart/left_main_menu_icons.dart index 7702fed..d79efe4 100644 --- a/lib/views/home/map_widget.dart/left_main_menu_icons.dart +++ b/lib/views/home/map_widget.dart/left_main_menu_icons.dart @@ -1,3 +1,4 @@ +import 'package:Tripz/views/auth/sms_verfy_page.dart'; import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; @@ -55,14 +56,14 @@ GetBuilder leftMainMenuIcons() { tooltip: 'VIP Waiting Page', // More descriptive tooltip ), // const SizedBox(width: 8), - _buildIconButtonWithAnimation( - controller: controller, - icon: Octicons.screen_full, - onPressed: () async { - Get.to(() => TestPage()); - }, - tooltip: 'Recent Locations', // More descriptive tooltip - ), + // _buildIconButtonWithAnimation( + // controller: controller, + // icon: Octicons.screen_full, + // onPressed: () async { + // Get.to(() => TestPage()); + // }, + // tooltip: 'Recent Locations', // More descriptive tooltip + // ), ], ), ), @@ -80,7 +81,9 @@ class TestPage extends StatelessWidget { appBar: AppBar(), body: Center( child: TextButton( - onPressed: () async {}, + onPressed: () async { + Get.to(SmsSignupEgypt()); + }, child: Text( "Text Button", ), diff --git a/lib/views/home/map_widget.dart/main_bottom_Menu_map.dart b/lib/views/home/map_widget.dart/main_bottom_Menu_map.dart index 08b6afd..27ef629 100644 --- a/lib/views/home/map_widget.dart/main_bottom_Menu_map.dart +++ b/lib/views/home/map_widget.dart/main_bottom_Menu_map.dart @@ -459,7 +459,7 @@ class MainBottomMenuMap extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '${'Where to'.tr} ${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0])} ', + '${'Where to'.tr} ${(box.read(BoxName.name).toString().split(' ')[0])} ', style: AppStyle.subtitle), // if (controller.noCarString) // Text('Nearest Car: ~'.tr, diff --git a/lib/views/home/map_widget.dart/new_main_bottom_sheet.dart b/lib/views/home/map_widget.dart/new_main_bottom_sheet.dart index d09a5e3..1809814 100644 --- a/lib/views/home/map_widget.dart/new_main_bottom_sheet.dart +++ b/lib/views/home/map_widget.dart/new_main_bottom_sheet.dart @@ -72,7 +72,7 @@ class NewMainBottomSheet extends StatelessWidget { children: [ const Icon(Icons.search), Text( - "${"Where you want go ".tr}${EncryptionHelper.instance.decryptData(box.read(BoxName.name).toString().split(' ')[0]).toString()} ?", + "${"Where you want go ".tr}${(box.read(BoxName.name).toString().split(' ')[0]).toString()} ?", ), ], ), diff --git a/lib/views/home/my_wallet/passenger_wallet.dart b/lib/views/home/my_wallet/passenger_wallet.dart index 51c9e96..595b012 100644 --- a/lib/views/home/my_wallet/passenger_wallet.dart +++ b/lib/views/home/my_wallet/passenger_wallet.dart @@ -222,9 +222,7 @@ class CardTripzWallet extends StatelessWidget { Align( alignment: Alignment.bottomRight, child: Text( - EncryptionHelper.instance - .decryptData( - box.read(BoxName.name).toString().split(' ')[0]) + (box.read(BoxName.name).toString().split(' ')[0]) .toString(), style: AppStyle.title.copyWith( color: CupertinoColors.secondaryLabel, diff --git a/lib/views/home/profile/passenger_profile_page.dart b/lib/views/home/profile/passenger_profile_page.dart index 2b4614a..93ace2e 100644 --- a/lib/views/home/profile/passenger_profile_page.dart +++ b/lib/views/home/profile/passenger_profile_page.dart @@ -54,7 +54,7 @@ class PassengerProfilePage extends StatelessWidget { ), trailing: const Icon(Icons.arrow_forward_ios), subtitle: Text( - '${EncryptionHelper.instance.decryptData(controller.prfoileData['first_name'])} ${EncryptionHelper.instance.decryptData(controller.prfoileData['last_name'])}'), + '${(controller.prfoileData['first_name'])} ${(controller.prfoileData['last_name'])}'), onTap: () { controller.updatField( 'first_name', TextInputType.name); @@ -70,9 +70,8 @@ class PassengerProfilePage extends StatelessWidget { width: 35, ), trailing: const Icon(Icons.arrow_forward_ios), - subtitle: Text(EncryptionHelper.instance - .decryptData(controller.prfoileData['gender'] - .toString())), + subtitle: Text((controller.prfoileData['gender'] + .toString())), onTap: () { Get.defaultDialog( title: 'Update Gender'.tr, @@ -85,10 +84,7 @@ class PassengerProfilePage extends StatelessWidget { controller.updateColumn({ 'id': controller.prfoileData['id'] .toString(), - 'gender': EncryptionHelper - .instance - .encryptData( - controller.gender), + 'gender': (controller.gender), }); Get.back(); }, @@ -183,10 +179,9 @@ class PassengerProfilePage extends StatelessWidget { size: 35, ), trailing: const Icon(Icons.arrow_forward_ios), - subtitle: Text(EncryptionHelper.instance - .decryptData( - controller.prfoileData['sosPhone']) - .toString()), + subtitle: Text( + (controller.prfoileData['sosPhone']) + .toString()), onTap: () async { await controller.updatField( 'sosPhone', TextInputType.phone); diff --git a/pubspec.lock b/pubspec.lock index dfe695a..8a95a66 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -973,14 +973,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" - home_widget: - dependency: "direct main" - description: - name: home_widget - sha256: "7430f7549d42cef2e729bd3c779de748b93f1eb78b1abfe6bca8fffd1cfce3e9" - url: "https://pub.dev" - source: hosted - version: "0.7.0+1" html: dependency: transitive description: @@ -1137,10 +1129,10 @@ packages: dependency: "direct main" description: name: jailbreak_root_detection - sha256: ee98f5e69b43c758ee1779204b0926a09f0371eebe1462b876fb6a8bd130cbe5 + sha256: c611229940a09785bd686364e92a40b07724926d2496c931527805101eb3da86 url: "https://pub.dev" source: hosted - version: "1.1.5" + version: "1.1.6" js: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index cf9b2e0..9302b08 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -70,8 +70,8 @@ dependencies: live_activities: ^2.3.0 quick_actions: ^1.1.0 jwt_decoder: ^2.0.1 - jailbreak_root_detection: ^1.1.5 - home_widget: ^0.7.0+1 + jailbreak_root_detection: ^1.1.6 + # home_widget: ^0.7.0+1 dev_dependencies: flutter_test: