From 62cc93086498d57ef7298eddb40cc382dfc10c6d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 20 May 2026 22:18:38 +0000 Subject: Fix Long overflow in TackDetector: var lastTackMs = Long.MIN_VALUE caused subtraction overflow, filtering every tack --- android-app/app/src/main/kotlin/org/terst/nav/track/TackDetector.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'android-app/app/src/main') diff --git a/android-app/app/src/main/kotlin/org/terst/nav/track/TackDetector.kt b/android-app/app/src/main/kotlin/org/terst/nav/track/TackDetector.kt index 9668fd1..b0d256b 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/track/TackDetector.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/track/TackDetector.kt @@ -14,11 +14,11 @@ object TackDetector { if (points.size < 2 * HALF_WIN + 1) return emptyList() val results = mutableListOf() - var lastTackMs = Long.MIN_VALUE + var lastTackMs: Long? = null for (i in HALF_WIN until points.size - HALF_WIN) { if (points[i].timestampMs - points.first().timestampMs < START_SKIP_MS) continue - if (points[i].timestampMs - lastTackMs < MIN_GAP_MS) continue + if (lastTackMs != null && points[i].timestampMs - lastTackMs < MIN_GAP_MS) continue val spreadBefore = abs(angleDiff(points[i - 2].cogDeg, points[i - 1].cogDeg)) val spreadAfter = abs(angleDiff(points[i + 1].cogDeg, points[i + 2].cogDeg)) -- cgit v1.2.3