import 'dart:io'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; class NotificationService { static final NotificationService instance = NotificationService._privateConstructor(); NotificationService._privateConstructor(); final FlutterLocalNotificationsPlugin _flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); Future init() async { if (!Platform.isAndroid) { return; } const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('notification_icon'); final InitializationSettings initializationSettings = InitializationSettings( android: initializationSettingsAndroid, ); await _flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: selectNotification); } Future selectNotification(String payload) async {} Future showNotification(String title, String message) async { if (!Platform.isAndroid) { return; } const AndroidNotificationDetails androidPlatformChannelSpecifics = AndroidNotificationDetails( 'io.ente.photos', 'ente', 'ente alerts', importance: Importance.max, priority: Priority.high, showWhen: false, ); const NotificationDetails platformChannelSpecifics = NotificationDetails(android: androidPlatformChannelSpecifics); await _flutterLocalNotificationsPlugin.show( 0, title, message, platformChannelSpecifics); } }