Adaptive Positionsmeldung nach Bewegungszustand

- TrackState-Zustände (no_fix/static/moving_slow/moving_medium/moving_fast)
  mit je eigenem Meldeintervall mit/ohne Auftrag (lib/tools/track_state.dart)
- Festes Sampling (15s) statt fixem 120s-Timer; Sofortmeldung bei
  Zustandswechsel, sonst nach Zustandsintervall (mqtt_core.dart)
- track-JSON um state (String) und speed (m/s) erweitert
- Statisch-Erkennung über GPS-Genauigkeit, aktiver Auftrag = akzeptiert
  und <=15min vor ordertime
- chat_message.dart: Direktimport von objectbox.dart ergaenzt, behebt
  build_runner-Aufloesungsfehler (ChatMessage-Entity)
- Release-Build-Script (build_release_apk.sh)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
SvenandClaude Opus 4.8 committed 2026-06-24 11:48:31 +02:00
1 parent e36fc69edc
commit 83c646c597
7 files changed
+248 -21

No files matched your search

+6
View File
@@ -12,6 +12,12 @@ class TrackPosition {
late int acc;
/// Bewegungszustand der Ortung (String-Label, z. B. "static", "moving_medium").
late String state;
/// Geschwindigkeit in m/s.
late double speed;
TrackPosition();
factory TrackPosition.fromJson(Map<String, dynamic> json) => _$TrackPositionFromJson(json);
+5 -1
View File
@@ -11,7 +11,9 @@ TrackPosition _$TrackPositionFromJson(Map<String, dynamic> json) =>
..time = (json['time'] as num).toInt()
..lat = (json['lat'] as num).toDouble()
..long = (json['long'] as num).toDouble()
..acc = (json['acc'] as num).toInt();
..acc = (json['acc'] as num).toInt()
..state = json['state'] as String
..speed = (json['speed'] as num).toDouble();
Map<String, dynamic> _$TrackPositionToJson(TrackPosition instance) =>
<String, dynamic>{
@@ -19,4 +21,6 @@ Map<String, dynamic> _$TrackPositionToJson(TrackPosition instance) =>
'lat': instance.lat,
'long': instance.long,
'acc': instance.acc,
'state': instance.state,
'speed': instance.speed,
};