import 'dart:async'; import 'package:flutter/services.dart'; import 'package:moxplatform_platform_interface/moxplatform_platform_interface.dart'; class AndroidNotificationsImplementation extends NotificationsImplementation { final MoxplatformApi _api = MoxplatformApi(); final EventChannel _channel = const EventChannel('me.polynom/notification_stream'); @override Future createNotificationChannel( String title, String description, String id, bool urgent, ) async { return _api.createNotificationChannel(title, description, id, urgent); } @override Future showMessagingNotification( MessagingNotification notification, ) async { return _api.showMessagingNotification(notification); } @override Future showNotification(RegularNotification notification) async { return _api.showNotification(notification); } @override Future dismissNotification(int id) async { return _api.dismissNotification(id); } @override Future setNotificationSelfAvatar(String path) async { return _api.setNotificationSelfAvatar(path); } @override Future setI18n(NotificationI18nData data) { return _api.setNotificationI18n(data); } @override Stream getEventStream() => _channel .receiveBroadcastStream() .cast() .map(NotificationEvent.decode); }