Stop the weather worker pinning location for providers that manage it
Some checks failed
Trigger F-Droid repository rebuild / trigger (release) Has been cancelled
Some checks failed
Trigger F-Droid repository rebuild / trigger (release) Has been cancelled
Breezy Weather resolves its own location and pushes weather updates, but WeatherUpdateWorker only looked at autoLocation before requesting a location. BreezyWeatherProvider.getWeatherData() is a noop that always returns null, so the worker then returned Result.retry() forever and never set lastUpdate - which meant the update interval check could never short-circuit it either. 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 phone this showed up as ~46k 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 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 30s. Bump to 1.40.2-typing.8 (versionCode 2026091201).
This commit is contained in:
@@ -34,8 +34,8 @@ android {
|
||||
applicationId = "de.mm20.launcher2"
|
||||
minSdk = libs.versions.minSdk.get().toInt()
|
||||
targetSdk = libs.versions.targetSdk.get().toInt()
|
||||
versionCode = System.getenv("VERSION_CODE_OVERRIDE")?.toIntOrNull() ?: 2026091006
|
||||
versionName = "1.40.2-typing.7"
|
||||
versionCode = System.getenv("VERSION_CODE_OVERRIDE")?.toIntOrNull() ?: 2026091201
|
||||
versionName = "1.40.2-typing.8"
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user