Fehlerkorrekturen
This commit is contained in:
1 parent
db93891dc9
commit
5c1d016935
7 files changed
+66
-100
No files matched your search
@@ -98,6 +98,8 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
||||
for (int i = 0; i < _ranking!.ranks.length; i++) {
|
||||
var rank = _ranking!.ranks[i];
|
||||
|
||||
var rankArea = rank.area ?? "";
|
||||
|
||||
List<Widget> entries = [];
|
||||
entries.add(
|
||||
GestureDetector(
|
||||
@@ -125,7 +127,7 @@ class _ApproachAreaPageState extends State<ApproachAreaPage> {
|
||||
style: TextStyle(fontSize: 20, color: (i == 0 ? Colors.white : Colors.black)),
|
||||
),
|
||||
Text(
|
||||
rank.area,
|
||||
rankArea,
|
||||
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();
|
||||
}
|
||||
|
||||
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() {
|
||||
|
||||
@@ -476,26 +476,25 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
}
|
||||
|
||||
_sendFinTourMessage() async {
|
||||
var finTourMessage = FinTourMessage();
|
||||
finTourMessage.finTour = FinTour();
|
||||
finTourMessage.finTour.trId = widget.tour.id;
|
||||
finTourMessage.finTour.com = _commisionNumber;
|
||||
var finTourMessage = FinTour();
|
||||
finTourMessage.trId = widget.tour.id;
|
||||
finTourMessage.com = _commisionNumber;
|
||||
|
||||
var position = MyApp.currentPosition;
|
||||
if (position != null) {
|
||||
finTourMessage.finTour.track = Track();
|
||||
finTourMessage.finTour.track!.time = DateTime.now().toIso8601String();
|
||||
finTourMessage.finTour.track!.pos = FinTaskPos();
|
||||
finTourMessage.finTour.track!.pos!.lat = position.latitude;
|
||||
finTourMessage.finTour.track!.pos!.long = position.longitude;
|
||||
finTourMessage.track = Track();
|
||||
finTourMessage.track!.time = DateTime.now().toIso8601String();
|
||||
finTourMessage.track!.pos = FinTaskPos();
|
||||
finTourMessage.track!.pos!.lat = position.latitude;
|
||||
finTourMessage.track!.pos!.long = position.longitude;
|
||||
}
|
||||
|
||||
finTourMessage.finTour.tasks = [];
|
||||
finTourMessage.tasks = [];
|
||||
for(var taskInfo in _taskList) {
|
||||
if (taskInfo.answer != null) {
|
||||
var finTourTask = FinTourTask.fromJson(jsonDecode(taskInfo.answer!));
|
||||
|
||||
finTourMessage.finTour.tasks.add(finTourTask);
|
||||
finTourMessage.tasks.add(finTourTask);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class Rank {
|
||||
|
||||
late String zip;
|
||||
|
||||
late String area;
|
||||
String? area;
|
||||
|
||||
late List<Vehicle> vehicles;
|
||||
|
||||
|
||||
+30
-9
@@ -442,7 +442,12 @@ int _rankEstimateSize(
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
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;
|
||||
{
|
||||
final offsets = allOffsets[Vehicle]!;
|
||||
@@ -479,7 +484,7 @@ Rank _rankDeserialize(
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = Rank();
|
||||
object.area = reader.readString(offsets[0]);
|
||||
object.area = reader.readStringOrNull(offsets[0]);
|
||||
object.id = reader.readLong(offsets[1]);
|
||||
object.vehicles = reader.readObjectList<Vehicle>(
|
||||
offsets[2],
|
||||
@@ -500,7 +505,7 @@ P _rankDeserializeProp<P>(
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readString(offset)) as P;
|
||||
return (reader.readStringOrNull(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readLong(offset)) as P;
|
||||
case 2:
|
||||
@@ -519,8 +524,24 @@ P _rankDeserializeProp<P>(
|
||||
}
|
||||
|
||||
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(
|
||||
String value, {
|
||||
String? value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
@@ -533,7 +554,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
||||
}
|
||||
|
||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaGreaterThan(
|
||||
String value, {
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
@@ -548,7 +569,7 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
||||
}
|
||||
|
||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaLessThan(
|
||||
String value, {
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
@@ -563,8 +584,8 @@ extension RankQueryFilter on QueryBuilder<Rank, Rank, QFilterCondition> {
|
||||
}
|
||||
|
||||
QueryBuilder<Rank, Rank, QAfterFilterCondition> areaBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
String? lower,
|
||||
String? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
@@ -1155,7 +1176,7 @@ Map<String, dynamic> _$RankingToJson(Ranking instance) => <String, dynamic>{
|
||||
Rank _$RankFromJson(Map<String, dynamic> json) => Rank()
|
||||
..id = json['id'] as int
|
||||
..zip = json['zip'] as String
|
||||
..area = json['area'] as String
|
||||
..area = json['area'] as String?
|
||||
..vehicles = (json['vehicles'] as List<dynamic>)
|
||||
.map((e) => Vehicle.fromJson(e as Map<String, dynamic>))
|
||||
.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
@@ -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_response.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/status_info_update.dart';
|
||||
import 'package:stadtbote/protocoll_messages/sync_jobs_message.dart';
|
||||
@@ -147,29 +147,17 @@ class MqttCore {
|
||||
}
|
||||
|
||||
_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 {
|
||||
_publishText(topic, json);
|
||||
} catch (e) {
|
||||
_enqueueMessage(topic, jsonEncode(payloadContainer.toJson()));
|
||||
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");
|
||||
} catch (ex) {
|
||||
_enqueueMessage(topic, text);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +188,7 @@ class MqttCore {
|
||||
_statusMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
case 'ranks':
|
||||
case 'ranking':
|
||||
_rankingMessageReceived(jsonDecode(payload));
|
||||
break;
|
||||
|
||||
@@ -338,13 +326,12 @@ class MqttCore {
|
||||
}
|
||||
|
||||
void _jobDeleteReceived(payloadData) async {
|
||||
for (var jobId in payloadData) {
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.delete(jobId);
|
||||
});
|
||||
var jobDelMessage = JobDelMessage.fromJson(payloadData);
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
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 {
|
||||
@@ -494,7 +481,7 @@ class MqttCore {
|
||||
answer.sync.jobs.add(syncJob);
|
||||
}
|
||||
|
||||
publishPayloadMessage("sync_request_response", answer.toJson());
|
||||
_publishText("sync", jsonEncode(answer.toJson()));
|
||||
}
|
||||
|
||||
void _startTrackTimer() {
|
||||
@@ -508,7 +495,7 @@ class MqttCore {
|
||||
trackMessage.pos!.long = position.longitude;
|
||||
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.utc = DateTime.now().millisecondsSinceEpoch;
|
||||
|
||||
publishPayloadMessage('job', message.toJson());
|
||||
_publishText('job', jsonEncode(message.toJson()));
|
||||
}
|
||||
|
||||
void initMessages() {
|
||||
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,
|
||||
|
||||
Reference in new issue
Block a user