ignore fcm messages if keep alive is enabled

This commit is contained in:
zlshames
2024-10-12 07:59:26 -04:00
parent 5908ed9f43
commit ef9945b133
3 changed files with 26 additions and 14 deletions

View File

@ -62,7 +62,7 @@ class MethodChannelService extends GetxService {
socket.restartSocket();
}
return Future.value(true);
case "new-message":
case "new-message": // FCM message
await Database.waitForInit();
Logger.info("Received new message from MethodChannel");
@ -70,6 +70,9 @@ class MethodChannelService extends GetxService {
if (ls.isAlive && socket.socket.connected) {
Logger.debug("App is alive, ignoring new message...");
return Future.value(true);
} else if (!ls.isAlive && ss.settings.keepAppAlive.value) {
Logger.debug("Ignoring FCM message while app is not alive, but keepAppAlive is enabled");
return Future.value(true);
}
try {
@ -96,6 +99,9 @@ class MethodChannelService extends GetxService {
if (ls.isAlive && socket.socket.connected) {
Logger.debug("App is alive, ignoring updated message...");
return Future.value(true);
} else if (!ls.isAlive && ss.settings.keepAppAlive.value) {
Logger.debug("Ignoring FCM message while app is not alive, but keepAppAlive is enabled");
return Future.value(true);
}
try {
@ -140,6 +146,9 @@ class MethodChannelService extends GetxService {
if (ls.isAlive && socket.socket.connected) {
Logger.debug("App is alive, ignoring updated message...");
return Future.value(true);
} else if (!ls.isAlive && ss.settings.keepAppAlive.value) {
Logger.debug("Ignoring FCM message while app is not alive, but keepAppAlive is enabled");
return Future.value(true);
}
try {
@ -162,6 +171,9 @@ class MethodChannelService extends GetxService {
if (ls.isAlive && socket.socket.connected) {
Logger.debug("App is alive, ignoring updated message...");
return Future.value(true);
} else if (!ls.isAlive && ss.settings.keepAppAlive.value) {
Logger.debug("Ignoring FCM message while app is not alive, but keepAppAlive is enabled");
return Future.value(true);
}
try {
@ -337,7 +349,7 @@ class MethodChannelService extends GetxService {
try {
final Map<String, dynamic> jsonData = jsonDecode(data['data']);
await ah.handleSocketEvent(data['event'], jsonData, 'MethodChannel', useQueue: false);
await ah.handleEvent(data['event'], jsonData, 'MethodChannel', useQueue: false);
} catch (e, s) {
return Future.error(e, s);
}