DynamicIntervalCalculator
object DynamicIntervalCalculator
Pure, platform-independent location-request interval calculator.
Picks a base interval from the current speed band, then stretches it for low battery, power-saver mode, and long-running sessions to conserve power. The result is clamped to [MIN_INTERVAL_MS, MAX_INTERVAL_MS].
Faster movement → shorter interval (denser track). Low battery / power-saver / long duration → longer interval (fewer fixes). Charging disables the battery penalty entirely.
No Android dependency, so it is fully covered by JVM unit tests. The service (C.2a) calls intervalMs per fix and re-registers the FLP request only when the value changes ≥1s.