Implemented structure for push Notifications

This commit is contained in:
2023-08-19 17:04:45 +02:00
parent 9c5b04cfc6
commit 1a172d3d86
28 changed files with 567 additions and 46 deletions

View File

@ -5,6 +5,7 @@ import '../file/fileSettings.dart';
import '../fileView/fileViewSettings.dart';
import '../gradeAverages/gradeAveragesSettings.dart';
import '../holidays/holidaysSettings.dart';
import '../notification/notificationSettings.dart';
import '../talk/talkSettings.dart';
import '../timetable/timetableSettings.dart';
@ -25,6 +26,7 @@ class Settings {
FileSettings fileSettings;
HolidaysSettings holidaysSettings;
FileViewSettings fileViewSettings;
NotificationSettings notificationSettings;
Settings({
required this.appTheme,
@ -35,6 +37,7 @@ class Settings {
required this.fileSettings,
required this.holidaysSettings,
required this.fileViewSettings,
required this.notificationSettings,
});
static String _themeToJson(ThemeMode m) => m.name;

View File

@ -21,6 +21,8 @@ Settings _$SettingsFromJson(Map<String, dynamic> json) => Settings(
json['holidaysSettings'] as Map<String, dynamic>),
fileViewSettings: FileViewSettings.fromJson(
json['fileViewSettings'] as Map<String, dynamic>),
notificationSettings: NotificationSettings.fromJson(
json['notificationSettings'] as Map<String, dynamic>),
);
Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
@ -32,4 +34,5 @@ Map<String, dynamic> _$SettingsToJson(Settings instance) => <String, dynamic>{
'fileSettings': instance.fileSettings.toJson(),
'holidaysSettings': instance.holidaysSettings.toJson(),
'fileViewSettings': instance.fileViewSettings.toJson(),
'notificationSettings': instance.notificationSettings.toJson(),
};

View File

@ -0,0 +1,14 @@
import 'package:json_annotation/json_annotation.dart';
part 'notificationSettings.g.dart';
@JsonSerializable()
class NotificationSettings {
bool askUsageDismissed;
bool enabled;
NotificationSettings({required this.askUsageDismissed, required this.enabled});
factory NotificationSettings.fromJson(Map<String, dynamic> json) => _$NotificationSettingsFromJson(json);
Map<String, dynamic> toJson() => _$NotificationSettingsToJson(this);
}

View File

@ -0,0 +1,21 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'notificationSettings.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
NotificationSettings _$NotificationSettingsFromJson(
Map<String, dynamic> json) =>
NotificationSettings(
askUsageDismissed: json['askUsageDismissed'] as bool,
enabled: json['enabled'] as bool,
);
Map<String, dynamic> _$NotificationSettingsToJson(
NotificationSettings instance) =>
<String, dynamic>{
'askUsageDismissed': instance.askUsageDismissed,
'enabled': instance.enabled,
};