From e5c3a3ca22211ee8ba23d40edfac9692f03bac9d Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Tue, 12 Mar 2024 14:52:35 +0100 Subject: [PATCH] Fehlerkorrekturen --- lib/content_views/approach_area_page.dart | 14 ++-- lib/content_views/task_list_page.dart | 78 ++++++------------- .../accept_job_message.g.dart | 4 +- .../fin_tour_message.g.dart | 4 +- lib/protocoll_messages/pic_message.g.dart | 4 +- lib/protocoll_messages/track_message.g.dart | 4 +- lib/protocoll_messages/zip_message.dart | 4 +- lib/protocoll_messages/zip_message.g.dart | 48 ++++++++---- pubspec.yaml | 2 +- 9 files changed, 79 insertions(+), 83 deletions(-) diff --git a/lib/content_views/approach_area_page.dart b/lib/content_views/approach_area_page.dart index 3c2f524..ff2029b 100644 --- a/lib/content_views/approach_area_page.dart +++ b/lib/content_views/approach_area_page.dart @@ -101,11 +101,9 @@ class _ApproachAreaPageState extends State { List entries = []; entries.add( GestureDetector( - onTap: ()=> { + onTap: () => { if (i == 0) { showZipPopup(context, 'ACHTUNG: Wenn Sie Ihre PLZ ändern, verlieren Sie Ihr Ranking!\n', 'Freimelden', (zip) => {_sendZip(rank, zip, ModeEnum.set)}), - } else { - showZipPopup(context, 'ACHTUNG: Wenn Sie Ihre PLZ ändern, verlieren Sie Ihr Ranking!\n', 'OK', (zip) => {_sendZip(rank, zip, ModeEnum.request)}), } }, child: Container( @@ -189,11 +187,11 @@ class _ApproachAreaPageState extends State { if (position != null) { zipMessage.setPos!.track = ZipTrack(); - zipMessage.setPos!.track.time = DateTime.now().toIso8601String(); - zipMessage.setPos!.track.pos = ZipTrackPos(); - zipMessage.setPos!.track.pos!.lat = position.latitude; - zipMessage.setPos!.track.pos!.long = position.longitude; - zipMessage.setPos!.track.pos!.acc = position.accuracy.toInt(); + zipMessage.setPos!.track!.time = DateTime.now().toIso8601String(); + zipMessage.setPos!.track!.pos = ZipTrackPos(); + zipMessage.setPos!.track!.pos!.lat = position.latitude; + zipMessage.setPos!.track!.pos!.long = position.longitude; + zipMessage.setPos!.track!.pos!.acc = position.accuracy.toInt(); } } else { zipMessage.reqZip = ZipReqZip(); diff --git a/lib/content_views/task_list_page.dart b/lib/content_views/task_list_page.dart index f5fb110..8991391 100644 --- a/lib/content_views/task_list_page.dart +++ b/lib/content_views/task_list_page.dart @@ -67,14 +67,14 @@ class _TaskListPageState extends State { List _photos = []; - late String commisionNumber; + late String _commisionNumber; @override void initState() { Future.delayed(const Duration(seconds: 0), () async { _taskList = await _fetchTaskList(); - commisionNumber = widget.tour.com; + _commisionNumber = widget.tour.com; _initCompleted = true; @@ -102,10 +102,10 @@ class _TaskListPageState extends State { child: Column( children: [ Visibility( - visible: commisionNumber.length > 0, + visible: _commisionNumber.length > 0, child: Row( children: [ - Text('Komm-#: $commisionNumber', style: const TextStyle(fontSize: 20), textAlign: TextAlign.left), + Text('Komm-#: $_commisionNumber', style: const TextStyle(fontSize: 20), textAlign: TextAlign.left), ], ), ), @@ -294,7 +294,7 @@ class _TaskListPageState extends State { taskInfo.additionalText = comissionNumber; taskInfo.completed = true; - commisionNumber = comissionNumber; + _commisionNumber = comissionNumber; setState(() {}); @@ -477,7 +477,7 @@ class _TaskListPageState extends State { var finTourMessage = FinTourMessage(); finTourMessage.finTour = FinTour(); finTourMessage.finTour.trId = widget.tour.id; - finTourMessage.finTour.com = "Mir doch egal!"; + finTourMessage.finTour.com = _commisionNumber; var position = MyApp.currentPosition; if (position != null) { @@ -504,7 +504,9 @@ class _TaskListPageState extends State { await MyApp.isarInstance.jobs.put(widget.job); }); - _sendImages(); + _sendImages(); + + await _checkJobFinished(); } _sendImages() { @@ -533,54 +535,22 @@ class _TaskListPageState extends State { }); } - /*private void SendImages() - { - var tourId = _jobTour.Id; + Future _checkJobFinished() async { + var jobFinished = true; - Task.Run(() => - { - try - { - Thread.Sleep(1000); + for (var tour in widget.job.tours) { + if (tour.state == 0) { + jobFinished = false; - var index = 0; - var realm = Realm.GetInstance(); - var tourImages = realm.All().Where(tourImage => tourImage.TourId == tourId); - if (tourImages.Any()) - { - foreach (var tourImage in tourImages) - { - var payloadObject = new JObject(); - - var picObject = new JObject(); - payloadObject.Add(new JProperty("pic", picObject)); - - picObject.Add(new JProperty("tr_id", tourImage.TourId)); - picObject.Add(new JProperty("num", index)); - picObject.Add(new JProperty("time", DateTime.Now.ToString("o"))); - picObject.Add(new JProperty("data", tourImage.ImageData)); - - var location = App.CurrentLocation; - if (location != null) - { - var posObject = new JObject(); - picObject.Add(new JProperty("pos", posObject)); - - posObject.Add(new JProperty("lat", location.Latitude)); - posObject.Add(new JProperty("long", location.Longitude)); - } - - App.Core.SendJsonMessageAsync("job", payloadObject); - - index++; - } - - Thread.Sleep(500); - } - } - catch (Exception ex) - { + break; + } } - }); - }*/ + + if (jobFinished) { + widget.job.state = 2; + await MyApp.isarInstance.writeTxn(() async { + await MyApp.isarInstance.jobs.put(widget.job); + }); + } + } } diff --git a/lib/protocoll_messages/accept_job_message.g.dart b/lib/protocoll_messages/accept_job_message.g.dart index 4687734..7a0f647 100644 --- a/lib/protocoll_messages/accept_job_message.g.dart +++ b/lib/protocoll_messages/accept_job_message.g.dart @@ -30,7 +30,9 @@ Map _$ReactionToJson(Reaction instance) => { Track _$TrackFromJson(Map json) => Track() ..time = json['time'] as String - ..pos = FinTaskPos.fromJson(json['pos'] as Map); + ..pos = json['pos'] == null + ? null + : FinTaskPos.fromJson(json['pos'] as Map); Map _$TrackToJson(Track instance) => { 'time': instance.time, diff --git a/lib/protocoll_messages/fin_tour_message.g.dart b/lib/protocoll_messages/fin_tour_message.g.dart index feb29bb..91cf2d4 100644 --- a/lib/protocoll_messages/fin_tour_message.g.dart +++ b/lib/protocoll_messages/fin_tour_message.g.dart @@ -18,7 +18,9 @@ Map _$FinTourMessageToJson(FinTourMessage instance) => FinTour _$FinTourFromJson(Map json) => FinTour() ..trId = json['tr_id'] as int ..com = json['com'] as String - ..track = Track.fromJson(json['track'] as Map) + ..track = json['track'] == null + ? null + : Track.fromJson(json['track'] as Map) ..tasks = (json['tasks'] as List) .map((e) => FinTourTask.fromJson(e as Map)) .toList(); diff --git a/lib/protocoll_messages/pic_message.g.dart b/lib/protocoll_messages/pic_message.g.dart index ad0e814..0c8361c 100644 --- a/lib/protocoll_messages/pic_message.g.dart +++ b/lib/protocoll_messages/pic_message.g.dart @@ -8,7 +8,9 @@ part of 'pic_message.dart'; PicMessage _$PicMessageFromJson(Map json) => PicMessage() ..pic = PicData.fromJson(json['pic'] as Map) - ..pos = PicMessagePos.fromJson(json['pos'] as Map); + ..pos = json['pos'] == null + ? null + : PicMessagePos.fromJson(json['pos'] as Map); Map _$PicMessageToJson(PicMessage instance) => { diff --git a/lib/protocoll_messages/track_message.g.dart b/lib/protocoll_messages/track_message.g.dart index 643695e..bf02fad 100644 --- a/lib/protocoll_messages/track_message.g.dart +++ b/lib/protocoll_messages/track_message.g.dart @@ -7,7 +7,9 @@ part of 'track_message.dart'; // ************************************************************************** TrackMessage _$TrackMessageFromJson(Map json) => TrackMessage() - ..pos = TrackPosition.fromJson(json['pos'] as Map); + ..pos = json['pos'] == null + ? null + : TrackPosition.fromJson(json['pos'] as Map); Map _$TrackMessageToJson(TrackMessage instance) => { diff --git a/lib/protocoll_messages/zip_message.dart b/lib/protocoll_messages/zip_message.dart index b3e4030..2159279 100644 --- a/lib/protocoll_messages/zip_message.dart +++ b/lib/protocoll_messages/zip_message.dart @@ -61,7 +61,7 @@ class ZipReqZip { class ZipSetPos { late String zip; - late ZipTrack track; + ZipTrack? track; ZipSetPos(); @@ -75,7 +75,7 @@ class ZipSetPos { class ZipTrack { late String time; - late ZipTrackPos? pos; + ZipTrackPos? pos; ZipTrack(); diff --git a/lib/protocoll_messages/zip_message.g.dart b/lib/protocoll_messages/zip_message.g.dart index c4c764c..cbd677f 100644 --- a/lib/protocoll_messages/zip_message.g.dart +++ b/lib/protocoll_messages/zip_message.g.dart @@ -298,9 +298,13 @@ int _zipSetPosEstimateSize( Map> allOffsets, ) { var bytesCount = offsets.last; - bytesCount += 3 + - ZipTrackSchema.estimateSize( - object.track, allOffsets[ZipTrack]!, allOffsets); + { + final value = object.track; + if (value != null) { + bytesCount += 3 + + ZipTrackSchema.estimateSize(value, allOffsets[ZipTrack]!, allOffsets); + } + } bytesCount += 3 + object.zip.length * 3; return bytesCount; } @@ -328,11 +332,10 @@ ZipSetPos _zipSetPosDeserialize( ) { final object = ZipSetPos(); object.track = reader.readObjectOrNull( - offsets[0], - ZipTrackSchema.deserialize, - allOffsets, - ) ?? - ZipTrack(); + offsets[0], + ZipTrackSchema.deserialize, + allOffsets, + ); object.zip = reader.readString(offsets[1]); return object; } @@ -346,11 +349,10 @@ P _zipSetPosDeserializeProp

( switch (propertyId) { case 0: return (reader.readObjectOrNull( - offset, - ZipTrackSchema.deserialize, - allOffsets, - ) ?? - ZipTrack()) as P; + offset, + ZipTrackSchema.deserialize, + allOffsets, + )) as P; case 1: return (reader.readString(offset)) as P; default: @@ -360,6 +362,22 @@ P _zipSetPosDeserializeProp

( extension ZipSetPosQueryFilter on QueryBuilder { + QueryBuilder trackIsNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNull( + property: r'track', + )); + }); + } + + QueryBuilder trackIsNotNull() { + return QueryBuilder.apply(this, (query) { + return query.addFilterCondition(const FilterCondition.isNotNull( + property: r'track', + )); + }); + } + QueryBuilder zipEqualTo( String value, { bool caseSensitive = true, @@ -1046,7 +1064,9 @@ Map _$ZipReqZipToJson(ZipReqZip instance) => { ZipSetPos _$ZipSetPosFromJson(Map json) => ZipSetPos() ..zip = json['zip'] as String - ..track = ZipTrack.fromJson(json['track'] as Map); + ..track = json['track'] == null + ? null + : ZipTrack.fromJson(json['track'] as Map); Map _$ZipSetPosToJson(ZipSetPos instance) => { 'zip': instance.zip, diff --git a/pubspec.yaml b/pubspec.yaml index ee4c139..7c0dfaa 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: 215.0.0+6 +version: 217.0.0+8 environment: sdk: '>=2.19.6 <3.0.0'