Erweiterungen
This commit is contained in:
1 parent
2e00b98f10
commit
23693f47a4
4 files changed
+47
-48
No files matched your search
@@ -1,6 +1,6 @@
|
||||
|
||||
class JobDeletedMessage {
|
||||
final int jobId;
|
||||
final int id;
|
||||
|
||||
JobDeletedMessage({required this.jobId});
|
||||
JobDeletedMessage({required this.id});
|
||||
}
|
||||
+42
-42
@@ -2,8 +2,6 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:mqtt_client/mqtt_client.dart';
|
||||
import 'package:mqtt_client/mqtt_server_client.dart';
|
||||
@@ -148,51 +146,55 @@ class MqttCore {
|
||||
void _setupSubscriptions() async {
|
||||
Util.logInfo('_setupSubscriptions called');
|
||||
|
||||
_mqttClient.updates?.listen((List<MqttReceivedMessage<MqttMessage>> c) {
|
||||
_mqttClient.updates?.listen((List<MqttReceivedMessage<MqttMessage>> messages) {
|
||||
try {
|
||||
final MqttPublishMessage message = c[0].payload as MqttPublishMessage;
|
||||
String payload = utf8.decode(MqttPublishPayload.bytesToStringAsString(message.payload.message).codeUnits);
|
||||
var topic = message.variableHeader?.topicName;
|
||||
for (var mqttMessage in messages) {
|
||||
final MqttPublishMessage message = mqttMessage.payload as MqttPublishMessage;
|
||||
String payload = utf8.decode(MqttPublishPayload.bytesToStringAsString(message.payload.message).codeUnits);
|
||||
var topic = message.variableHeader?.topicName;
|
||||
|
||||
Util.logInfo('message received');
|
||||
Util.logInfo('topic: $topic');
|
||||
Util.logInfo('mesage: $payload');
|
||||
if (topic!.endsWith(_clientId)) {
|
||||
Util.logInfo('message received');
|
||||
Util.logInfo('topic: $topic');
|
||||
Util.logInfo('mesage: $payload');
|
||||
|
||||
var topicArray = topic!.split('/');
|
||||
var messageType = topicArray[3];
|
||||
var topicArray = topic.split('/');
|
||||
var messageType = topicArray[3];
|
||||
|
||||
switch(messageType) {
|
||||
case 'session':
|
||||
_sessionMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
switch(messageType) {
|
||||
case 'session':
|
||||
_sessionMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'status':
|
||||
_statusMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
case 'status':
|
||||
_statusMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'ranking':
|
||||
_rankingMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
case 'ranking':
|
||||
_rankingMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'job':
|
||||
_jobMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
case 'job':
|
||||
_jobMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'job_del':
|
||||
_jobDeleteReceived(jsonDecode(payload));
|
||||
break;
|
||||
case 'job_del':
|
||||
_jobDeleteReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'sync_request':
|
||||
_syncRequestReceived(jsonDecode(payload));
|
||||
break;
|
||||
case 'sync_request':
|
||||
_syncRequestReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case "mssg":
|
||||
_messageMessageReceived(payload);
|
||||
break;
|
||||
case "mssg":
|
||||
_messageMessageReceived(payload);
|
||||
break;
|
||||
|
||||
default:
|
||||
Util.logInfo('Unknown topic: $messageType');
|
||||
break;
|
||||
default:
|
||||
Util.logInfo('Unknown topic: $messageType');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch(ex) {
|
||||
Util.logException(ex.toString());
|
||||
@@ -268,13 +270,11 @@ class MqttCore {
|
||||
void _jobDeleteReceived(payloadData) async {
|
||||
var jobDelMessage = JobDelMessage.fromJson(payloadData);
|
||||
|
||||
for(var jobId in jobDelMessage.jobs) {
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.delete(jobId);
|
||||
});
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.delete(jobDelMessage.id);
|
||||
});
|
||||
|
||||
MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(jobId: jobId));
|
||||
}
|
||||
MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id));
|
||||
}
|
||||
|
||||
void _syncRequestReceived(payloadData) async {
|
||||
|
||||
Reference in new issue
Block a user