implemented an E2E-encrypted Nextcloud push-v2 notification system with support for RSA decryption and signature verification; introduced an iOS Notification Service Extension and native AppDelegate handlers for Talk actions (inline reply and mark-as-read); replaced the legacy notification registration with a new lifecycle managing app passwords and secure keypair storage; added background message handling with tray synchronization and a test notification utility in the settings.
This commit is contained in:
@@ -4,13 +4,13 @@ part 'notification_settings.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class NotificationSettings {
|
||||
bool askUsageDismissed;
|
||||
/// Whether push notifications are enabled. Defaults to `true` — the OS
|
||||
/// permission prompt at login is now the gate, so there is no separate
|
||||
/// in-app opt-in step anymore.
|
||||
@JsonKey(defaultValue: true)
|
||||
bool enabled;
|
||||
|
||||
NotificationSettings({
|
||||
required this.askUsageDismissed,
|
||||
required this.enabled,
|
||||
});
|
||||
NotificationSettings({this.enabled = true});
|
||||
|
||||
factory NotificationSettings.fromJson(Map<String, dynamic> json) =>
|
||||
_$NotificationSettingsFromJson(json);
|
||||
|
||||
@@ -8,14 +8,8 @@ part of 'notification_settings.dart';
|
||||
|
||||
NotificationSettings _$NotificationSettingsFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => NotificationSettings(
|
||||
askUsageDismissed: json['askUsageDismissed'] as bool,
|
||||
enabled: json['enabled'] as bool,
|
||||
);
|
||||
) => NotificationSettings(enabled: json['enabled'] as bool? ?? true);
|
||||
|
||||
Map<String, dynamic> _$NotificationSettingsToJson(
|
||||
NotificationSettings instance,
|
||||
) => <String, dynamic>{
|
||||
'askUsageDismissed': instance.askUsageDismissed,
|
||||
'enabled': instance.enabled,
|
||||
};
|
||||
) => <String, dynamic>{'enabled': instance.enabled};
|
||||
|
||||
Reference in New Issue
Block a user