summaryrefslogtreecommitdiff
path: root/android-app/app/src/main/res/layout
diff options
context:
space:
mode:
authorClaudomator Agent <agent@claudomator>2026-03-16 00:06:33 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-25 04:55:10 +0000
commitafe94c5a2ce33c7f98d85b287ebbe07488dc181f (patch)
treef7ac7b139a70243f7d1d3f4d5c8fce70a8810e46 /android-app/app/src/main/res/layout
parent7193b2b3478171a49330f9cbcae5cd238a7d74d7 (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.xml14
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>