• Kvaesitso 1.40.2 type-to-search and agenda (build 8)
    Trigger F-Droid repository rebuild / trigger (release) Has been cancelled
    Stable

    jonas released this 2026-09-12 15:30:18 +02:00 | 4 commits to main since this release

    Fixes a battery drain caused by the weather worker pinning the location stack.

    With a weather provider that manages its own location (Breezy Weather), the worker only
    checked autoLocation and therefore still requested a location even though the provider
    resolves its own. BreezyWeatherProvider.getWeatherData() is a noop that always returns
    null, so the worker then returned Result.retry() forever and never set lastUpdate
    which also meant the update interval check could never short-circuit it.

    Every attempt called getLastKnownLocation(), which registers GPS and network listeners
    at a one second interval and held them for up to ten minutes, so the location stack never
    idled. On the device this showed up as ~46,000 delivered fixes, *location* wakelocks
    held ~99% of the time, and Doze never engaging at all.

    • Expose the selected provider's managedLocation in WeatherSettingsData.
    • Skip and cancel the weather work for providers that manage their own location.
    • Give up on a location fix after two minutes instead of ten.
    • LocationsRepository: don't collect the location flow when location search is off or not
      permitted. As a combineTransform argument it was always collected, so every search
      query registered GPS and network listeners for up to 30 seconds.
    Downloads