Files
gps-speedo/lib/config/timing_constants.dart
T
Mikkeli Matlock c4d4032b6b feat(04-01): add timestamp to ProcessedGpsData and precision/lifecycle constants
- Add timestamp field to ProcessedGpsData with copyWith support
- Add precision switching thresholds: 3.33 m/s (12 km/h) up, 2.22 m/s (8 km/h) down
- Add PRECISION_SWITCH_FIRST_FIX_DELAY (5s) to prevent early switching
- Add BACKGROUND_GRACE_PERIOD (7s) for lifecycle-aware GPS management
- Mark GPS_GRACE_PERIOD as deprecated in favor of BACKGROUND_GRACE_PERIOD
- Change GpsService.positionStream to createPositionStream() with dynamic accuracy
- Keep deprecated positionStream getter for backward compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 09:00:10 +09:00

24 lines
1.0 KiB
Dart

// Timer and interval constants — SCREAMING_SNAKE per project convention
/// Timing configuration for background tasks and UI interactions
abstract class TimingConfig {
/// Interval for background heartbeat to keep GPS alive
static const Duration HEARTBEAT_INTERVAL = Duration(seconds: 5);
/// Interval for checking overlay window status
static const Duration OVERLAY_STATUS_CHECK_INTERVAL = Duration(milliseconds: 1000);
/// Delay before closing overlay after tap
static const Duration TAP_CLOSE_DELAY = Duration(milliseconds: 500);
/// Delay for long press gesture signal
static const Duration LONG_PRESS_SIGNAL_DELAY = Duration(milliseconds: 50);
/// GPS grace period - continues for 30s after overlay close when backgrounded
/// DEPRECATED: Replaced by BACKGROUND_GRACE_PERIOD (7s) for lifecycle management
static const Duration GPS_GRACE_PERIOD = Duration(seconds: 30);
/// Background grace period - time before GPS stops when app backgrounded without overlay
static const Duration BACKGROUND_GRACE_PERIOD = Duration(seconds: 7);
}