From cc76aa394f13fa0611b2ea6864cebbf921eb183f Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Fri, 31 May 2024 19:19:32 +0300 Subject: [PATCH] 5/31/3 --- assets/images/roundtrip.png | Bin 0 -> 42302 bytes lib/controller/firebase/firbase_messge.dart | 20 +++ lib/controller/functions/crud.dart | 6 +- .../home/map_passenger_controller.dart | 12 +- lib/controller/local/translations.dart | 10 ++ .../map_widget.dart/call_passenger_page.dart | 160 +++++++++++++----- .../car_details_widget_to_go.dart | 4 +- .../searching_captain_window.dart | 4 +- 8 files changed, 166 insertions(+), 50 deletions(-) create mode 100644 assets/images/roundtrip.png diff --git a/assets/images/roundtrip.png b/assets/images/roundtrip.png new file mode 100644 index 0000000000000000000000000000000000000000..c6088baf0715892b110e250120e10d547eab8b24 GIT binary patch literal 42302 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 literal 0 HcmV?d00001 diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index 3876172..c2b1238 100644 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -211,6 +211,26 @@ class FirebaseMessagesController extends GetxController { } catch (e) { print('Error navigating to PassengerCallPage: $e'); } + } else if (message.notification!.title! == 'Call Income from Driver') { + try { + var myListString = message.data['passengerList']; + var driverList = jsonDecode(myListString) as List; + // if (Platform.isAndroid) { + NotificationController().showNotification( + 'Call Income'.tr, + message.notification!.body!, + 'iphone_ringtone', + ); + // } + // Assuming GetMaterialApp is initialized and context is valid for navigation + Get.to(() => PassengerCallPage( + channelName: driverList[1].toString(), + token: driverList[0].toString(), + remoteID: driverList[2].toString(), + )); + } catch (e) { + print('Error navigating to PassengerCallPage: $e'); + } } else if (message.notification!.title! == 'Call End') { try { var myListString = message.data['passengerList']; diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index a4400c7..c6ced38 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -48,9 +48,9 @@ class CRUD { required String uid, }) async { var uid = box.read(BoxName.phone) ?? box.read(BoxName.phoneDriver); - var res = await http.get( - Uri.parse( - 'https://repulsive-pig-rugby-shirt.cyclic.app/token?channelName=$channelName'), + var res = await http.get(Uri.parse( + // 'https://repulsive-pig-rugby-shirt.cyclic.app/token?channelName=$channelName'), + 'https://orca-app-b2i85.ondigitalocean.app/token?channelName=$channelName'), headers: {'Authorization': 'Bearer ${AK.agoraAppCertificate}'}); if (res.statusCode == 200) { diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index e015b78..9576cb7 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -2413,8 +2413,8 @@ class MapPassengerController extends GetxController { costDelivery = (distance * deliveryPrice) + costDuration * latePrice; costLady = (distance * comfortPrice + 2) + costDuration * latePrice; costRayehGai = (distance * 2 * speedPrice) - - ((distance * 2 * speedPrice) * .3) + - costDuration * latePrice; + ((distance * 1 * speedPrice) * .4) + + costDuration * 2 * latePrice; update(); } else if (currentTime.hour >= 13 && currentTime.hour <= 16) { @@ -2425,8 +2425,8 @@ class MapPassengerController extends GetxController { costDelivery = (distance * deliveryPrice) + costDuration * heavyPrice; costLady = (distance * comfortPrice + 2) + costDuration * heavyPrice; costRayehGai = (distance * 2 * speedPrice) - - ((distance * 2 * speedPrice) * .3) + - costDuration * heavyPrice; + ((distance * 1 * speedPrice) * .4) + + costDuration * 2 * heavyPrice; update(); // } / @@ -2437,8 +2437,8 @@ class MapPassengerController extends GetxController { costDelivery = (distance * deliveryPrice) + costDuration; costLady = (distance * comfortPrice + 2) + costDuration; costRayehGai = (distance * 2 * speedPrice) - - ((distance * 2 * speedPrice) * .3) + - costDuration; + ((distance * 1 * speedPrice) * .4) + + costDuration * 2; update(); } //print('cost $cost'); diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index 8192a1d..2684baa 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -4,6 +4,16 @@ class MyTranslation extends Translations { @override Map> get keys => { "ar": { + "joined": "انضم", + "Driver joined the channel": "السائق انضم للقناة", + "Driver left the channel": "السائق غادر القناة", + "Call Page": "صفحة المكالمة", + "Call End": "إنهاء المكالمة", + "Call Left": "مكالمات متبقية", + "\$ Next as Cash \$!": " نقداً !", + "To use Wallet charge it": "لاستخدام المحفظة، قم بشحنها", + "We are searching for the nearest driver to you": + "نبحث عن أقرب سائق إليك", "Best choice for cities": "أفضل اختيار للمدن", "Rayeh Gai: Round trip service for convenient travel between cities, easy and reliable.": " رايح جاي: خدمة ذهاب وعودة للسفر المريح بين المدن، سهلة وموثوقة.", diff --git a/lib/views/home/map_widget.dart/call_passenger_page.dart b/lib/views/home/map_widget.dart/call_passenger_page.dart index 82106b8..3cabd9e 100644 --- a/lib/views/home/map_widget.dart/call_passenger_page.dart +++ b/lib/views/home/map_widget.dart/call_passenger_page.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'package:SEFER/constant/box_name.dart'; +import 'package:SEFER/controller/home/map_passenger_controller.dart'; import 'package:SEFER/main.dart'; import 'package:SEFER/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; @@ -9,6 +10,9 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:agora_rtc_engine/agora_rtc_engine.dart'; import '../../../../constant/api_key.dart'; +import '../../../constant/colors.dart'; +import '../../../constant/style.dart'; +import '../../../controller/firebase/firbase_messge.dart'; String appId = AK.agoraAppId; @@ -29,7 +33,7 @@ class _PassengerCallPageState extends State { int? _remoteUid = 0; // uid of the remote user bool _isJoined = false; // Indicates if the local user has joined the channel late RtcEngine agoraEngine; // Agora engine instance - + String status = ''; final GlobalKey scaffoldMessengerKey = GlobalKey(); // Global key to access the scaffold @@ -72,18 +76,21 @@ class _PassengerCallPageState extends State { "Local user uid:${connection.localUid} joined the channel"); setState(() { _isJoined = true; + status = 'joined'.tr; }); }, onUserJoined: (RtcConnection connection, int remoteUid, int elapsed) { - showMessage("Remote user uid:$remoteUid joined the channel"); + showMessage("Driver joined the channel".tr); setState(() { + status = "Driver joined the channel".tr; _remoteUid = remoteUid; }); }, onUserOffline: (RtcConnection connection, int? remoteUid, UserOfflineReasonType reason) { - showMessage("Remote user uid:$remoteUid left the channel"); + showMessage("Driver left the channel".tr); setState(() { + status = "Driver left the channel".tr; _remoteUid = null; }); }, @@ -131,50 +138,127 @@ class _PassengerCallPageState extends State { // appBar: AppBar( // title: const Text('Get started with Voice Calling'), // ), - title: 'Voice Calling'.tr, + title: 'Call Page'.tr, isleading: true, body: [ - ListView( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), - children: [ - // Status text - Container(height: 40, child: Center(child: _status())), - // Button Row - Row( - children: [ - Expanded( - child: ElevatedButton( - child: Text("Join".tr), - onPressed: () => {join()}, - ), + Positioned( + top: Get.height * .2, + child: Container( + height: 100, width: Get.width, + decoration: AppStyle.boxDecoration, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + GestureDetector( + onTap: () async { + // await callController.initAgoraFull(); + // callController.join(); + // FirebaseMessagesController().sendNotificationToPassengerToken( + // 'Call Income', + // '${'You have call from driver'.tr} ${box.read(BoxName.nameDriver)}', + // Get.find().tokenPassenger, + // [ + // callController.token, + // callController.channelName, + // callController.uid.toString(), + // callController.remoteUid.toString(), + // ], + // ); + join(); + // callController.fetchToken(); + }, + child: Container( + width: 50, + height: 50, + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColor.greenColor), + child: const Icon( + Icons.phone, + size: 35, + color: AppColor.secondaryColor, + )), ), - const SizedBox(width: 10), - Expanded( - child: ElevatedButton( - child: Text("Leave".tr), - onPressed: () => {leave()}, - ), + Column( + children: [ + Text( + status, + style: AppStyle.title, + ), + Text(Get.find() + .driverName + .toString()), + ], ), + GestureDetector( + onTap: () async { + FirebaseMessagesController() + .sendNotificationToPassengerToken( + 'Call End'.tr, + 'Call End', + Get.find().driverToken, + [], + ); + leave(); + Get.back(); + }, + child: Container( + width: 50, + height: 50, + decoration: const BoxDecoration( + shape: BoxShape.circle, color: AppColor.redColor), + child: const Icon( + Icons.phone_disabled_sharp, + size: 35, + color: AppColor.secondaryColor, + )), + ) ], ), - ], + // ignore: prefer_const_constructors + ), ), + // ListView( + // padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), + // children: [ + // // Status text + // Container(height: 40, child: Center(child: _status())), + // // Button Row + // Row( + // children: [ + // Expanded( + // child: ElevatedButton( + // child: Text("Join".tr), + // onPressed: () => {join()}, + // ), + // ), + // const SizedBox(width: 10), + // Expanded( + // child: ElevatedButton( + // child: Text("Leave".tr), + // onPressed: () => {leave()}, + // ), + // ), + // ], + // ), + // ], + // ), ]), ); } - Widget _status() { - String statusText; - - if (!_isJoined) { - statusText = 'Join a channel'; - } else if (_remoteUid == null) - statusText = 'Waiting for a remote user to join...'; - else - statusText = 'Connected to remote user, uid:$_remoteUid'; - - return Text( - statusText, - ); - } + // Widget _status() { + // String statusText; + // + // if (!_isJoined) { + // statusText = 'Join a channel'.tr; + // } else if (_remoteUid == null) + // statusText = 'Waiting for a remote user to join...'; + // else + // statusText = 'Connected to remote user, uid:$_remoteUid'; + // + // return Text( + // statusText, + // ); + // } } diff --git a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart index d3ea3f1..693e28b 100644 --- a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart +++ b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart @@ -60,7 +60,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { CarType( carType: 'Rayeh Gai', carDetail: "Best choice for cities".tr, - image: 'assets/images/freeRide.png', + image: 'assets/images/roundtrip.png', ), ); } // Create a Set to remove duplicates based on the `carType` field @@ -464,7 +464,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { content: CarDialogue( textToSpeechController: textToSpeechController, - image: 'assets/images/lady.png', + image: 'assets/images/roundtrip.png', text: "Rayeh Gai: Round trip service for convenient travel between cities, easy and reliable." .tr), diff --git a/lib/views/home/map_widget.dart/searching_captain_window.dart b/lib/views/home/map_widget.dart/searching_captain_window.dart index 24b32eb..7e96030 100644 --- a/lib/views/home/map_widget.dart/searching_captain_window.dart +++ b/lib/views/home/map_widget.dart/searching_captain_window.dart @@ -36,7 +36,7 @@ class SearchingCaptainWindow extends StatelessWidget { ), ), Text( - 'We search nearst Driver to you'.tr, + "We are searching for the nearest driver to you".tr, style: AppStyle.headTitle2, ), Text( @@ -167,9 +167,11 @@ Widget _buildTimer(MapPassengerController mapPassengerController) { title: "No, thanks", onPressed: () { Get.back(); + mapPassengerController.cancelRide(); }), MyElevatedButton( title: "Increase Fee".tr, + kolor: AppColor.greenColor, onPressed: () { mapPassengerController.increaseFeeByPassengerAndReOrder(); })