BREAKING: Complete rewrite of data flow to fix network isolation issue.
Problem: When connected to Bee's WiFi AP (192.168.0.10), the phone has
NO internet access. The Bee AP is just a direct connection to the dashcam
with no upstream gateway. The old design tried to simultaneously pull from
Bee and push to ADAMaps, which fundamentally couldn't work.
Solution: Store-and-forward with two independent subsystems:
1. BeeCollectorService - Collection only
- Binds to unvalidated WiFi (Bee AP)
- Polls Bee for detections
- Stores to local Room database
- Does NOT attempt internet uploads
2. AdaMapsUploadWorker - Upload only
- WorkManager-based background worker
- Only runs when device has VALIDATED internet
- Reads from local DB, batch uploads to ADAMaps
- Marks as synced, retries with backoff
New components:
- Room database (DetectionEntity, DetectionDao, VarroaDatabase)
- NetworkStateMonitor for tracking validated vs unvalidated networks
- Improved UI with BEE/LOCAL/UPLOAD indicators
- Manual sync trigger when internet + pending data
Version: 1.7.0 (versionCode 7)
Full rewrite of bee-debug-app as ADAMaps data proxy.
- Detection forwarder to ADAMaps API (polls landmarks/last/200, dedup by id+ts)
- 30s camera snapshot with 4-endpoint auto-detect
- GPS mini-map via osmdroid/OpenStreetMap
- Device status panel (firmware, GPS, AI ready flags)
- Connection status bar + forwarding toggle
- Foreground service with persistent notification
- Dark amber theme, no Google Play Services
- Package: com.adamaps.varroa, minSdk 26