Fehlerkorrekturen

This commit is contained in:
Sven committed 2024-05-06 12:50:20 +02:00
1 parent db93891dc9
commit 5c1d016935
7 files changed
+66 -100

No files matched your search

+4 -2
View File
@@ -98,6 +98,8 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
for (int i = 0; i < _ranking!.ranks.length; i++) { for (int i = 0; i < _ranking!.ranks.length; i++) {
var rank = _ranking!.ranks[i]; var rank = _ranking!.ranks[i];
var rankArea = rank.area ?? "";
List<Widget> entries = []; List<Widget> entries = [];
entries.add( entries.add(
GestureDetector( GestureDetector(
@@ -125,7 +127,7 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
style: TextStyle(fontSize: 20, color: (i == 0 ? Colors.white : Colors.black)), style: TextStyle(fontSize: 20, color: (i == 0 ? Colors.white : Colors.black)),
), ),
Text( Text(
rank.area, rankArea,
style: TextStyle(fontSize: 13, color: (i == 0 ? Colors.white : Colors.black)), style: TextStyle(fontSize: 13, color: (i == 0 ? Colors.white : Colors.black)),
) )
] ]
@@ -191,7 +193,7 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
setPosMessage.track!.pos!.acc = position.accuracy.toInt(); setPosMessage.track!.pos!.acc = position.accuracy.toInt();
} }
MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "rank", message: setPosMessage.toJson())); MessageService().publish<PublishPayloadMessage>(Constants.messageTopicPublishPayload, arguments: PublishPayloadMessage(topic: "set_zip", message: setPosMessage.toJson()));
} }
_initMessages() { _initMessages() {
+10 -11
View File
@@ -476,26 +476,25 @@ class _TaskListPageState extends State<TaskListPage> {
} }
_sendFinTourMessage() async { _sendFinTourMessage() async {
var finTourMessage = FinTourMessage(); var finTourMessage = FinTour();
finTourMessage.finTour = FinTour(); finTourMessage.trId = widget.tour.id;
finTourMessage.finTour.trId = widget.tour.id; finTourMessage.com = _commisionNumber;
finTourMessage.finTour.com = _commisionNumber;
var position = MyApp.currentPosition; var position = MyApp.currentPosition;
if (position != null) { if (position != null) {
finTourMessage.finTour.track = Track(); finTourMessage.track = Track();
finTourMessage.finTour.track!.time = DateTime.now().toIso8601String(); finTourMessage.track!.time = DateTime.now().toIso8601String();
finTourMessage.finTour.track!.pos = FinTaskPos(); finTourMessage.track!.pos = FinTaskPos();
finTourMessage.finTour.track!.pos!.lat = position.latitude; finTourMessage.track!.pos!.lat = position.latitude;
finTourMessage.finTour.track!.pos!.long = position.longitude; finTourMessage.track!.pos!.long = position.longitude;
} }
finTourMessage.finTour.tasks = []; finTourMessage.tasks = [];
for(var taskInfo in _taskList) { for(var taskInfo in _taskList) {
if (taskInfo.answer != null) { if (taskInfo.answer != null) {
var finTourTask = FinTourTask.fromJson(jsonDecode(taskInfo.answer!)); var finTourTask = FinTourTask.fromJson(jsonDecode(taskInfo.answer!));
finTourMessage.finTour.tasks.add(finTourTask); finTourMessage.tasks.add(finTourTask);
} }
} }
+1 -1
View File
@@ -26,7 +26,7 @@ class Rank {
late String zip; late String zip;
late String area; String? area;
late List<Vehicle> vehicles; late List<Vehicle> vehicles;
+30 -9
View File
@@ -442,7 +442,12 @@ int _rankEstimateSize(
Map<Type, List<int>> allOffsets, Map<Type, List<int>> allOffsets,
) { ) {
var bytesCount = offsets.last; var bytesCount = offsets.last;
bytesCount += 3 + object.area.length * 3; {
final value = object.area;
if (value != null) {
bytesCount += 3 + value.length * 3;
}
}
bytesCount += 3 + object.vehicles.length * 3; bytesCount += 3 + object.vehicles.length * 3;
{ {
final offsets = allOffsets[Vehicle]!; final offsets = allOffsets[Vehicle]!;
@@ -479,7 +484,7 @@ Rank _rankDeserialize(
Map<Type, List<int>> allOffsets, Map<Type, List<int>> allOffsets,
) { ) {
final object = Rank(); final object = Rank();
object.area = reader.readString(offsets[0]); object.area = reader.readStringOrNull(offsets[0]);
object.id = reader.readLong(offsets[1]); object.id = reader.readLong(offsets[1]);
object.vehicles = reader.readObjectList<Vehicle>( object.vehicles = reader.readObjectList<Vehicle>(
offsets[2], offsets[2],
@@ -500,7 +505,7 @@ P _rankDeserializeProp<P>(
) { ) {
switch (propertyId) { switch (propertyId) {
case 0: case 0:
return (reader.readString(offset)) as P; return (reader.readStringOrNull(offset)) as P;
case 1: case 1:
return (reader.readLong(offset)) as P; return (reader.readLong(offset)) as P;
case 2: case 2:
@@ -519,8 +524,24 @@ P _rankDeserializeProp<P>(
} }
extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> { extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaIsNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNull(
property: r'area',
));
});
}
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaIsNotNull() {
return QueryBuilder.apply(this, (query) {
return query.addFilterCondition(const FilterCondition.isNotNull(
property: r'area',
));
});
}
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaEqualTo( QueryBuilder<Rank, Rank, QAfterFilterCondition> areaEqualTo(
String value, { String? value, {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
@@ -533,7 +554,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
} }
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaGreaterThan( QueryBuilder<Rank, Rank, QAfterFilterCondition> areaGreaterThan(
String value, { String? value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -548,7 +569,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
} }
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaLessThan( QueryBuilder<Rank, Rank, QAfterFilterCondition> areaLessThan(
String value, { String? value, {
bool include = false, bool include = false,
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
@@ -563,8 +584,8 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
} }
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaBetween( QueryBuilder<Rank, Rank, QAfterFilterCondition> areaBetween(
String lower, String? lower,
String upper, { String? upper, {
bool includeLower = true, bool includeLower = true,
bool includeUpper = true, bool includeUpper = true,
bool caseSensitive = true, bool caseSensitive = true,
@@ -1155,7 +1176,7 @@ Map<String, dynamic> _$RankingToJson(Ranking instance) => <String, dynamic>{
Rank _$RankFromJson(Map<String, dynamic> json) => Rank() Rank _$RankFromJson(Map<String, dynamic> json) => Rank()
..id = json['id'] as int ..id = json['id'] as int
..zip = json['zip'] as String ..zip = json['zip'] as String
..area = json['area'] as String ..area = json['area'] as String?
..vehicles = (json['vehicles'] as List<dynamic>) ..vehicles = (json['vehicles'] as List<dynamic>)
.map((e) => Vehicle.fromJson(e as Map<String, dynamic>)) .map((e) => Vehicle.fromJson(e as Map<String, dynamic>))
.toList(); .toList();
@@ -1,21 +0,0 @@
import 'package:json_annotation/json_annotation.dart';
part 'payload_container.g.dart';
@JsonSerializable()
class PayloadContainer {
late String recv;
late bool store;
late String id;
late Map<String, dynamic> payload;
PayloadContainer();
factory PayloadContainer.fromJson(Map<String, dynamic> json) => _$PayloadContainerFromJson(json);
Map<String, dynamic> toJson() => _$PayloadContainerToJson(this);
}
@@ -1,22 +0,0 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'payload_container.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
PayloadContainer _$PayloadContainerFromJson(Map<String, dynamic> json) =>
PayloadContainer()
..recv = json['recv'] as String
..store = json['store'] as bool
..id = json['id'] as String
..payload = json['payload'] as Map<String, dynamic>;
Map<String, dynamic> _$PayloadContainerToJson(PayloadContainer instance) =>
<String, dynamic>{
'recv': instance.recv,
'store': instance.store,
'id': instance.id,
'payload': instance.payload,
};
+21 -34
View File
@@ -21,7 +21,7 @@ import 'package:stadtbote/protocoll_messages/bootstrap_response_payload.dart';
import 'package:stadtbote/protocoll_messages/device_log_request.dart'; import 'package:stadtbote/protocoll_messages/device_log_request.dart';
import 'package:stadtbote/protocoll_messages/device_log_response.dart'; import 'package:stadtbote/protocoll_messages/device_log_response.dart';
import 'package:stadtbote/protocoll_messages/device_object.dart'; import 'package:stadtbote/protocoll_messages/device_object.dart';
import 'package:stadtbote/protocoll_messages/payload_container.dart'; import 'package:stadtbote/protocoll_messages/job_del_message.dart';
import 'package:stadtbote/protocoll_messages/start_session_message.dart'; import 'package:stadtbote/protocoll_messages/start_session_message.dart';
import 'package:stadtbote/protocoll_messages/status_info_update.dart'; import 'package:stadtbote/protocoll_messages/status_info_update.dart';
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart'; import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart';
@@ -147,29 +147,17 @@ class MqttCore {
} }
_publishText(String topic, String text) { _publishText(String topic, String text) {
var buffer = Uint8Buffer();
buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
var messageTopic = "$_toServerTopic$topic/$_clientId";
_mqttClient!.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
Util.logInfo("message\n$text\nsend to $messageTopic");
}
publishPayloadMessage(String topic, Map<String, dynamic> payload) {
var payloadContainer = PayloadContainer();
payloadContainer.id = const Uuid().v4().toString();
payloadContainer.recv = topic;
payloadContainer.store = true;
payloadContainer.payload = payload;
var json = jsonEncode(payloadContainer.toJson());
try { try {
_publishText(topic, json); var buffer = Uint8Buffer();
} catch (e) { buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
_enqueueMessage(topic, jsonEncode(payloadContainer.toJson()));
var messageTopic = "$_toServerTopic$topic/$_clientId";
_mqttClient!.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
Util.logInfo("message\n$text\nsend to $messageTopic");
} catch (ex) {
_enqueueMessage(topic, text);
} }
} }
@@ -200,7 +188,7 @@ class MqttCore {
_statusMessageReceived(jsonDecode(payload)); _statusMessageReceived(jsonDecode(payload));
break; break;
case 'ranks': case 'ranking':
_rankingMessageReceived(jsonDecode(payload)); _rankingMessageReceived(jsonDecode(payload));
break; break;
@@ -338,13 +326,12 @@ class MqttCore {
} }
void _jobDeleteReceived(payloadData) async { void _jobDeleteReceived(payloadData) async {
for (var jobId in payloadData) { var jobDelMessage = JobDelMessage.fromJson(payloadData);
await MyApp.isarInstance.writeTxn(() async { await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.jobs.delete(jobId); await MyApp.isarInstance.jobs.delete(jobDelMessage.id);
}); });
MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobId)); MessageService().publish<JobDeletedMessage>(Constants.messageTopicJobDeleted, arguments: JobDeletedMessage(id: jobDelMessage.id));
}
} }
void _syncRequestReceived(payloadData) async { void _syncRequestReceived(payloadData) async {
@@ -494,7 +481,7 @@ class MqttCore {
answer.sync.jobs.add(syncJob); answer.sync.jobs.add(syncJob);
} }
publishPayloadMessage("sync_request_response", answer.toJson()); _publishText("sync", jsonEncode(answer.toJson()));
} }
void _startTrackTimer() { void _startTrackTimer() {
@@ -508,7 +495,7 @@ class MqttCore {
trackMessage.pos!.long = position.longitude; trackMessage.pos!.long = position.longitude;
trackMessage.pos!.acc = position.accuracy.toInt(); trackMessage.pos!.acc = position.accuracy.toInt();
publishPayloadMessage("track", trackMessage.toJson()); _publishText("track", jsonEncode(trackMessage.toJson()));
} }
}); });
} }
@@ -555,12 +542,12 @@ class MqttCore {
message.received.ver = job.ver; message.received.ver = job.ver;
message.received.utc = DateTime.now().millisecondsSinceEpoch; message.received.utc = DateTime.now().millisecondsSinceEpoch;
publishPayloadMessage('job', message.toJson()); _publishText('job', jsonEncode(message.toJson()));
} }
void initMessages() { void initMessages() {
MessageService().subscribe<PublishPayloadMessage>(Constants.messageTopicPublishPayload, this, (PublishPayloadMessage payloadMessage) { MessageService().subscribe<PublishPayloadMessage>(Constants.messageTopicPublishPayload, this, (PublishPayloadMessage payloadMessage) {
publishPayloadMessage(payloadMessage.topic, payloadMessage.message); _publishText(payloadMessage.topic, jsonEncode(payloadMessage.message));
}); });
MessageService().subscribe<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, this, MessageService().subscribe<DisconnectClientMessage>(Constants.messageTopicDisconnectClient, this,