From 7509c20a628d3996bba333c7c42bfe08fda99c3e Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Fri, 18 Feb 2022 15:50:34 -0800 Subject: [PATCH] make NixNotificationManager using flutter_local_notification --- assets/knott.png | Bin 48787 -> 51791 bytes lib/cwtch/cwtchNotifier.dart | 8 +-- lib/main.dart | 67 +++++++++++++---------- lib/notification_manager.dart | 98 ++++++++++++++++++++++++---------- pubspec.lock | 39 ++++++++++---- pubspec.yaml | 5 +- 6 files changed, 147 insertions(+), 70 deletions(-) diff --git a/assets/knott.png b/assets/knott.png index 148b91a1d7fd7e9eaf8cf8033856e25adec2481a..e50812f7eb4da511c0964c3a9a061ee0ae140181 100644 GIT binary patch literal 51791 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 z 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 literal 48787 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 diff --git a/lib/cwtch/cwtchNotifier.dart b/lib/cwtch/cwtchNotifier.dart index 63e28097..1bb5922c 100644 --- a/lib/cwtch/cwtchNotifier.dart +++ b/lib/cwtch/cwtchNotifier.dart @@ -165,10 +165,10 @@ class CwtchNotifier { var notification = data["notification"]; if (notification == "SimpleEvent") { - notificationManager.notify(notificationSimple ?? "New Message"); + notificationManager.notify(notificationSimple ?? "New Message", "", 0); } else if (notification == "ContactInfo") { var contact = profileCN.getProfile(data["ProfileOnion"])?.contactList.getContact(identifier); - notificationManager.notify((notificationConversationInfo ?? "New Message from %1").replaceFirst("%1", (contact?.nickname ?? senderHandle.toString()))); + notificationManager.notify((notificationConversationInfo ?? "New Message from %1").replaceFirst("%1", (contact?.nickname ?? senderHandle.toString())), data["ProfileOnion"], identifier); } profileCN.getProfile(data["ProfileOnion"])?.newMessage( @@ -242,10 +242,10 @@ class CwtchNotifier { profileCN.getProfile(data["ProfileOnion"])?.newMessage(identifier, idx, timestampSent, senderHandle, senderImage, isAuto, data["Data"], contenthash, selectedProfile, selectedConversation); if (notification == "SimpleEvent") { - notificationManager.notify(notificationSimple ?? "New Message"); + notificationManager.notify(notificationSimple ?? "New Message", "", 0); } else if (notification == "ContactInfo") { var contact = profileCN.getProfile(data["ProfileOnion"])?.contactList.getContact(identifier); - notificationManager.notify((notificationConversationInfo ?? "New Message from %1").replaceFirst("%1", (contact?.nickname ?? senderHandle.toString()))); + notificationManager.notify((notificationConversationInfo ?? "New Message from %1").replaceFirst("%1", (contact?.nickname ?? senderHandle.toString())), data["ProfileOnion"], identifier); } appState.notifyProfileUnread(); } diff --git a/lib/main.dart b/lib/main.dart index e9f1b98d..d7c0021e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:cwtch/config.dart'; import 'package:cwtch/notification_manager.dart'; import 'package:cwtch/themes/cwtch.dart'; +import 'package:cwtch/views/doublecolview.dart'; import 'package:cwtch/views/messageview.dart'; import 'package:flutter/foundation.dart'; import 'package:cwtch/cwtch/ffi.dart'; @@ -17,8 +18,11 @@ import 'cwtch/cwtch.dart'; import 'cwtch/cwtchNotifier.dart'; import 'licenses.dart'; import 'models/appstate.dart'; +import 'models/contactlist.dart'; +import 'models/profile.dart'; import 'models/profilelist.dart'; import 'models/servers.dart'; +import 'views/contactsview.dart'; import 'views/profilemgrview.dart'; import 'views/splashView.dart'; import 'dart:io' show Platform, exit, sleep; @@ -78,10 +82,10 @@ class FlwtchState extends State with WindowListener { var cwtchNotifier = new CwtchNotifier(profs, globalSettings, globalErrorHandler, globalTorStatus, NullNotificationsManager(), globalAppState, globalServersList); cwtch = CwtchGomobile(cwtchNotifier); } else if (Platform.isLinux) { - var cwtchNotifier = new CwtchNotifier(profs, globalSettings, globalErrorHandler, globalTorStatus, newDesktopNotificationsManager(), globalAppState, globalServersList); + var cwtchNotifier = new CwtchNotifier(profs, globalSettings, globalErrorHandler, globalTorStatus, newDesktopNotificationsManager(_notificationSelectConvo), globalAppState, globalServersList); cwtch = CwtchFfi(cwtchNotifier); } else { - var cwtchNotifier = new CwtchNotifier(profs, globalSettings, globalErrorHandler, globalTorStatus, newDesktopNotificationsManager(), globalAppState, globalServersList); + var cwtchNotifier = new CwtchNotifier(profs, globalSettings, globalErrorHandler, globalTorStatus, newDesktopNotificationsManager(_notificationSelectConvo), globalAppState, globalServersList); cwtch = CwtchFfi(cwtchNotifier); } print("initState: invoking cwtch.Start()"); @@ -182,36 +186,43 @@ class FlwtchState extends State with WindowListener { // coder beware: args["RemotePeer"] is actually a handle, and could be eg a groupID Future _externalNotificationClicked(MethodCall call) async { var args = jsonDecode(call.arguments); - var profile = profs.getProfile(args["ProfileOnion"])!; - var convo = profile.contactList.getContact(args["Handle"])!; + _notificationSelectConvo(args["ProfileOnion"], args["Handle"]); + } + + Future _notificationSelectConvo(String profileOnion, int convoId) async { + var profile = profs.getProfile(profileOnion)!; + var convo = profile.contactList.getContact(convoId)!; + if (profileOnion.isEmpty) { + return; + } Provider.of(navKey.currentContext!, listen: false).initialScrollIndex = convo.unreadMessages; convo.unreadMessages = 0; - // single pane mode pushes; double pane mode reads AppState.selectedProfile/Conversation - var isLandscape = Provider.of(navKey.currentContext!, listen: false).isLandscape(navKey.currentContext!); - if (Provider.of(navKey.currentContext!, listen: false).uiColumns(isLandscape).length == 1) { - while (navKey.currentState!.canPop()) { - print("messageview already open; popping before pushing replacement"); - navKey.currentState!.pop(); - } - navKey.currentState?.push( - MaterialPageRoute( - builder: (BuildContext builderContext) { - return MultiProvider( - providers: [ - ChangeNotifierProvider.value(value: profile), - ChangeNotifierProvider.value(value: convo), - ], - builder: (context, child) => MessageView(), - ); - }, - ), - ); - } else { - //dual pane - Provider.of(navKey.currentContext!, listen: false).selectedProfile = args["ProfileOnion"]; - Provider.of(navKey.currentContext!, listen: false).selectedConversation = args["Handle"]; + // Clear nav path back to root + while (navKey.currentState!.canPop()) { + navKey.currentState!.pop(); } + + Provider.of(navKey.currentContext!, listen: false).selectedConversation = null; + Provider.of(navKey.currentContext!, listen: false).selectedProfile = profileOnion; + Provider.of(navKey.currentContext!, listen: false).selectedConversation = convoId; + + Navigator.of(navKey.currentContext!).push( + MaterialPageRoute( + settings: RouteSettings(name: "conversations"), + builder: (BuildContext buildcontext) { + return OrientationBuilder(builder: (orientationBuilderContext, orientation) { + return MultiProvider( + providers: [ChangeNotifierProvider.value(value: profile), ChangeNotifierProvider.value(value: profile.contactList)], + builder: (innercontext, widget) { + var appState = Provider.of(navKey.currentContext!); + var settings = Provider.of(navKey.currentContext!); + return settings.uiColumns(appState.isLandscape(innercontext)).length > 1 ? DoubleColumnView() : MessageView(); + }); + }); + }, + ), + ); } // using windowManager flutter plugin until proper lifecycle management lands in desktop diff --git a/lib/notification_manager.dart b/lib/notification_manager.dart index 91d6ada8..8461099e 100644 --- a/lib/notification_manager.dart +++ b/lib/notification_manager.dart @@ -1,38 +1,24 @@ import 'dart:async'; +import 'dart:convert'; import 'dart:io'; import 'package:cwtch/main.dart'; import 'package:win_toast/win_toast.dart'; import 'package:desktop_notifications/desktop_notifications.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:path/path.dart' as path; import 'config.dart'; // NotificationsManager provides a wrapper around platform specific notifications logic. abstract class NotificationsManager { - Future notify(String message); + Future notify(String message, String profile, int conversationId); } // NullNotificationsManager ignores all notification requests class NullNotificationsManager implements NotificationsManager { @override - Future notify(String message) async {} -} - -// LinuxNotificationsManager uses the desktop_notifications package to implement -// the standard dbus-powered linux desktop notifications. -class LinuxNotificationsManager implements NotificationsManager { - int previous_id = 0; - late NotificationsClient client; - - LinuxNotificationsManager(NotificationsClient client) { - this.client = client; - } - - Future notify(String message) async { - var iconPath = Uri.file(path.join(path.current, "cwtch.png")); - client.notify(message, appName: "cwtch", appIcon: iconPath.toString(), replacesId: this.previous_id).then((Notification value) => previous_id = value.id); - } + Future notify(String message, String profile, int conversationId) async {} } // Windows Notification Manager uses https://pub.dev/packages/desktoasts to implement @@ -47,7 +33,7 @@ class WindowsNotificationManager implements NotificationsManager { }); } - Future notify(String message) async { + Future notify(String message, String profile, int conversationId) async { if (initialized && !globalAppState.focus) { if (!active) { active = true; @@ -64,16 +50,73 @@ class WindowsNotificationManager implements NotificationsManager { } } -NotificationsManager newDesktopNotificationsManager() { - if (Platform.isLinux) { +class NotificationPayload { + late String profileOnion; + late int convoId; + + NotificationPayload(String po, int cid) { + profileOnion = po; + convoId = cid; + } + + NotificationPayload.fromJson(Map json) + : profileOnion = json['profileOnion'], + convoId = json['convoId']; + + Map toJson() => { + 'profileOnion': profileOnion, + 'convoId': convoId, + }; +} + +// FlutterLocalNotificationsPlugin based NotificationManager that handles Linux and MacOS +// Todo: it can also handle Android, do we want to migrate away from our manual solution? +class NixNotificationManager implements NotificationsManager { + late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin; + late Future Function(String, int) notificationSelectConvo; + + NixNotificationManager(Future Function(String, int) notificationSelectConvo) { + this.notificationSelectConvo = notificationSelectConvo; + flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); + final MacOSInitializationSettings initializationSettingsMacOS = MacOSInitializationSettings(); + final LinuxInitializationSettings initializationSettingsLinux = + LinuxInitializationSettings( + defaultActionName: 'Open notification', + defaultIcon: AssetsLinuxIcon('assets/knott.png'), + ); + + final InitializationSettings initializationSettings = InitializationSettings(android: null, iOS: null, macOS: initializationSettingsMacOS, linux: initializationSettingsLinux); + + flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation()?.requestPermissions( + alert: true, + badge: true, + sound: true, + ); + + scheduleMicrotask(() async { + await flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: selectNotification); + }); + } + + void selectNotification(String? payloadJson) async { + if (payloadJson != null) { + Map payloadMap = jsonDecode(payloadJson); + var payload = NotificationPayload.fromJson(payloadMap); + notificationSelectConvo(payload.profileOnion, payload.convoId); + } +} + + Future notify(String message, String profile, int conversationId) async { + await flutterLocalNotificationsPlugin.show(0, 'Cwtch', message, null, payload: jsonEncode(NotificationPayload(profile, conversationId))); + } +} + +NotificationsManager newDesktopNotificationsManager(Future Function(String profileOnion, int convoId) notificationSelectConvo) { + if (Platform.isLinux || Platform.isMacOS) { try { - // Test that we can actually access DBUS. Otherwise return a null - // notifications manager... - NotificationsClient client = NotificationsClient(); - client.getCapabilities(); - return LinuxNotificationsManager(client); + return NixNotificationManager(notificationSelectConvo); } catch (e) { - EnvironmentConfig.debugLog("Attempted to access DBUS for notifications but failed. Switching off notifications."); + EnvironmentConfig.debugLog("Failed to create NixNotificationManager. Switching off notifications."); } } else if (Platform.isWindows) { try { @@ -82,5 +125,6 @@ NotificationsManager newDesktopNotificationsManager() { EnvironmentConfig.debugLog("Failed to create Windows desktoasts notification manager"); } } + return NullNotificationsManager(); } diff --git a/pubspec.lock b/pubspec.lock index c3459757..2a4d1f66 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -189,14 +189,14 @@ packages: name: dbus url: "https://pub.dartlang.org" source: hosted - version: "0.5.6" + version: "0.6.8" desktop_notifications: dependency: "direct main" description: name: desktop_notifications url: "https://pub.dartlang.org" source: hosted - version: "0.5.0" + version: "0.6.0" fake_async: dependency: transitive description: @@ -256,6 +256,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.0-rc.9" + flutter_local_notifications: + dependency: "direct main" + description: + name: flutter_local_notifications + url: "https://pub.dartlang.org" + source: hosted + version: "9.3.2" + flutter_local_notifications_linux: + dependency: transitive + description: + name: flutter_local_notifications_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.1+1" + flutter_local_notifications_platform_interface: + dependency: transitive + description: + name: flutter_local_notifications_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -519,13 +540,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.5" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.1" petitparser: dependency: transitive description: @@ -671,6 +685,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.4.3" + timezone: + dependency: transitive + description: + name: timezone + url: "https://pub.dartlang.org" + source: hosted + version: "0.8.0" timing: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 706c652d..f5d90737 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,7 +34,6 @@ dependencies: cupertino_icons: ^1.0.0 ffi: ^1.0.0 path_provider: ^2.0.0 - desktop_notifications: 0.5.0 crypto: 3.0.1 glob: any @@ -42,8 +41,10 @@ dependencies: file_picker: ^4.3.2 file_picker_desktop: ^1.1.0 url_launcher: ^6.0.18 - win_toast: ^0.0.2 window_manager: ^0.1.4 + desktop_notifications: 0.6.0 + win_toast: ^0.0.2 + flutter_local_notifications: 9.3.2 dev_dependencies: msix: ^2.1.3