summaryrefslogtreecommitdiff
path: root/android-app/app/src/main/res/values
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-15 05:49:51 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-15 05:49:51 +0000
commitc3f1178d30de7f1c5c536d0863d547299f2ab54e (patch)
treed1defece328408d165757be34070decb44101893 /android-app/app/src/main/res/values
parent418f6ae8c8ccb968c2674548139dab36e2ab1905 (diff)
parent0923c55af5c63539055933509302233ee3f4b26a (diff)
merge: integrate weather/forecast feature from local remote
Merges wind/current overlay and weather forecast implementation: - Weather feature: WeatherRepository, MainViewModel, MapFragment, ForecastFragment, ForecastAdapter - Data models: WindArrow, ForecastItem, WeatherResponse, MarineResponse - API services: WeatherApiService, MarineApiService (Open-Meteo, no key required) - Layouts: activity_weather.xml, fragment_map.xml, fragment_forecast.xml, item_forecast.xml - Resources: merged colors (wind_slow/medium/strong), strings, themes (Theme.NavApp added) - Manifest: added ACCESS_COARSE_LOCATION - build.gradle: merged deps — kept Firebase+MapLibre 11.5.1, added kotlin-kapt, retrofit, moshi, turbine - Fix: re-packaged com.example.androidapp → org.terst.nav; weather MainActivity uses ActivityWeatherBinding Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'android-app/app/src/main/res/values')
-rwxr-xr-xandroid-app/app/src/main/res/values/colors.xml42
-rwxr-xr-xandroid-app/app/src/main/res/values/strings.xml14
-rwxr-xr-xandroid-app/app/src/main/res/values/themes.xml21
3 files changed, 52 insertions, 25 deletions
diff --git a/android-app/app/src/main/res/values/colors.xml b/android-app/app/src/main/res/values/colors.xml
index 32f5036..43e0076 100755
--- a/android-app/app/src/main/res/values/colors.xml
+++ b/android-app/app/src/main/res/values/colors.xml
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
@@ -7,21 +8,34 @@
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
+ <!-- Maritime theme colors -->
+ <color name="primary">#0D47A1</color>
+ <color name="primary_dark">#002171</color>
+ <color name="accent">#FF6D00</color>
+ <color name="surface">#FFFFFF</color>
+ <color name="on_primary">#FFFFFF</color>
+
<!-- Colors for instrument display -->
- <color name="instrument_text_normal">#FFFFFFFF</color> <!-- White for normal text on dark background -->
- <color name="instrument_text_secondary">#B3FFFFFF</color> <!-- 70% white -->
- <color name="instrument_text_alarm">#FFFF0000</color> <!-- Red for alarm -->
- <color name="instrument_text_stale">#FFFFFF00</color> <!-- Yellow for stale data -->
- <color name="instrument_background">#E61E1E1E</color> <!-- Slightly transparent dark grey -->
- <color name="mob_button_background">#FFD70000</color> <!-- High-contrast red for MOB button -->
+ <color name="instrument_text_normal">#FFFFFFFF</color>
+ <color name="instrument_text_secondary">#B3FFFFFF</color>
+ <color name="instrument_text_alarm">#FFFF0000</color>
+ <color name="instrument_text_stale">#FFFFFF00</color>
+ <color name="instrument_background">#E61E1E1E</color>
+ <color name="mob_button_background">#FFD70000</color>
<color name="anchor_button_background">#3F51B5</color>
+ <!-- Wind overlay colors -->
+ <color name="wind_arrow">#FFFFFFFF</color>
+ <color name="wind_slow">#4CAF50</color>
+ <color name="wind_medium">#FF9800</color>
+ <color name="wind_strong">#F44336</color>
+
<!-- Night Vision Mode Colors -->
- <color name="night_red_primary">#FFFF0000</color> <!-- Bright red for primary elements -->
- <color name="night_red_variant">#FFBB0000</color> <!-- Slightly darker red for variants -->
- <color name="night_on_red">#FF000000</color> <!-- Black text on red background -->
- <color name="night_background">#FF000000</color> <!-- Pure black background -->
- <color name="night_on_background">#FFFF0000</color> <!-- Bright red text on black background -->
- <color name="night_surface">#FF110000</color> <!-- Very dark red surface color -->
- <color name="night_on_surface">#FFFF0000</color> <!-- Red text on dark red surface -->
-</resources> \ No newline at end of file
+ <color name="night_red_primary">#FFFF0000</color>
+ <color name="night_red_variant">#FFBB0000</color>
+ <color name="night_on_red">#FF000000</color>
+ <color name="night_background">#FF000000</color>
+ <color name="night_on_background">#FFFF0000</color>
+ <color name="night_surface">#FF110000</color>
+ <color name="night_on_surface">#FFFF0000</color>
+</resources>
diff --git a/android-app/app/src/main/res/values/strings.xml b/android-app/app/src/main/res/values/strings.xml
index cec4850..499ba8d 100755
--- a/android-app/app/src/main/res/values/strings.xml
+++ b/android-app/app/src/main/res/values/strings.xml
@@ -1,6 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">nav</string>
+ <!-- Navigation -->
+ <string name="nav_map">Map</string>
+ <string name="nav_forecast">Forecast</string>
+
<!-- Instrument Labels -->
<string name="instrument_label_wind">WIND</string>
<string name="instrument_label_aws">AWS</string>
@@ -44,4 +49,13 @@
<string name="anchor_inactive">Anchor Watch Inactive</string>
<string name="anchor_active_format">Anchor Set at %1$.4f, %2$.4f\nRadius: %3$.1fm\nDistance: %4$.1fm (%5$.1fm from limit)</string>
<string name="anchor_active_dragging_format">!!! ANCHOR DRAG !!!\nAnchor Set at %1$.4f, %2$.4f\nRadius: %3$.1fm\nDistance: %4$.1fm (%5$.1fm OVER limit)</string>
+
+ <!-- Weather / Forecast Strings -->
+ <string name="loading_weather">Fetching weather…</string>
+ <string name="error_location">Could not get location. Showing default position.</string>
+ <string name="error_weather">Failed to load weather data.</string>
+ <string name="wind_speed_fmt">%.0f kt</string>
+ <string name="temp_fmt">%.0f °C</string>
+ <string name="precip_fmt">%d%%</string>
+ <string name="permission_rationale">Location is needed to show weather for your current position.</string>
</resources>
diff --git a/android-app/app/src/main/res/values/themes.xml b/android-app/app/src/main/res/values/themes.xml
index 612bba1..abef4b9 100755
--- a/android-app/app/src/main/res/values/themes.xml
+++ b/android-app/app/src/main/res/values/themes.xml
@@ -1,37 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.Nav" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
- <!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
- <!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
- <!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
- <!-- Customize your theme here. -->
+ </style>
+
+ <!-- Maritime theme (weather/forecast features) -->
+ <style name="Theme.NavApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
+ <item name="colorPrimary">@color/primary</item>
+ <item name="colorPrimaryDark">@color/primary_dark</item>
+ <item name="colorAccent">@color/accent</item>
+ <item name="android:statusBarColor">@color/primary_dark</item>
</style>
<!-- Night Vision Theme -->
<style name="Theme.Nav.NightVision" parent="Theme.MaterialComponents.NoActionBar">
- <!-- Primary brand color. -->
<item name="colorPrimary">@color/night_red_primary</item>
<item name="colorPrimaryVariant">@color/night_red_variant</item>
<item name="colorOnPrimary">@color/night_on_red</item>
- <!-- Secondary brand color. -->
<item name="colorSecondary">@color/night_red_primary</item>
<item name="colorSecondaryVariant">@color/night_red_variant</item>
<item name="colorOnSecondary">@color/night_on_red</item>
- <!-- Background color -->
<item name="android:colorBackground">@color/night_background</item>
- <!-- Surface color -->
<item name="colorSurface">@color/night_surface</item>
<item name="colorOnSurface">@color/night_on_surface</item>
- <!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">@color/night_background</item>
- <!-- Customize your theme here. -->
</style>
<!-- Instrument Display Styles -->
@@ -62,4 +61,4 @@
<item name="android:textColor">@color/instrument_text_normal</item>
<item name="android:textSize">@dimen/text_size_instrument_secondary</item>
</style>
-</resources> \ No newline at end of file
+</resources>