11/4/1
This commit is contained in:
@@ -314,6 +314,9 @@ class RegisterCaptainController extends GetxController {
|
||||
// Get.snackbar('title', 'message');
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
Get.snackbar('Error'.tr, 'you must insert token code '.tr,
|
||||
backgroundColor: AppColor.redColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'dart:convert';
|
||||
import 'dart:io';
|
||||
import 'package:SEFER/controller/home/captin/home_captain_controller.dart';
|
||||
import 'package:SEFER/env/env.dart';
|
||||
import 'package:SEFER/print.dart';
|
||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -68,6 +69,7 @@ class FirebaseMessagesController extends GetxController {
|
||||
|
||||
Future getToken() async {
|
||||
fcmToken.getToken().then((token) {
|
||||
// Log.print('token: ${token}');
|
||||
box.write(BoxName.tokenDriver, token);
|
||||
});
|
||||
|
||||
|
||||
@@ -29,9 +29,11 @@ Future<void> getPermissionOverlay() async {
|
||||
}
|
||||
|
||||
Future<void> closeOverlayIfFound() async {
|
||||
bool isOverlayActive = await FlutterOverlayWindow.isActive();
|
||||
if (isOverlayActive) {
|
||||
await FlutterOverlayWindow.closeOverlay();
|
||||
if (Platform.isAndroid) {
|
||||
bool isOverlayActive = await FlutterOverlayWindow.isActive();
|
||||
if (isOverlayActive) {
|
||||
await FlutterOverlayWindow.closeOverlay();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
68
lib/controller/home/captin/help/video_controller.dart
Normal file
68
lib/controller/home/captin/help/video_controller.dart
Normal file
@@ -0,0 +1,68 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:SEFER/constant/links.dart';
|
||||
import 'package:SEFER/controller/functions/crud.dart';
|
||||
import 'package:SEFER/print.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:video_player/video_player.dart';
|
||||
|
||||
class VideoController extends GetxController {
|
||||
var videos = [];
|
||||
var isLoading = true.obs;
|
||||
final String apiUrl =
|
||||
'${AppLink.seferCairoServer}/ride/videos_driver/get.php';
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
fetchVideos();
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
late VideoPlayerController videoPlayerController;
|
||||
|
||||
// Initialize the video player with the provided URL
|
||||
Future<void> initializeVideo(String videoUrl) async {
|
||||
videoPlayerController =
|
||||
VideoPlayerController.networkUrl(Uri.parse(videoUrl));
|
||||
await videoPlayerController.initialize();
|
||||
videoPlayerController
|
||||
.setLooping(true); // Set to true if you want the video to loop
|
||||
update(); // Update the UI after the video has been initialized
|
||||
}
|
||||
|
||||
// Play the video
|
||||
void play() {
|
||||
videoPlayerController.play();
|
||||
update();
|
||||
}
|
||||
|
||||
// Pause the video
|
||||
void pause() {
|
||||
videoPlayerController.pause();
|
||||
update();
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
videoPlayerController
|
||||
.dispose(); // Dispose of the video player controller when not in use
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
void fetchVideos() async {
|
||||
try {
|
||||
var res = await CRUD().get(link: apiUrl, payload: {});
|
||||
if (res != 'failure') {
|
||||
videos = jsonDecode(res)['message'];
|
||||
// Log.print('videos: ${videos}');
|
||||
update();
|
||||
} else {
|
||||
Get.snackbar('Error'.tr, '');
|
||||
}
|
||||
} catch (e) {
|
||||
Get.snackbar("Error", e.toString());
|
||||
} finally {
|
||||
isLoading(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,7 +364,7 @@ class MapDriverController extends GetxController {
|
||||
double _distance =
|
||||
await calculateDistanceBetweenDriverAndPassengerLocation();
|
||||
|
||||
if (_distance < 70) {
|
||||
if (_distance < 400) {
|
||||
changeRideToBeginToPassenger();
|
||||
isPassengerInfoWindow = false;
|
||||
isRideStarted = true;
|
||||
@@ -400,7 +400,7 @@ class MapDriverController extends GetxController {
|
||||
// var d = jsonDecode(res);
|
||||
|
||||
update();
|
||||
Get.back();
|
||||
// Get.back();
|
||||
// Start updating location and moving camera
|
||||
// updateLocation();
|
||||
} else {
|
||||
|
||||
@@ -203,6 +203,8 @@ class MyTranslation extends Translations {
|
||||
"إذا كنت بحاجة إلى المساعدة، تواصل معنا",
|
||||
'You Can Cancel the Trip and get Cost From ':
|
||||
"يمكنك إلغاء الرحلة والحصول على التكلفة من",
|
||||
|
||||
'Videos Tutorials': "فيديوهات تعليمية",
|
||||
'Please go to the pickup location exactly':
|
||||
"يرجى الذهاب إلى موقع الالتقاط بالضبط",
|
||||
"Approaching your area. Should be there in 3 minutes.":
|
||||
@@ -305,6 +307,7 @@ class MyTranslation extends Translations {
|
||||
"History Page": "سجل الرحلات ",
|
||||
"Finished": "مكتملة",
|
||||
"Trip Detail": "تفاصيل الرحلة",
|
||||
'you must insert token code ': 'يجب إدخال رمز التحقق',
|
||||
"Invite code already used": "تم استخدام رمز الدعوة بالفعل",
|
||||
"Price is": "السعر",
|
||||
"Times of Trip": "أوقات الرحلة",
|
||||
|
||||
Reference in New Issue
Block a user