Mikkeli Matlock 6b8bba8686 feat(02-01): create OverlayProvider for overlay lifecycle and messaging
- Created lib/providers/overlay_provider.dart
- Extends ChangeNotifier for reactive overlay state management
- Centralizes ALL overlay operations: show, close, toggle, status monitoring, messaging
- updateDependencies() called by ProxyProvider when GPS or Settings change
- Subscribes to GpsDataManager.dataStream on first update (persist subscription)
- Skips overlay sends when inactive (if-check, not unsubscribe)
- _isDisposed guards on all async-accessible methods
- showOverlay() sends initial data with overlay size info
- _pushDataToOverlay() sends GPS data with current theme/unit
- _startListeningToOverlayMessages() handles overlay→main IPC
- _startOverlayStatusCheck() polls overlay status at 1s interval
- _handleOverlayClose() manages cleanup and optional bring-to-front
- pushCurrentData() public method for background heartbeat usage
- dispose() cancels 4 subscriptions/timers, calls super.dispose() last
2026-02-10 22:05:39 +09:00

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 tracking
  • ACCESS_COARSE_LOCATION - Fallback location access

Getting Started

Prerequisites

  • Flutter SDK
  • Android development environment
  • Physical device recommended (GPS simulation limited in emulator)

Installation

  1. Clone the repository
  2. Run flutter pub get
  3. Connect Android device or start emulator
  4. Run flutter run

Development

  • flutter run - Run the app in development mode
  • flutter build apk - Build APK for Android
  • flutter test - Run unit tests
S
Description
Simple GPS speedometer.
Readme MIT 1.3 MiB
2026-08-27 11:54:50 +00:00
Languages
HTML 49.4%
Dart 31.5%
C++ 9.6%
CMake 7.5%
Swift 0.9%
Other 1%