Alpha Kotlin Rewrite 4
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 Air Quality (AQI) supportx
- Added AQI level calculation and validation logic
- Added Air Quality caching and refresh handling
- Added Crowdin project shortcut in Language settings
- Added new weather formatting and astronomy utilities
🐞 Fixes
- Unified weather timestamps to milliseconds across the app
- Fixed forecast matching to use millisecond-based time comparisons
- Fixed sunrise, sunset, moonrise, and moonset calculations using millisecond timestamps
- Fixed weather and AQI refresh validation logic
- Improved async loading for AQI updates and weather handling
- Improved weather data safety and null handling
- Improved logging and error reporting for AQI failures
- Fixed multiple time conversion inconsistencies across weather cards and blocks
- Fixed weather block validation and cache freshness handling
🧹 Chores
- Refactored weather and utility package structure
- Replaced utility classes with top-level utility functions
- Moved astronomy and locale helpers into dedicated packages
- Cleaned up imports and reorganized core weather models
- Updated database schema to version 27 (No migration support yet)
- Added cache configuration utilities and weather cache policies
- Refactored
WeatherViewModelweather and AQI handling into separate functions - Updated dependencies, translations, and localization resources