Beta Kotlin Rewrite 1
Note
This is an early build of the fully rewritten version in Kotlin Compose.
Things may still change, break, or not even work :P
✨ Features
- Added support for multiple weather providers (Open-Meteo, NWS)
- Added new app icon by @pdimu
- Added weather source selection per location
- Added Wind block with speed and direction display
- Added Rain block for precipitation details
- Added Snow block for snowfall data
- Added Daily Forecast screen for day-by-day weather view
- Added Open-Meteo Air Quality (AQI) support
- Added AQI level calculation and validation logic
- Added basic AQI caching and refresh handling
- Added device location support with permission handling
- Added manual refresh-based location updates
- Added weather source selection UI in app
🐞 Fixes
- Fixed timestamp mismatches by standardizing all weather data to milliseconds
- Fixed hourly and daily forecast matching issues
- Fixed sunrise, sunset, moonrise, and moonset calculations
- Fixed AQI data handling and null safety issues
- Fixed forecast alignment across different weather sources
- Improved cache validation and refresh behavior
- Improved weather data consistency when switching providers
- Improved loading and error handling for weather and AQI requests
- Fixed multiple time conversion inconsistencies across weather blocks
🧹 Chores
- Refactored weather models and mapping logic
- Refactored package structure for weather and air quality modules
- Moved shared utilities into dedicated top-level functions
- Cleaned up imports and reduced duplicated mapping logic
- Updated database schema and weather entity structure
- Added cache configuration and refresh policy utilities
- Refactored WeatherViewModel into smaller responsibilities
- Updated dependencies, translations, and localization resources