feat: support Android notification channels

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
This commit is contained in:
TheOneWithTheBraid 2022-12-14 14:38:32 +01:00
parent 31a51b0a85
commit 7806deb46f
5 changed files with 30 additions and 14 deletions

View file

@ -48,16 +48,20 @@ Future<void> pushHelper(
l10n?.newMessageInFluffyChat, l10n?.newMessageInFluffyChat,
l10n?.openAppToReadMessages, l10n?.openAppToReadMessages,
NotificationDetails( NotificationDetails(
iOS: const DarwinNotificationDetails(), iOS: const DarwinNotificationDetails(),
android: AndroidNotificationDetails( android: AndroidNotificationDetails(
AppConfig.pushNotificationsChannelId, notification.roomId ?? AppConfig.pushNotificationsChannelId,
AppConfig.pushNotificationsChannelName, notification.roomName ?? AppConfig.pushNotificationsChannelName,
channelDescription: AppConfig.pushNotificationsChannelDescription, channelDescription: notification.roomName ??
number: notification.counts?.unread, AppConfig.pushNotificationsChannelDescription,
ticker: l10n!.unreadChats(notification.counts?.unread ?? 1), groupAlertBehavior: GroupAlertBehavior.summary,
importance: Importance.max, category: AndroidNotificationCategory.message,
priority: Priority.high, number: notification.counts?.unread,
)), ticker: l10n!.unreadChats(notification.counts?.unread ?? 1),
importance: Importance.max,
priority: Priority.high,
),
),
); );
rethrow; rethrow;
} }

View file

@ -11,6 +11,7 @@
#include <emoji_picker_flutter/emoji_picker_flutter_plugin.h> #include <emoji_picker_flutter/emoji_picker_flutter_plugin.h>
#include <file_selector_linux/file_selector_plugin.h> #include <file_selector_linux/file_selector_plugin.h>
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h> #include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
#include <flutter_webrtc/flutter_web_r_t_c_plugin.h>
#include <handy_window/handy_window_plugin.h> #include <handy_window/handy_window_plugin.h>
#include <record_linux/record_linux_plugin.h> #include <record_linux/record_linux_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h> #include <url_launcher_linux/url_launcher_plugin.h>
@ -31,6 +32,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
g_autoptr(FlPluginRegistrar) flutter_webrtc_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterWebRTCPlugin");
flutter_web_r_t_c_plugin_register_with_registrar(flutter_webrtc_registrar);
g_autoptr(FlPluginRegistrar) handy_window_registrar = g_autoptr(FlPluginRegistrar) handy_window_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "HandyWindowPlugin"); fl_plugin_registry_get_registrar_for_plugin(registry, "HandyWindowPlugin");
handy_window_plugin_register_with_registrar(handy_window_registrar); handy_window_plugin_register_with_registrar(handy_window_registrar);

View file

@ -8,6 +8,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
emoji_picker_flutter emoji_picker_flutter
file_selector_linux file_selector_linux
flutter_secure_storage_linux flutter_secure_storage_linux
flutter_webrtc
handy_window handy_window
record_linux record_linux
url_launcher_linux url_launcher_linux

View file

@ -273,7 +273,7 @@ packages:
name: dart_webrtc name: dart_webrtc
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.11" version: "1.0.12"
dbus: dbus:
dependency: transitive dependency: transitive
description: description:
@ -685,7 +685,7 @@ packages:
name: flutter_webrtc name: flutter_webrtc
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.9.14" version: "0.9.18"
fuchsia_remote_debug_protocol: fuchsia_remote_debug_protocol:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -1230,6 +1230,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
platform_detect:
dependency: transitive
description:
name: platform_detect
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.7"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:

View file

@ -47,7 +47,7 @@ dependencies:
flutter_secure_storage: ^6.0.0 flutter_secure_storage: ^6.0.0
flutter_typeahead: ^4.0.0 flutter_typeahead: ^4.0.0
flutter_web_auth: ^0.5.0 flutter_web_auth: ^0.5.0
flutter_webrtc: 0.9.14 # Pinned because >0.9.14 add Linux support which lets build fail flutter_webrtc: ^0.9.18
future_loading_dialog: ^0.2.3 future_loading_dialog: ^0.2.3
geolocator: ^7.6.2 geolocator: ^7.6.2
handy_window: ^0.1.6 handy_window: ^0.1.6
@ -89,7 +89,7 @@ dependencies:
video_player: ^2.2.18 video_player: ^2.2.18
vrouter: ^1.2.0+21 vrouter: ^1.2.0+21
wakelock: ^0.6.1+1 wakelock: ^0.6.1+1
webrtc_interface: ^1.0.8 webrtc_interface: ^1.0.10
dev_dependencies: dev_dependencies:
dart_code_metrics: ^4.10.1 dart_code_metrics: ^4.10.1