garuntee no notifications while using app for nix
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
Dan Ballard 2022-02-23 11:27:15 -08:00
parent 5e7272b15a
commit 152f5fbc96
1 changed files with 6 additions and 4 deletions

View File

@ -81,7 +81,7 @@ class NixNotificationManager implements NotificationsManager {
NixNotificationManager(Future<void> Function(String, int) notificationSelectConvo) { NixNotificationManager(Future<void> Function(String, int) notificationSelectConvo) {
this.notificationSelectConvo = notificationSelectConvo; this.notificationSelectConvo = notificationSelectConvo;
flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
final MacOSInitializationSettings initializationSettingsMacOS = MacOSInitializationSettings(defaultPresentSound: true); final MacOSInitializationSettings initializationSettingsMacOS = MacOSInitializationSettings(defaultPresentSound: false);
final LinuxInitializationSettings initializationSettingsLinux = final LinuxInitializationSettings initializationSettingsLinux =
LinuxInitializationSettings(defaultActionName: 'Open notification', defaultIcon: AssetsLinuxIcon('assets/knott.png'), defaultSuppressSound: true); LinuxInitializationSettings(defaultActionName: 'Open notification', defaultIcon: AssetsLinuxIcon('assets/knott.png'), defaultSuppressSound: true);
@ -99,9 +99,11 @@ class NixNotificationManager implements NotificationsManager {
} }
Future<void> notify(String message, String profile, int conversationId) async { Future<void> notify(String message, String profile, int conversationId) async {
// Warning: Only use title field on Linux, body field will render links as clickable if (!globalAppState.focus) {
await flutterLocalNotificationsPlugin.show(0, message, '', NotificationDetails(linux: LinuxNotificationDetails(suppressSound: true, category: LinuxNotificationCategory.imReceived())), // Warning: Only use title field on Linux, body field will render links as clickable
payload: jsonEncode(NotificationPayload(profile, conversationId))); await flutterLocalNotificationsPlugin.show(0, message, '', NotificationDetails(linux: LinuxNotificationDetails(suppressSound: true, category: LinuxNotificationCategory.imReceived())),
payload: jsonEncode(NotificationPayload(profile, conversationId)));
}
} }
// Notification click response function, triggers ui jump to conversation // Notification click response function, triggers ui jump to conversation