25-6-23/1
This commit is contained in:
@@ -44,7 +44,7 @@ class AccessTokenManager {
|
||||
_accessToken = client.credentials.accessToken;
|
||||
_expiryDate = client.credentials.accessToken.expiry;
|
||||
client.close();
|
||||
Log.print('_accessToken!.data: ${_accessToken!.data}');
|
||||
// Log.print('_accessToken!.data: ${_accessToken!.data}');
|
||||
return _accessToken!.data;
|
||||
} catch (e) {
|
||||
throw Exception('Failed to obtain access token');
|
||||
|
||||
@@ -14,6 +14,7 @@ import '../../constant/box_name.dart';
|
||||
import '../../constant/colors.dart';
|
||||
import '../../constant/style.dart';
|
||||
import '../../main.dart';
|
||||
import '../../print.dart';
|
||||
import '../../views/auth/captin/criminal_documents_page.dart';
|
||||
import '../../views/home/Captin/home_captain/home_captin.dart';
|
||||
import '../../views/home/Captin/orderCaptin/order_speed_request.dart';
|
||||
@@ -180,6 +181,7 @@ class FirebaseMessagesController extends GetxController {
|
||||
'Trip Cancelled. The cost of the trip will be added to your wallet.'
|
||||
.tr, () {
|
||||
box.write(BoxName.rideStatus, 'Cancel');
|
||||
Log.print('rideStatus from 184 : ${box.read(BoxName.rideStatus)}');
|
||||
Get.offAll(HomeCaptain());
|
||||
});
|
||||
// cancelTripDialog1();
|
||||
@@ -341,6 +343,8 @@ class FirebaseMessagesController extends GetxController {
|
||||
title: 'Ok'.tr,
|
||||
onPressed: () {
|
||||
box.write(BoxName.rideStatus, 'Cancel');
|
||||
Log.print(
|
||||
'rideStatus from 347 : ${box.read(BoxName.rideStatus)}');
|
||||
Get.offAll(HomeCaptain());
|
||||
}));
|
||||
}
|
||||
@@ -356,6 +360,8 @@ class FirebaseMessagesController extends GetxController {
|
||||
title: 'Ok'.tr,
|
||||
onPressed: () {
|
||||
box.write(BoxName.rideStatus, 'Cancel');
|
||||
Log.print(
|
||||
'rideStatus from 364 : ${box.read(BoxName.rideStatus)}');
|
||||
Get.offAll(HomeCaptain());
|
||||
}));
|
||||
}
|
||||
@@ -405,7 +411,7 @@ class FirebaseMessagesController extends GetxController {
|
||||
Future<void> onInit() async {
|
||||
super.onInit();
|
||||
try {
|
||||
var encryptedKey = await storage.read(key: 'FCM_PRIVATE_KEY');
|
||||
var encryptedKey = await storage.read(key: BoxName.FCM_PRIVATE_KEY);
|
||||
// Log.print('encryptedKey: ${encryptedKey}');
|
||||
if (encryptedKey != null) {
|
||||
serviceAccountKeyJson =
|
||||
@@ -707,33 +713,40 @@ class FirebaseMessagesController extends GetxController {
|
||||
if (response.statusCode == 200) {
|
||||
print(
|
||||
'Notification sent successfully. Status code: ${response.statusCode}');
|
||||
print('Response body: ${response.body}');
|
||||
} else if (response.statusCode == 404) {
|
||||
// Handle UNREGISTERED token
|
||||
final responseBody = jsonDecode(response.body);
|
||||
final errorCode = responseBody['error']['details']?[0]?['errorCode'];
|
||||
|
||||
if (errorCode == 'UNREGISTERED') {
|
||||
print('Token is unregistered/invalid: $token');
|
||||
// Remove token from your database
|
||||
await removeInvalidToken(token);
|
||||
return; // Don't retry for invalid tokens
|
||||
}
|
||||
} else {
|
||||
print(
|
||||
'Failed to send notification. Status code: ${response.statusCode}');
|
||||
|
||||
print('Response body: ${response.body}');
|
||||
|
||||
if (retryCount > 0) {
|
||||
print('Retrying... Attempts remaining: $retryCount');
|
||||
await Future.delayed(
|
||||
const Duration(seconds: 2)); // Optional delay before retrying
|
||||
return sendNotificationToPassengerTokenCALL(
|
||||
title, body, token, data, tone,
|
||||
await Future.delayed(const Duration(seconds: 2));
|
||||
return sendNotificationToDriverMAP(title, body, token, data, tone,
|
||||
retryCount: retryCount - 1);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
print('Error sending notification: $e');
|
||||
if (retryCount > 0) {
|
||||
print('Retrying... Attempts remaining: $retryCount');
|
||||
await Future.delayed(
|
||||
const Duration(seconds: 2)); // Optional delay before retrying
|
||||
return sendNotificationToPassengerTokenCALL(
|
||||
title, body, token, data, tone,
|
||||
retryCount: retryCount - 1);
|
||||
}
|
||||
// ... existing error handling ...
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> removeInvalidToken(String token) async {
|
||||
// Remove token from your database/storage
|
||||
// This prevents future attempts to send to invalid tokens
|
||||
print('Removing invalid token from database: $token');
|
||||
// Your database cleanup logic here
|
||||
}
|
||||
}
|
||||
|
||||
class OverlayContent extends StatelessWidget {
|
||||
|
||||
@@ -522,7 +522,7 @@ class NotificationController extends GetxController {
|
||||
if (data is String) {
|
||||
var orderData = jsonDecode(data);
|
||||
if (orderData is List && orderData.length == 34) {
|
||||
closeOverLay();
|
||||
//closeOverLay();
|
||||
Get.put(HomeCaptainController()).changeRideId();
|
||||
Get.to(() => OrderRequestPage(), arguments: {'myListString': data});
|
||||
} else {
|
||||
@@ -537,7 +537,7 @@ class NotificationController extends GetxController {
|
||||
if (data is String) {
|
||||
var orderData = jsonDecode(data);
|
||||
if (orderData is List && orderData.length == 34) {
|
||||
closeOverLay();
|
||||
//closeOverLay();
|
||||
Get.put(HomeCaptainController()).changeRideId();
|
||||
Get.to(() => OrderRequestPage(), arguments: {'myListString': data});
|
||||
} else {
|
||||
@@ -550,7 +550,7 @@ class NotificationController extends GetxController {
|
||||
|
||||
void _handleADSNotification() {
|
||||
// var orderData = jsonDecode(data);
|
||||
closeOverLay();
|
||||
//closeOverLay();
|
||||
Get.to(
|
||||
() => const NotificationCaptain(),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user