mirror of
https://github.com/BlueBubblesApp/bluebubbles-app.git
synced 2025-08-06 19:44:08 +08:00
Use new ServerPayload parser with all FCM messages
This commit is contained in:
@ -91,7 +91,8 @@ class MethodChannelService extends GetxService {
|
|||||||
Logger.info("Received ${call.method} from FCM");
|
Logger.info("Received ${call.method} from FCM");
|
||||||
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
if (!isNullOrEmpty(data)!) {
|
if (!isNullOrEmpty(data)!) {
|
||||||
final item = IncomingItem.fromMap(QueueType.updatedMessage, data!);
|
final payload = ServerPayload.fromJson(data!);
|
||||||
|
final item = IncomingItem.fromMap(QueueType.updatedMessage, payload.data);
|
||||||
await ah.handleNewOrUpdatedChat(item.chat);
|
await ah.handleNewOrUpdatedChat(item.chat);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -100,7 +101,8 @@ class MethodChannelService extends GetxService {
|
|||||||
Logger.info("Received group icon change from FCM");
|
Logger.info("Received group icon change from FCM");
|
||||||
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
if (!isNullOrEmpty(data)!) {
|
if (!isNullOrEmpty(data)!) {
|
||||||
final guid = data!["chats"].first["guid"];
|
final payload = ServerPayload.fromJson(data!);
|
||||||
|
final guid = payload.data["chats"].first["guid"];
|
||||||
final chat = Chat.findOne(guid: guid);
|
final chat = Chat.findOne(guid: guid);
|
||||||
if (chat != null) {
|
if (chat != null) {
|
||||||
await Chat.getIcon(chat);
|
await Chat.getIcon(chat);
|
||||||
@ -109,8 +111,10 @@ class MethodChannelService extends GetxService {
|
|||||||
return true;
|
return true;
|
||||||
case "scheduled-message-error":
|
case "scheduled-message-error":
|
||||||
Logger.info("Received scheduled message error from FCM");
|
Logger.info("Received scheduled message error from FCM");
|
||||||
Map<String, dynamic> data = call.arguments?.cast<String, Object>() ?? {};
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
Chat? chat = Chat.findOne(guid: data["payload"]["chatGuid"]);
|
if (data == null) return true;
|
||||||
|
final payload = ServerPayload.fromJson(data);
|
||||||
|
Chat? chat = Chat.findOne(guid: payload.data["payload"]["chatGuid"]);
|
||||||
if (chat != null) {
|
if (chat != null) {
|
||||||
await notif.createFailedToSend(chat, scheduled: true);
|
await notif.createFailedToSend(chat, scheduled: true);
|
||||||
}
|
}
|
||||||
@ -166,11 +170,12 @@ class MethodChannelService extends GetxService {
|
|||||||
Logger.info("Received chat status change from FCM");
|
Logger.info("Received chat status change from FCM");
|
||||||
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
if (!isNullOrEmpty(data)!) {
|
if (!isNullOrEmpty(data)!) {
|
||||||
Chat? chat = Chat.findOne(guid: data!["chatGuid"]);
|
final payload = ServerPayload.fromJson(data!);
|
||||||
if (chat == null || (data["read"] != true && data["read"] != false)) {
|
Chat? chat = Chat.findOne(guid: payload.data["chatGuid"]);
|
||||||
|
if (chat == null || (payload.data["read"] != true && payload.data["read"] != false)) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
chat.toggleHasUnread(!data["read"]!, privateMark: false);
|
chat.toggleHasUnread(!payload.data["read"]!, privateMark: false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -190,7 +195,8 @@ class MethodChannelService extends GetxService {
|
|||||||
Logger.info("Received legacy incoming facetime from FCM");
|
Logger.info("Received legacy incoming facetime from FCM");
|
||||||
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
if (!isNullOrEmpty(data)!) {
|
if (!isNullOrEmpty(data)!) {
|
||||||
await ActionHandler().handleIncomingFaceTimeCallLegacy(data!);
|
final payload = ServerPayload.fromJson(data!);
|
||||||
|
await ActionHandler().handleIncomingFaceTimeCallLegacy(payload.data);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case "ft-call-status-changed":
|
case "ft-call-status-changed":
|
||||||
@ -199,7 +205,8 @@ class MethodChannelService extends GetxService {
|
|||||||
Logger.info("Received facetime call status change from FCM");
|
Logger.info("Received facetime call status change from FCM");
|
||||||
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
Map<String, dynamic>? data = call.arguments?.cast<String, Object>();
|
||||||
if (!isNullOrEmpty(data)!) {
|
if (!isNullOrEmpty(data)!) {
|
||||||
await ActionHandler().handleFaceTimeStatusChange(data!);
|
final payload = ServerPayload.fromJson(data!);
|
||||||
|
await ActionHandler().handleFaceTimeStatusChange(payload.data);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
case "answer-facetime":
|
case "answer-facetime":
|
||||||
@ -217,7 +224,6 @@ class MethodChannelService extends GetxService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user