Erweiterungen

This commit is contained in:
Sven committed 2024-02-06 11:49:50 +01:00
1 parent dd88480f29
commit 3c2e9ceecb
14 files changed
+180 -27

No files matched your search

+31 -1
View File
@@ -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();
}
}
}
+7
View File
@@ -6,6 +6,7 @@ import 'package:flutter/services.dart';
import 'package:image_picker/image_picker.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:stadtbote/tools/constants.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:uuid/uuid.dart';
import '../Tools/colored_safe_area.dart';
@@ -174,6 +175,12 @@ class Util {
return null;
}
static Future<void> startBrowser(String websiteUrl) async {
if (!await launchUrl(Uri.parse(websiteUrl))) {
throw Exception('Could not launch $websiteUrl');
}
}
}
Widget getDefaultButton(String text, Function() onPressed, {Image? image, double? buttonHeight}) {