Notifications (android via local) work

This commit is contained in:
2024-06-15 21:29:51 +02:00
parent e6fbf85e6e
commit e9ea573e33
39 changed files with 476 additions and 104 deletions

View File

@@ -1,10 +1,10 @@
import 'package:hive_flutter/hive_flutter.dart';
import 'package:simplecloudnotifier/state/interfaces.dart';
part 'message.g.dart';
part 'scn_message.g.dart';
@HiveType(typeId: 105)
class Message extends HiveObject implements FieldDebuggable {
class SCNMessage extends HiveObject implements FieldDebuggable {
@HiveField(0)
final String messageID;
@@ -33,7 +33,7 @@ class Message extends HiveObject implements FieldDebuggable {
@HiveField(21)
final bool trimmed;
Message({
SCNMessage({
required this.messageID,
required this.senderUserID,
required this.channelInternalName,
@@ -49,8 +49,8 @@ class Message extends HiveObject implements FieldDebuggable {
required this.trimmed,
});
factory Message.fromJson(Map<String, dynamic> json) {
return Message(
factory SCNMessage.fromJson(Map<String, dynamic> json) {
return SCNMessage(
messageID: json['message_id'] as String,
senderUserID: json['sender_user_id'] as String,
channelInternalName: json['channel_internal_name'] as String,
@@ -67,10 +67,10 @@ class Message extends HiveObject implements FieldDebuggable {
);
}
static (String, List<Message>) fromPaginatedJsonArray(Map<String, dynamic> data, String keyMessages, String keyToken) {
static (String, List<SCNMessage>) fromPaginatedJsonArray(Map<String, dynamic> data, String keyMessages, String keyToken) {
final npt = data[keyToken] as String;
final messages = (data[keyMessages] as List<dynamic>).map<Message>((e) => Message.fromJson(e as Map<String, dynamic>)).toList();
final messages = (data[keyMessages] as List<dynamic>).map<SCNMessage>((e) => SCNMessage.fromJson(e as Map<String, dynamic>)).toList();
return (npt, messages);
}

View File

@@ -1,22 +1,22 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'message.dart';
part of 'scn_message.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class MessageAdapter extends TypeAdapter<Message> {
class SCNMessageAdapter extends TypeAdapter<SCNMessage> {
@override
final int typeId = 105;
@override
Message read(BinaryReader reader) {
SCNMessage read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return Message(
return SCNMessage(
messageID: fields[0] as String,
senderUserID: fields[10] as String,
channelInternalName: fields[11] as String,
@@ -34,7 +34,7 @@ class MessageAdapter extends TypeAdapter<Message> {
}
@override
void write(BinaryWriter writer, Message obj) {
void write(BinaryWriter writer, SCNMessage obj) {
writer
..writeByte(13)
..writeByte(0)
@@ -71,7 +71,7 @@ class MessageAdapter extends TypeAdapter<Message> {
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is MessageAdapter &&
other is SCNMessageAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}