From ff5854b75f2ba7c77d467fd9523e2a23060a7c46 Mon Sep 17 00:00:00 2001 From: Claudomator Agent Date: Sun, 15 Mar 2026 14:20:21 +0000 Subject: feat: integrate AIS into ViewModel and MapFragment with vessel symbol layer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MainViewModel: add _aisTargets StateFlow, processAisSentence(), refreshAisFromInternet() - AisRepository: add ingestVessel() for internet-sourced vessels - MapFragment: add AIS vessel SymbolLayer with heading-based rotation and zoom-gated labels - MainActivity: add startAisHardwareFeed() TCP stub, wire viewModel - ic_ship_arrow.xml: new vector drawable for AIS target icons - MainViewModelTest: 3 new AIS tests (processAisSentence happy path, dedup, non-AIS sentence) - JVM test harness: /tmp/ais-vm-test-runner/ — 3 tests GREEN Co-Authored-By: Claude Sonnet 4.6 --- android-app/app/src/main/res/drawable/ic_ship_arrow.xml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 android-app/app/src/main/res/drawable/ic_ship_arrow.xml (limited to 'android-app/app/src/main/res') diff --git a/android-app/app/src/main/res/drawable/ic_ship_arrow.xml b/android-app/app/src/main/res/drawable/ic_ship_arrow.xml new file mode 100644 index 0000000..68e8667 --- /dev/null +++ b/android-app/app/src/main/res/drawable/ic_ship_arrow.xml @@ -0,0 +1,9 @@ + + + -- cgit v1.2.3