reveler-hub b288db34f4 Update device location on app-open and fix a leftover single-provider gate closes #1035
Two related device-location bugs found while investigating #1035:

- WeatherViewModel only checked/refreshed the device location on manual
  pull-to-refresh (isManualRefresh gate), never on app-open, the 45-min
  auto-refresh timer, or app-resume from background. Decoupled the check
  from isManualRefresh so it always runs for a device-location entry, and
  forces a real refetch (via isForceRefresh, not isManualRefresh, which
  would still hit the 15-min throttle) only when the position actually
  moved. Also wired an immediate check into WeatherAutoRefreshForeground's
  existing ON_START observer, since that's the only hook that already
  fires on every foreground-resume, not just cold start.

- DeviceLocationProvider.getDeviceLocation() still gated on the old
  single-provider selection (getProvider(), preferring NETWORK_PROVIDER)
  before ever reaching the dual-provider live-request logic added in the
  #938 fix. If that one provider happened to be present-but-disabled
  (e.g. "Device only" location mode, or no GMS/network-location backend),
  it failed instantly without ever trying GPS. Removed the stale gate.

Tested on an AVD: reproduced #1035 (background app, move >1000m, reopen
without refreshing -> location stayed stale), then confirmed the fix
resolves it end-to-end (name, coordinates, and weather data all update
on reopen, no manual refresh needed). Also confirmed the provider-gate
fix resolves an instant "Current location not found" on a device with
NETWORK_PROVIDER disabled but GPS enabled.
2026-08-19 02:56:09 +12:00
2026-08-10 13:26:28 +05:30
2026-05-26 20:43:50 +05:30
2026-04-30 13:40:20 +05:30
2026-05-25 09:08:44 +05:30
2026-08-03 20:24:35 +05:30

WeatherMaster

RB Status

WeatherMaster: inspired by the Google Pixel weather app.

GitHub GitHub

app_thumbnail

👁️ Screenshots


🌦️ Supported weather sources

  • Open Meteo
  • Met Norway
  • NWS
  • SMHI
  • DWD
  • Meteo-France
  • FMI
  • ECCC
  • BMKG
  • China
  • AccuWeather
  • Meteo AM
  • IPMA
  • WeatherApi.com
  • Gismeteo
  • Met Office (requires your own API key — sign up here)
  • AEMET (requires your own API key — sign up here)
  • IMD
  • WMO Severe Weather Information Centre
  • FOSS Public Alert Server
  • And more to be added

Some sources need a free API key from the provider before you can select them — add yours from a location's weather source picker, or from Settings → Weather Sources → API key config.

🌐 Translate the app on Crowdin

Feel free to open an issue if you want to request a language

ar-SA translation az translation bg translation ca translation cs translation de translation el translation es-ES translation fa translation fi translation fil translation fr translation hu translation id translation it translation ja translation ko translation lt translation nl translation pl translation pt-BR translation pt-PT translation ro translation ru translation sl translation sr translation sr-CS translation sv-SE translation th translation tr translation uk translation vi translation zh-CN translation zh-TW translation ar-SA translation lt translation he translation

✉️ Contact

For any questions or feedback, feel free to open an issue on GitHub or contact pranshul.devmain@gmail.com

©️ License

This project is licensed under the GPL-3.0 license. See the LICENSE file for details.

Latest
2026-06-29 23:20:00 -05:00
Languages
Kotlin 100%