TF-2384 Handle open email detailed when click notification on terminated mode

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit d59ed90fa89755f476150eaee7527282ef0bae7a)
This commit is contained in:
dab246
2023-12-25 12:21:55 +07:00
committed by Dat H. Pham
parent 84b7239ad0
commit ff3af007e0
3 changed files with 45 additions and 3 deletions
@@ -33,7 +33,7 @@ class FcmReceiver {
if (PlatformInfo.isIOS) {
notificationInteractionChannel.setMethodCallHandler((call) async {
log('FcmReceiver::onInitialFcmListener:notificationInteractionChannel: $call');
if (call.method == 'openEmail') {
if (call.method == 'openEmail' && call.arguments is String) {
log('FcmReceiver::onInitialFcmListener:openEmail with id = ${call.arguments}');
FcmService.instance.handleOpenEmailFromNotification(call.arguments);
}
@@ -72,4 +72,18 @@ class FcmReceiver {
Future deleteFcmToken() async {
await FirebaseMessaging.instance.deleteToken();
}
Future<Map<String, dynamic>?> getIOSInitialNotificationInfo() async {
try {
final notificationInfo = await notificationInteractionChannel.invokeMethod('getInitialNotificationInfo');
log('FcmReceiver::getIOSInitialNotificationInfo:notificationInfo: $notificationInfo');
if (notificationInfo != null && notificationInfo is Map<String, dynamic>) {
return notificationInfo;
}
return null;
} catch (e) {
logError('FcmReceiver::getIOSInitialNotificationInfo: Exception: $e');
return null;
}
}
}