Erweiterungen
This commit is contained in:
1 parent
dd88480f29
commit
3c2e9ceecb
14 files changed
+180
-27
No files matched your search
@@ -5,15 +5,18 @@ import 'dart:math';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:mqtt_client/mqtt_client.dart';
|
||||
import 'package:mqtt_client/mqtt_server_client.dart';
|
||||
import 'package:stadtbote/model/job_tour.dart';
|
||||
import 'package:stadtbote/protocoll_messages/bootstrap_request.dart';
|
||||
import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
|
||||
import 'package:stadtbote/protocoll_messages/device_object.dart';
|
||||
import 'package:stadtbote/model/job.dart';
|
||||
import 'package:stadtbote/model/message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/job_del_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/payload_container.dart';
|
||||
import 'package:stadtbote/protocoll_messages/start_session_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/track_message.dart';
|
||||
import 'package:stadtbote/tools/connection_status.dart';
|
||||
import 'package:stadtbote/tools/message_service.dart';
|
||||
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
||||
@@ -49,6 +52,8 @@ class MqttCore {
|
||||
|
||||
late int _reconnectDelay = 0;
|
||||
|
||||
late Timer? _trackTimer;
|
||||
|
||||
MqttCore() {
|
||||
_processBootstrap();
|
||||
}
|
||||
@@ -168,7 +173,7 @@ class MqttCore {
|
||||
break;
|
||||
|
||||
case 'job_del':
|
||||
//_jobDeleteReceived(payloadData);
|
||||
_jobDeleteReceived(payloadData);
|
||||
break;
|
||||
|
||||
case 'sync_request':
|
||||
@@ -209,6 +214,8 @@ class MqttCore {
|
||||
});
|
||||
|
||||
MessageService().publish<StatusInfoUpdate>(Constants.messageTopicStatusInfoUpdate, arguments: StatusInfoUpdate(status: statusMessage));
|
||||
|
||||
_startTrackTimer();
|
||||
}
|
||||
|
||||
void _rankingMessageReceived(payloadData) async {
|
||||
@@ -288,6 +295,8 @@ class MqttCore {
|
||||
void _clientDisconnected() {
|
||||
connectionState = ConnectionStateEnum.notConnected;
|
||||
|
||||
_cancelTrackTimer();
|
||||
|
||||
Util.logInfo("_clientDisconnected called");
|
||||
|
||||
MessageService().publish<ConnectionStatus>(Constants.messageTopicConnectionStatusChanged, arguments: ConnectionStatus(status: ConnectionStatusEnum.notConnected));
|
||||
@@ -374,4 +383,25 @@ class MqttCore {
|
||||
|
||||
MqttCore.instance.publishPayloadMessage("server", answer.toJson());
|
||||
}
|
||||
|
||||
void _startTrackTimer() {
|
||||
_trackTimer = Timer(const Duration(seconds: 60), () {
|
||||
var position = MyApp.currentPosition;
|
||||
if (position != null) {
|
||||
var trackMessage = TrackMessage();
|
||||
trackMessage.pos = FinTaskPos();
|
||||
trackMessage.pos.lat = position.latitude;
|
||||
trackMessage.pos.long = position.longitude;
|
||||
trackMessage.pos.acc = position.accuracy.toInt();
|
||||
|
||||
publishPayloadMessage("track", trackMessage.toJson());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void _cancelTrackTimer() {
|
||||
if (_trackTimer != null) {
|
||||
_trackTimer!.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user