Summary
A native Android home screen widget that displays current weather conditions from a Kanfei station. Consumes data from either the REST API (#30) or the push export JSON (#29).
Depends on: #28 (JSON schema), and at least one of #29 (push) or #30 (REST)
Features
MVP
Nice to have
Data source
The widget should work with either:
- Push JSON URL — fetch a static JSON file from S3/R2/CDN (simplest, works behind NAT)
- REST API — fetch from
/api/v1/current with API key header
Configuration in the widget setup screen:
- Data URL (required)
- API key (optional, for REST mode)
- Station name / display label
- Refresh interval
Technical considerations
- Kotlin, Jetpack Glance (modern widget framework) or RemoteViews (broader compatibility)
- Minimal permissions: INTERNET only
- Battery-conscious: use WorkManager for background refresh, respect battery saver
- Graceful degradation: show last known data + stale indicator when offline
- Material You theming if using Glance
Repository
This should likely be a separate repo (kanfei-android or kanfei-widget) since it's a different build system (Gradle/Kotlin) and release cycle (Play Store).
Priority
Depends on the public data API (#28-#30) being available first. High user value — home screen weather widgets are one of the most common use cases for PWS data.
Summary
A native Android home screen widget that displays current weather conditions from a Kanfei station. Consumes data from either the REST API (#30) or the push export JSON (#29).
Depends on: #28 (JSON schema), and at least one of #29 (push) or #30 (REST)
Features
MVP
Nice to have
Data source
The widget should work with either:
/api/v1/currentwith API key headerConfiguration in the widget setup screen:
Technical considerations
Repository
This should likely be a separate repo (
kanfei-androidorkanfei-widget) since it's a different build system (Gradle/Kotlin) and release cycle (Play Store).Priority
Depends on the public data API (#28-#30) being available first. High user value — home screen weather widgets are one of the most common use cases for PWS data.