Package-level declarations

Types

Link copied to clipboard

Pure, platform-independent location-request interval calculator.

Link copied to clipboard
data class GeoPoint(val latitude: Double, val longitude: Double)

Lightweight lat/lng pair used by PathSimplifier and KalmanSmoother.

Link copied to clipboard
data class IntervalInputs(val speedMps: Double, val batteryPct: Int, val isCharging: Boolean, val isPowerSaver: Boolean, val elapsedMs: Long, val tierMultiplier: Double = 1.0, val harshAccel: Boolean = false, val userFloorMs: Long = 0)

Inputs for one location-request interval recomputation.

Link copied to clipboard
class KalmanSmoother(processNoiseMetersPerSec: Double = 1.0)

Lightweight Kalman-like GPS smoother, operates on lat/lng separately, uses time delta to increase process uncertainty. Pure Kotlin, no Android dependencies.

Link copied to clipboard

Douglas-Peucker path simplification for UI rendering only. NEVER use for distance calculations, loses 5–25% accuracy.

Link copied to clipboard
data class QualityInputs(val isMock: Boolean = false, val isBatteryOptimized: Boolean = false, val isPowerSaver: Boolean = false, val wasAppKilled: Boolean = false, val wasRestarted: Boolean = false, val isPermissionMissing: Boolean = false, val isGpsOff: Boolean = false, val accuracyM: Float = 0.0f, val isStable: Boolean = false)

Live tracking-environment signals used to score the current fix quality.

Link copied to clipboard

Pure, live tracking-quality scorer. Starts at MAX and subtracts a fixed penalty per active environmental issue, applies an accuracy-tier penalty, then adds a small bonus when the fix stream is stable. Result is clamped to [MIN, MAX].