إضافة الهوية الجديدة Tripz

This commit is contained in:
Hamza-Ayed
2026-07-29 02:31:04 +03:00
parent ecbe245b77
commit b9a97effe5
634 changed files with 5149 additions and 5294 deletions
@@ -67,8 +67,8 @@ class AppUpdateController extends GetxController {
void _showStoreUpdateDialog() {
final String storeUrl = Platform.isAndroid
? 'https://play.google.com/store/apps/details?id=com.siro_driver'
: 'https://apps.apple.com/jo/app/siro-driver/id6482995159';
? 'https://play.google.com/store/apps/details?id=com.tripz_driver'
: 'https://apps.apple.com/jo/app/tripz-driver/id6482995159';
Get.defaultDialog(
title: "تحديث جديد متوفر".tr,
@@ -5,9 +5,9 @@ import 'dart:io';
import 'package:camera/camera.dart';
import 'package:get/get.dart';
// import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:path/path.dart' as path;
import 'package:http/http.dart' as http;
@@ -1,10 +1,10 @@
import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart';
import 'package:intaleq_maps/intaleq_maps.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/country_polygons.dart';
import 'package:siro_driver/constant/city_polygons.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/country_polygons.dart';
import 'package:tripz_driver/constant/city_polygons.dart';
import 'package:tripz_driver/main.dart';
import '../../print.dart';
class CountryLogic {
@@ -84,7 +84,7 @@ class CountryLogic {
/// Helper to format phone using the current country in box.
static String formatCurrentCountryPhone(String phone) {
String cleanPhone = phone.replaceAll(RegExp(r'[ \-\(\)\+]'), '').trim();
// 1. Explicit International Code Detection
if (cleanPhone.startsWith('00963')) {
cleanPhone = cleanPhone.replaceFirst('00963', '963');
@@ -1,17 +1,17 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:siro_driver/controller/functions/encrypt_decrypt.dart';
import 'package:siro_driver/controller/functions/network/net_guard.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/controller/functions/encrypt_decrypt.dart';
import 'package:tripz_driver/controller/functions/network/net_guard.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:tripz_driver/main.dart';
import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import 'package:siro_driver/env/env.dart';
import 'package:siro_driver/print.dart';
import 'package:siro_driver/controller/functions/package_info.dart';
import 'package:tripz_driver/env/env.dart';
import 'package:tripz_driver/print.dart';
import 'package:tripz_driver/controller/functions/package_info.dart';
import '../../constant/api_key.dart';
import '../../views/widgets/error_snakbar.dart';
@@ -1,8 +1,8 @@
import 'dart:convert';
import 'dart:io';
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/main.dart';
import 'package:http/http.dart' as http;
import '../../constant/links.dart';
@@ -4,18 +4,18 @@ import 'dart:io';
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/info.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:siro_driver/controller/firebase/firbase_messge.dart';
import 'package:siro_driver/controller/firebase/local_notification.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/env/env.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/info.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:tripz_driver/controller/firebase/firbase_messge.dart';
import 'package:tripz_driver/controller/firebase/local_notification.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/env/env.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:image_cropper/image_cropper.dart';
@@ -1,6 +1,6 @@
import 'package:url_launcher/url_launcher.dart';
import 'dart:io';
import 'package:siro_driver/controller/functions/country_logic.dart';
import 'package:tripz_driver/controller/functions/country_logic.dart';
void showInBrowser(String url) async {
if (await canLaunchUrl(Uri.parse(url))) {
@@ -1,8 +1,8 @@
import 'dart:convert';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/controller/functions/gemeni.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/controller/functions/gemeni.dart';
class LlamaAi {
Future<Map> getCarRegistrationData(String input, prompt) async {
@@ -4,8 +4,8 @@ import 'package:device_info_plus/device_info_plus.dart';
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_navigation/src/extension_navigation.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'background_service.dart';
@@ -9,7 +9,7 @@ import 'package:location/location.dart';
import 'package:battery_plus/battery_plus.dart';
import 'package:permission_handler/permission_handler.dart' as ph;
import 'package:socket_io_client/socket_io_client.dart' as IO;
import 'package:siro_driver/constant/table_names.dart';
import 'package:tripz_driver/constant/table_names.dart';
import 'package:trip_overlay_plugin/trip_overlay_plugin.dart';
import '../../constant/country_polygons.dart';
import '../../constant/box_name.dart';
@@ -62,7 +62,8 @@ class LocationController extends GetxController with WidgetsBindingObserver {
box.write(BoxName.isBusMode, enabled);
box.write(BoxName.busModeTripId, enabled ? tripId : null);
box.write(BoxName.busModeRouteId, enabled ? routeId : null);
Log.print('🚌 Bus mode ${enabled ? "enabled" : "disabled"} (trip: $tripId, route: $routeId)');
Log.print(
'🚌 Bus mode ${enabled ? "enabled" : "disabled"} (trip: $tripId, route: $routeId)');
}
StreamSubscription<LocationData>? _locSub;
@@ -226,7 +227,8 @@ class LocationController extends GetxController with WidgetsBindingObserver {
socket = null;
}
print("🟡 [LocationController] Initializing NEW Socket for Driver: $driverId");
print(
"🟡 [LocationController] Initializing NEW Socket for Driver: $driverId");
try {
// العودة للـ Websocket حصراً لأنه الوحيد الذي ينجح في فتح القناة
@@ -276,12 +278,12 @@ class LocationController extends GetxController with WidgetsBindingObserver {
if (sid != null || eid != null) {
isSocketConnected = true;
if (myLocation.latitude != 0) {
print("🚀 Sending initial location to socket after connect...");
emitLocationToSocket(myLocation, heading, speed);
}
_startHeartbeat();
// 🆕 طلب أي رحلات انتظار فاتتنا أثناء انقطاع الاتصال
@@ -460,7 +462,8 @@ class LocationController extends GetxController with WidgetsBindingObserver {
void _startHeartbeat() {
_socketHeartbeat?.cancel();
_socketHeartbeat = Timer.periodic(const Duration(seconds: 25), (timer) {
if (socket == null || !isSocketConnected || myLocation.latitude == 0) return;
if (socket == null || !isSocketConnected || myLocation.latitude == 0)
return;
if (isBusMode) {
emitBusLocationToSocket(myLocation, heading, speed);
@@ -512,7 +515,8 @@ class LocationController extends GetxController with WidgetsBindingObserver {
}
// 🚌 مواصلاتي — بثّ موقع الباص (بديل عن update_location أثناء وضع الباص)
void emitBusLocationToSocket(LatLng pos, double head, double spd, {int? currentStopSeq}) {
void emitBusLocationToSocket(LatLng pos, double head, double spd,
{int? currentStopSeq}) {
if (activeBusTripId == null || activeBusRouteId == null) return;
if (socket == null || !socket!.connected) return;
@@ -1,14 +1,14 @@
import 'package:siro_driver/views/home/on_boarding_page.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/views/home/on_boarding_page.dart';
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:siro_driver/views/widgets/my_textField.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/views/widgets/my_textField.dart';
import '../../constant/style.dart';
@@ -5,14 +5,14 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:image_picker/image_picker.dart';
import 'package:http/http.dart' as http;
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/info.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:siro_driver/constant/table_names.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/print.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/info.dart';
import 'package:tripz_driver/constant/style.dart';
import 'package:tripz_driver/constant/table_names.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/print.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import '../../constant/box_name.dart';
import '../../constant/links.dart';
@@ -1,9 +1,9 @@
import 'package:siro_driver/constant/currency.dart';
import 'package:tripz_driver/constant/currency.dart';
import 'dart:io';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/views/widgets/mydialoug.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/views/widgets/mydialoug.dart';
import 'package:flutter/material.dart';
import 'package:flutter_confetti/flutter_confetti.dart';
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
@@ -5,11 +5,11 @@ import 'dart:ui';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:jailbreak_root_detection/jailbreak_root_detection.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/controller/functions/encrypt_decrypt.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/controller/functions/encrypt_decrypt.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -48,8 +48,8 @@ Future<String> getPackageInfo() async {
void showUpdateDialog(BuildContext context) {
final String storeUrl = Platform.isAndroid
? 'https://play.google.com/store/apps/details?id=com.siro_driver'
: 'https://apps.apple.com/jo/app/siro-driver/id6482995159';
? 'https://play.google.com/store/apps/details?id=com.tripz_driver'
: 'https://apps.apple.com/jo/app/tripz-driver/id6482995159';
showGeneralDialog(
context: context,
@@ -2,8 +2,8 @@ import 'dart:convert';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:secure_string_operations/secure_string_operations.dart';
import 'package:siro_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:siro_driver/controller/functions/encrypt_decrypt.dart';
import 'package:tripz_driver/controller/auth/captin/login_captin_controller.dart';
import 'package:tripz_driver/controller/functions/encrypt_decrypt.dart';
import '../../constant/box_name.dart';
import '../../constant/char_map.dart';
@@ -7,7 +7,7 @@ import '../../main.dart';
class SecurityChecks {
static const platform = MethodChannel(
'com.siro.siro_driver/security'); // Choose a unique channel name
'com.tripz.tripz_driver/security'); // Choose a unique channel name
static Future<bool> isDeviceCompromised() async {
try {
@@ -1,13 +1,13 @@
import 'dart:convert';
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/constant/info.dart';
import 'package:siro_driver/constant/links.dart';
import 'package:siro_driver/controller/auth/syria/registration_controller.dart';
import 'package:siro_driver/controller/functions/crud.dart';
import 'package:siro_driver/main.dart';
import 'package:siro_driver/views/widgets/elevated_btn.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/constant/info.dart';
import 'package:tripz_driver/constant/links.dart';
import 'package:tripz_driver/controller/auth/syria/registration_controller.dart';
import 'package:tripz_driver/controller/functions/crud.dart';
import 'package:tripz_driver/main.dart';
import 'package:tripz_driver/views/widgets/elevated_btn.dart';
import 'package:get/get.dart';
import 'package:http/http.dart' as http;
@@ -8,11 +8,11 @@ class SslPinning {
SslPinning._();
static final Map<String, List<String>> _pins = {
'intaleq.xyz': [
'tripz.xyz': [
'/tNRUeeLxUhQU5gbgdpVWC6QBGAqc/ujg8Kcf0wQiAM=',
'Hlx/0EWNDH5Xkt2KzvqxUzbw0vvEsyZSlibialSyGqI=',
],
'siromove.com': [
'tripzmove.com': [
'C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHESsl=',
'diGVwiVYbubAI3RW4hB9xU8e/CH2GnkuvVFZE8zmgzI=',
],
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/colors.dart';
import 'package:siro_driver/constant/style.dart';
import 'package:tripz_driver/constant/colors.dart';
import 'package:tripz_driver/constant/style.dart';
class Toast {
static void show(BuildContext context, String message, Color color) {
@@ -1,8 +1,8 @@
import 'dart:io';
import 'package:flutter_tts/flutter_tts.dart';
import 'package:get/get.dart';
import 'package:siro_driver/constant/box_name.dart';
import 'package:siro_driver/main.dart';
import 'package:tripz_driver/constant/box_name.dart';
import 'package:tripz_driver/main.dart';
class TextToSpeechController extends GetxController {
final FlutterTts flutterTts = FlutterTts();
@@ -1,7 +1,7 @@
import 'dart:convert';
import 'dart:io';
import 'package:siro_driver/constant/api_key.dart';
import 'package:siro_driver/views/widgets/error_snakbar.dart';
import 'package:tripz_driver/constant/api_key.dart';
import 'package:tripz_driver/views/widgets/error_snakbar.dart';
import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import 'package:image_cropper/image_cropper.dart';