248053270bc360b322a9cdb620d24d9eb010f56a
Delete old flat files, wire new DI in main.dart:
- Removed: gps_service.dart, config/, models/, providers/overlay_provider.dart,
screens/, services/gps_data_manager.dart, services/overlay_service.dart
- Kept: settings_provider.dart (thin, correct), logger.dart (shared util)
- main.dart now wires: LocationRepository → SpeedometerViewModel → SpeedometerView
- overlay_provider.dart deferred, stub in ui/features/overlay/
- flutter analyze: 30 info-level constant_identifier_names warnings (project convention),
zero errors, zero warnings — builds clean
New structure:
lib/
core/constants/ — gps, overlay, timing, speed_unit
core/theme/ — color_themes
data/
models/ — LocationData (immutable domain model)
services/ — GpsService (stateless wrapper), OverlayService (IPC)
repositories/ — LocationRepository (business logic, ChangeNotifier)
providers/ — SettingsProvider (thin, unchanged)
ui/
features/
speedometer/ — SpeedometerViewModel + SpeedometerView
overlay/ — Stub ViewModel + View (deferred)
shared/ — SpeedDisplay widget
services/ — Logger (shared util)
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%