gunshot detection - direction optional as defined by profile

This commit is contained in:
stopflock
2025-08-29 13:47:32 -05:00
parent 57acff8ae7
commit 395ef77fe3
7 changed files with 124 additions and 9 deletions
+3
View File
@@ -25,6 +25,9 @@ class ProfileState extends ChangeNotifier {
_profiles.add(CameraProfile.genetec());
_profiles.add(CameraProfile.leonardo());
_profiles.add(CameraProfile.neology());
_profiles.add(CameraProfile.genericGunshotDetector());
_profiles.add(CameraProfile.shotspotter());
_profiles.add(CameraProfile.flockRaven());
_profiles.addAll(await ProfileService().load());
// Load enabled profile IDs from prefs
+6 -2
View File
@@ -41,7 +41,9 @@ class UploadQueueState extends ChangeNotifier {
// Using timestamp as negative ID to ensure uniqueness
final tempId = -DateTime.now().millisecondsSinceEpoch;
final tags = Map<String, String>.from(upload.profile.tags);
tags['direction'] = upload.direction.toStringAsFixed(0);
if (upload.profile.requiresDirection) {
tags['direction'] = upload.direction.toStringAsFixed(0);
}
tags['_pending_upload'] = 'true'; // Mark as pending for potential UI distinction
final tempNode = OsmCameraNode(
@@ -85,7 +87,9 @@ class UploadQueueState extends ChangeNotifier {
// 2. Create new temp node for the edited camera (purple ring) at new location
final tempId = -DateTime.now().millisecondsSinceEpoch;
final editedTags = Map<String, String>.from(upload.profile.tags);
editedTags['direction'] = upload.direction.toStringAsFixed(0);
if (upload.profile.requiresDirection) {
editedTags['direction'] = upload.direction.toStringAsFixed(0);
}
editedTags['_pending_upload'] = 'true'; // Mark as pending upload
editedTags['_original_node_id'] = session.originalNode.id.toString(); // Track original for line drawing