Client/lib/notification/notificationController.dart

45 lines
1.9 KiB
Dart

import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:provider/provider.dart';
import '../model/chatList/chatListProps.dart';
import '../model/message/messageProps.dart';
class NotificationController {
@pragma('vm:entry-point')
static Future<void> onBackgroundMessageHandler(RemoteMessage message) async {
return; // Displaying the notification is curently done via the Firebase SDK itself. The Message is server-generated.
// log("Handling a background notification: ${message.messageId}");
//
// await Firebase.initializeApp();
// AccountData().waitForPopulation().then((value) {
// log("User account status: $value");
// if(value) {
// GetRoom(
// GetRoomParams(
// includeStatus: false,
// ),
// ).run().then((value) {
// var messageCount = value.data.map((e) => e.unreadMessages).reduce((a, b) => a + b);
// var chatCount = value.data.where((e) => e.unreadMessages > 0).length;
// var people = value.data.where((e) => e.unreadMessages > 0).map((e) => e.displayName.split(" ")[0]);
//
// final NotificationService service = NotificationService();
// service.initializeNotifications().then((value) {
// service.showNotification(
// title: "Du hast $messageCount ungelesene Nachrichten!",
// body: "In $chatCount Chats, von ${people.join(", ")}",
// badgeCount: messageCount,
// );
// });
// });
// }
// });
}
static Future<void> onForegroundMessageHandler(RemoteMessage message, BuildContext context) async {
//NotificationService().showToast(message: "Du hast eine neue Talk Nachricht!", context: context);
Provider.of<ChatListProps>(context, listen: false).run(renew: true);
Provider.of<MessageProps>(context, listen: false).run(renew: true);
}
}