66bdd35995
- Add OverlayError enum (permission, creationFailed, communicationDegraded) - Add OverlayService dependency via constructor injection - Add onError callback field for error surfacing (set by SpeedometerScreen) - Refactor showOverlay to check permission before showing overlay - Refactor showOverlay to verify overlay creation via isActive check - Only set _isOverlayActive after verification succeeds - Replace all FlutterOverlayWindow calls with OverlayService methods - Add GPS grace period timer (30s) in _handleOverlayClose - Cancel grace period if overlay reopens within 30s - Register OverlayService in MultiProvider before OverlayProvider - Inject OverlayService into OverlayProvider constructor Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>