cc11a3d31abd2fa15fd1e86ac6288d33d8ac22e4
Overlay screen staleness: - Add _lastUpdateTime field to track GPS data freshness - Add _stalenessCheckTimer for periodic staleness monitoring (1s interval) - Update _lastUpdateTime from message.timestamp in _listenToMainAppMessages - Start staleness monitoring in initState, cancel in dispose - Calculate staleness opacity in build() (0.5 alpha after 3s) - Apply staleness dimming to speed text, unit text, heading icon, and heading text - Show "--" for speed after 10s of no data (setState in timer callback) - Immediate snap-back when fresh data arrives (no AnimatedOpacity) SpeedometerScreen error surfacing: - Import permission_handler for openAppSettings - Register error callback on OverlayProvider in initState postFrameCallback - Implement _handleOverlayError to show snackbars for overlay errors - Permission error: snackbar with "Settings" action button that opens app settings - Creation failure: snackbar with error message (no action button) - Communication degraded: snackbar with error message (no action button) - Clean up error callback in dispose (try-catch for disposed provider) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GPS Speedometer
A GPS Speedometer aimed at Android on Motorcycle / Bicycle applications. Created with the help of Claude Code
Features
Core Functionality
- Real-time speed display using GPS
- Maybe also direction display using GPS
- Good floating window / split screen support(hopefully)
Customizable Settings
- Speed Units: mph, km/h, knots (with convenient unit selector buttons)
- Theme: Light/Dark mode (expandable for custom themes)
Technical Specifications
- Target Platform: Android (primary)
- Target Device: Mobile phones and tablets
- GPS Requirements: Location permissions required
- Offline Capability: Full functionality without internet
Architecture Design
To be updated
Permissions Required
ACCESS_FINE_LOCATION- For high-precision GPS trackingACCESS_COARSE_LOCATION- Fallback location access
Getting Started
Prerequisites
- Flutter SDK
- Android development environment
- Physical device recommended (GPS simulation limited in emulator)
Installation
- Clone the repository
- Run
flutter pub get - Connect Android device or start emulator
- Run
flutter run
Development
flutter run- Run the app in development modeflutter build apk- Build APK for Androidflutter test- Run unit tests
Releases
1
Release v2.3.0
Latest
Languages
HTML
49.4%
Dart
31.5%
C++
9.6%
CMake
7.5%
Swift
0.9%
Other
1%