Erweiterungen
This commit is contained in:
1 parent
75787d51ff
commit
279f6cb868
5 files changed
+57
-2
No files matched your search
@@ -1,3 +1,5 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
@@ -9,10 +11,12 @@ import 'package:stadtbote/content_views/messages_page.dart';
|
|||||||
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||||
import 'package:stadtbote/content_views/utils/header_info.dart';
|
import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||||
import 'package:stadtbote/model/job.dart';
|
import 'package:stadtbote/model/job.dart';
|
||||||
|
import 'package:stadtbote/model/log_entry.dart';
|
||||||
import 'package:stadtbote/model/message.dart';
|
import 'package:stadtbote/model/message.dart';
|
||||||
import 'package:stadtbote/model/session_status.dart';
|
import 'package:stadtbote/model/session_status.dart';
|
||||||
import 'package:stadtbote/model/status.dart';
|
import 'package:stadtbote/model/status.dart';
|
||||||
import 'package:stadtbote/popups/infos_popup.dart';
|
import 'package:stadtbote/popups/infos_popup.dart';
|
||||||
|
import 'package:stadtbote/protocoll_messages/device_log.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/logout_message.dart';
|
import 'package:stadtbote/protocoll_messages/logout_message.dart';
|
||||||
import 'package:stadtbote/tools/message_service.dart';
|
import 'package:stadtbote/tools/message_service.dart';
|
||||||
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
||||||
@@ -387,8 +391,13 @@ class _MainPageState extends State<MainPage> {
|
|||||||
MqttCore.instance.publishPayloadMessage('session', logoutMessage.toJson());
|
MqttCore.instance.publishPayloadMessage('session', logoutMessage.toJson());
|
||||||
}
|
}
|
||||||
|
|
||||||
void _test() {
|
void _test() async {
|
||||||
var otto = MyApp.isarInstance;
|
var logEintries = await MyApp.isarInstance.logEntrys.where().findAll();
|
||||||
|
|
||||||
|
var deviceLog = DeviceLog();
|
||||||
|
deviceLog.entries = logEintries;
|
||||||
|
|
||||||
|
var json = jsonEncode(deviceLog.toJson());
|
||||||
|
|
||||||
Util.logInfo('message');
|
Util.logInfo('message');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,5 +23,7 @@ class LogEntry {
|
|||||||
|
|
||||||
LogEntry();
|
LogEntry();
|
||||||
|
|
||||||
|
factory LogEntry.fromJson(Map<String, dynamic> json) => _$LogEntryFromJson(json);
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => _$LogEntryToJson(this);
|
Map<String, dynamic> toJson() => _$LogEntryToJson(this);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
import 'package:stadtbote/model/log_entry.dart';
|
||||||
|
|
||||||
|
part 'device_log.g.dart';
|
||||||
|
|
||||||
|
@JsonSerializable()
|
||||||
|
class DeviceLog {
|
||||||
|
late List<LogEntry> entries;
|
||||||
|
|
||||||
|
DeviceLog();
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => _$DeviceLogToJson(this);
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||||
|
|
||||||
|
part of 'device_log.dart';
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// JsonSerializableGenerator
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
DeviceLog _$DeviceLogFromJson(Map<String, dynamic> json) => DeviceLog()
|
||||||
|
..entries = (json['entries'] as List<dynamic>)
|
||||||
|
.map((e) => LogEntry.fromJson(e as Map<String, dynamic>))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
Map<String, dynamic> _$DeviceLogToJson(DeviceLog instance) => <String, dynamic>{
|
||||||
|
'entries': instance.entries,
|
||||||
|
};
|
||||||
@@ -7,11 +7,13 @@ import 'package:isar/isar.dart';
|
|||||||
import 'package:mqtt_client/mqtt_client.dart';
|
import 'package:mqtt_client/mqtt_client.dart';
|
||||||
import 'package:mqtt_client/mqtt_server_client.dart';
|
import 'package:mqtt_client/mqtt_server_client.dart';
|
||||||
import 'package:stadtbote/model/enqueued_message.dart';
|
import 'package:stadtbote/model/enqueued_message.dart';
|
||||||
|
import 'package:stadtbote/model/log_entry.dart';
|
||||||
import 'package:stadtbote/model/ranking.dart';
|
import 'package:stadtbote/model/ranking.dart';
|
||||||
import 'package:stadtbote/model/status.dart';
|
import 'package:stadtbote/model/status.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/acknowledge_job.dart';
|
import 'package:stadtbote/protocoll_messages/acknowledge_job.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart';
|
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
|
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
|
||||||
|
import 'package:stadtbote/protocoll_messages/device_log.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/device_object.dart';
|
import 'package:stadtbote/protocoll_messages/device_object.dart';
|
||||||
import 'package:stadtbote/model/job.dart';
|
import 'package:stadtbote/model/job.dart';
|
||||||
import 'package:stadtbote/model/message.dart';
|
import 'package:stadtbote/model/message.dart';
|
||||||
@@ -204,6 +206,10 @@ class MqttCore {
|
|||||||
_messageMessageReceived(payloadData);
|
_messageMessageReceived(payloadData);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "device_log":
|
||||||
|
_messageDeviceLogReceived(payloadData);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Util.logInfo('Unknown topic: $payloadEntry');
|
Util.logInfo('Unknown topic: $payloadEntry');
|
||||||
break;
|
break;
|
||||||
@@ -318,6 +324,15 @@ class MqttCore {
|
|||||||
MessageService().publish<MessageReceivedMessage>(Constants.messageTopicMessageReceived, arguments: MessageReceivedMessage(message: newMessage));
|
MessageService().publish<MessageReceivedMessage>(Constants.messageTopicMessageReceived, arguments: MessageReceivedMessage(message: newMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _messageDeviceLogReceived(payloadData) async {
|
||||||
|
var logEintries = await MyApp.isarInstance.logEntrys.where().findAll();
|
||||||
|
|
||||||
|
var deviceLog = DeviceLog();
|
||||||
|
deviceLog.entries = logEintries;
|
||||||
|
|
||||||
|
MqttCore.instance.publishPayloadMessage("device_log", deviceLog.toJson());
|
||||||
|
}
|
||||||
|
|
||||||
void _startReconnectTimer() {
|
void _startReconnectTimer() {
|
||||||
connectionState = ConnectionStateEnum.notConnected;
|
connectionState = ConnectionStateEnum.notConnected;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user