diff options
| author | Claudomator Agent <agent@claudomator> | 2026-03-16 00:06:33 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-03-25 04:55:10 +0000 |
| commit | afe94c5a2ce33c7f98d85b287ebbe07488dc181f (patch) | |
| tree | f7ac7b139a70243f7d1d3f4d5c8fce70a8810e46 /android-app/app/src/main/res/layout | |
| parent | 7193b2b3478171a49330f9cbcae5cd238a7d74d7 (diff) | |
feat: offline GRIB staleness checker, ViewModel integration, and UI badge
- Add GribRegion, GribFile data models and GribFileManager interface
- Add InMemoryGribFileManager for testing and default use
- Add GribStalenessChecker with FreshnessResult sealed class (Fresh/Stale/NoData)
- Integrate weatherStaleness StateFlow into MainViewModel (checked after loadWeather)
- Add yellow staleness banner TextView to fragment_map.xml
- Wire staleness banner in MapFragment (shown on Stale, hidden on Fresh/NoData)
- Add GribStalenessCheckerTest (4 TDD tests)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'android-app/app/src/main/res/layout')
| -rw-r--r-- | android-app/app/src/main/res/layout/fragment_map.xml | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/android-app/app/src/main/res/layout/fragment_map.xml b/android-app/app/src/main/res/layout/fragment_map.xml index e5b86b7..2b9b40d 100644 --- a/android-app/app/src/main/res/layout/fragment_map.xml +++ b/android-app/app/src/main/res/layout/fragment_map.xml @@ -27,4 +27,18 @@ android:textSize="14sp" android:visibility="gone" /> + <!-- Staleness banner --> + <TextView + android:id="@+id/tvStalenessWarning" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="bottom" + android:background="#FFCC00" + android:textColor="#000000" + android:textStyle="bold" + android:padding="8dp" + android:gravity="center" + android:visibility="gone" + android:text="" /> + </FrameLayout> |
