From db93891dc95927c08e6b4e3ac14cd15b331d4b40 Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Mon, 6 May 2024 11:48:24 +0200 Subject: [PATCH] Fehlerkorrekturen --- lib/tools/mqtt_core.dart | 23 +++++++++++++---------- pubspec.yaml | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/tools/mqtt_core.dart b/lib/tools/mqtt_core.dart index 7c06da0..bfd28b4 100644 --- a/lib/tools/mqtt_core.dart +++ b/lib/tools/mqtt_core.dart @@ -167,9 +167,9 @@ class MqttCore { var json = jsonEncode(payloadContainer.toJson()); try { - _publishText(_toServerTopic, json); + _publishText(topic, json); } catch (e) { - _enqueueMessage(_toServerTopic, jsonEncode(payloadContainer.toJson())); + _enqueueMessage(topic, jsonEncode(payloadContainer.toJson())); } } @@ -216,6 +216,10 @@ class MqttCore { _syncRequestReceived(jsonDecode(payload)); break; + case 'location_status': + _locationStatusMessageReceived(jsonDecode(payload)); + break; + case "mssg": _messageMessageReceived(jsonDecode(payload)); break; @@ -235,10 +239,12 @@ class MqttCore { } }); + var fromServerTopic = "$_fromServerTopic#"; + if (await Util.preferencesContainsKey(Constants.prefsPreviousMqttSubscription)) { String previousMqttSubscription = await Util.preferencesGetString(Constants.prefsPreviousMqttSubscription, "") as String; - if (previousMqttSubscription != _fromServerTopic) { + if (previousMqttSubscription != fromServerTopic) { Util.logInfo('topic changed -> unsubscribe from $previousMqttSubscription'); _mqttClient!.unsubscribe(previousMqttSubscription); } @@ -246,14 +252,12 @@ class MqttCore { _mqttClient!.subscribe(_fromServerTopic, MqttQos.exactlyOnce); } - _mqttClient!.subscribe(_fromServerTopic, MqttQos.exactlyOnce); - Util.preferencesSaveString(Constants.prefsPreviousMqttSubscription, _fromServerTopic); + _mqttClient!.subscribe(fromServerTopic, MqttQos.exactlyOnce); + Util.preferencesSaveString(Constants.prefsPreviousMqttSubscription, fromServerTopic); - var fromServerTopic = "$_fromServerTopic#"; Util.logInfo('subscribed to topic: $fromServerTopic'); - MessageService().publish(Constants.messageTopicConnectionStatusChanged, - arguments: ConnectionStatus(status: ConnectionStatusEnum.connected)); + MessageService().publish(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.connected)); } void _sessionMessageReceived(payloadData) async { @@ -295,8 +299,7 @@ class MqttCore { await MyApp.isarInstance.locationStatus.put(locationStatus); }); - MessageService() - .publish(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus)); + MessageService().publish(Constants.messageTopicLocationStatusUpdated, arguments: LocationStatusUpdate(status: locationStatus)); } void _rankingMessageReceived(payloadData) async { diff --git a/pubspec.yaml b/pubspec.yaml index 6b14c8b..15277cd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 302.0.0+302 +version: 303.0.0+303 environment: sdk: '>=2.19.6 <3.0.0'