2026-02-28-1
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
import 'package:Intaleq/constant/box_name.dart';
|
||||
import 'package:Intaleq/controller/firebase/firbase_messge.dart';
|
||||
import 'package:Intaleq/controller/firebase/notification_service.dart';
|
||||
import 'package:Intaleq/main.dart';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -9,13 +7,11 @@ import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||
import 'dart:ui'; // مهم لإضافة تأثير الضبابية
|
||||
|
||||
import '../../../constant/colors.dart';
|
||||
import '../../../controller/functions/encrypt_decrypt.dart';
|
||||
import '../../../controller/functions/tts.dart';
|
||||
import '../../../controller/home/ios_live_activity_service.dart';
|
||||
import '../../../controller/home/map_passenger_controller.dart';
|
||||
import '../../../controller/home/vip_waitting_page.dart';
|
||||
import '../../../env/env.dart';
|
||||
import '../../../print.dart';
|
||||
import '../../auth/otp_page.dart';
|
||||
|
||||
// --- الدالة الرئيسية بالتصميم الجديد ---
|
||||
GetBuilder<MapPassengerController> leftMainMenuIcons() {
|
||||
@@ -118,25 +114,98 @@ Widget _buildVerticalDivider() {
|
||||
}
|
||||
|
||||
// --- باقي الكود الخاص بك يبقى كما هو بدون تغيير ---
|
||||
|
||||
class TestPage extends StatelessWidget {
|
||||
const TestPage({
|
||||
super.key,
|
||||
});
|
||||
const TestPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final random = Random();
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(),
|
||||
body: Center(
|
||||
child: TextButton(
|
||||
onPressed: () async {
|
||||
// print(box.read(BoxName.lowEndMode));
|
||||
// box.read(BoxName.lowEndMode)
|
||||
Get.to(PhoneNumberScreen());
|
||||
},
|
||||
child: Text(
|
||||
"Text Button",
|
||||
),
|
||||
appBar: AppBar(
|
||||
title: const Text('iOS Live Activity Test'),
|
||||
),
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
// زر البدء
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
debugPrint("🍎 محاولة تشغيل Live Activity (Start)...");
|
||||
try {
|
||||
await IosLiveActivityService.startRideActivity(
|
||||
rideId: "123",
|
||||
driverName: "تجربة مبدئية",
|
||||
carDetails: "تويوتا • أسود",
|
||||
etaText: "5 دقائق",
|
||||
progress: 0.2,
|
||||
);
|
||||
debugPrint(
|
||||
"✅ تم تشغيل Live Activity بنجاح! أغلق الشاشة لترى النتيجة.");
|
||||
} catch (e) {
|
||||
debugPrint("❌ خطأ في Start Live Activity: $e");
|
||||
}
|
||||
},
|
||||
child: const Text('Start Activity'),
|
||||
),
|
||||
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// زر التحديث العشوائي
|
||||
ElevatedButton(
|
||||
onPressed: () async {
|
||||
debugPrint("🔄 محاولة تحديث Live Activity (Update)...");
|
||||
|
||||
// توليد بيانات عشوائية للاختبار
|
||||
final statuses = ['waiting', 'ongoing'];
|
||||
final status = statuses[random.nextInt(statuses.length)];
|
||||
|
||||
final int minutes = random.nextInt(15) + 1; // 1–15
|
||||
final String eta = "$minutes دقائق";
|
||||
|
||||
final double progress = (random.nextDouble() * 0.9) + 0.05;
|
||||
// بين 0.05 و 0.95 تقريبًا
|
||||
|
||||
try {
|
||||
await IosLiveActivityService.updateRideActivity(
|
||||
status: status,
|
||||
driverName:
|
||||
status == 'waiting' ? 'السائق في الطريق' : 'السائق معك',
|
||||
carDetails: "تويوتا • أسود",
|
||||
etaText: eta,
|
||||
progress: progress,
|
||||
);
|
||||
debugPrint(
|
||||
"✅ تم تحديث Live Activity: status=$status, eta=$eta, progress=$progress");
|
||||
} catch (e) {
|
||||
debugPrint("❌ خطأ في Update Live Activity: $e");
|
||||
}
|
||||
},
|
||||
child: const Text('Update (Random)'),
|
||||
),
|
||||
|
||||
const SizedBox(height: 16),
|
||||
|
||||
// زر الإنهاء
|
||||
ElevatedButton(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: Colors.red,
|
||||
),
|
||||
onPressed: () async {
|
||||
debugPrint("🛑 محاولة إنهاء Live Activity (End)...");
|
||||
try {
|
||||
await IosLiveActivityService.endRideActivity();
|
||||
debugPrint("✅ تم إنهاء Live Activity.");
|
||||
} catch (e) {
|
||||
debugPrint("❌ خطأ في End Live Activity: $e");
|
||||
}
|
||||
},
|
||||
child: const Text('End Activity'),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -140,7 +140,9 @@ class PickerAnimtionContainerFormPlaces extends StatelessWidget {
|
||||
controller
|
||||
.changePickerShown();
|
||||
controller
|
||||
.changeBottomSheetShown();
|
||||
.changeBottomSheetShown(
|
||||
forceValue:
|
||||
true);
|
||||
controller
|
||||
.bottomSheet();
|
||||
Get.back();
|
||||
@@ -196,7 +198,8 @@ class PickerAnimtionContainerFormPlaces extends StatelessWidget {
|
||||
'${controller.newMyLocation.latitude},${controller.newMyLocation.longitude}',
|
||||
);
|
||||
controller.changePickerShown();
|
||||
controller.changeBottomSheetShown();
|
||||
controller.changeBottomSheetShown(
|
||||
forceValue: true);
|
||||
controller.bottomSheet();
|
||||
// await sql
|
||||
// .getAllData(TableName.placesFavorite)
|
||||
|
||||
@@ -47,12 +47,12 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
leading: CircleAvatar(
|
||||
radius: 25,
|
||||
backgroundImage: NetworkImage(
|
||||
'${AppLink.IntaleqSyriaServer}/portrate_captain_image/${driver['id']}.jpg',
|
||||
'${AppLink.server}/portrate_captain_image/${driver['id']}.jpg',
|
||||
),
|
||||
child: Builder(
|
||||
builder: (context) {
|
||||
return Image.network(
|
||||
'${AppLink.IntaleqSyriaServer}/portrate_captain_image/${driver['id']}.jpg',
|
||||
'${AppLink.server}/portrate_captain_image/${driver['id']}.jpg',
|
||||
fit: BoxFit.cover,
|
||||
loadingBuilder: (BuildContext context,
|
||||
Widget child,
|
||||
|
||||
Reference in New Issue
Block a user