From 75d58c08ed95f350a0d2575bd2e6e58910bc918a Mon Sep 17 00:00:00 2001 From: Mikkeli Matlock Date: Thu, 12 Feb 2026 09:10:18 +0900 Subject: [PATCH] chore(04-02): remove grace period placeholder from OverlayProvider - Remove _gracePeriodTimer field and all grace period logic - Grace period management now handled by GpsDataManager - Overlay provider wiring completed in Task 1 (SpeedometerScreen initState) - GPS_GRACE_PERIOD constant remains in TimingConfig (deprecated, unused) --- lib/providers/overlay_provider.dart | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/lib/providers/overlay_provider.dart b/lib/providers/overlay_provider.dart index 4d7d23d..88318f3 100644 --- a/lib/providers/overlay_provider.dart +++ b/lib/providers/overlay_provider.dart @@ -23,7 +23,6 @@ class OverlayProvider extends ChangeNotifier { StreamSubscription? _overlayMessageSubscription; Timer? _overlayStatusCheckTimer; Timer? _tapCloseTimer; - Timer? _gracePeriodTimer; // Dependencies — set via update() from ProxyProvider GpsDataManager? _gpsManager; @@ -70,10 +69,6 @@ class OverlayProvider extends ChangeNotifier { Future showOverlay() async { if (_isDisposed) return; - // Cancel grace period if user reopens overlay within grace period - _gracePeriodTimer?.cancel(); - _gracePeriodTimer = null; - try { // Check permission before attempting to show overlay final hasPermission = await _overlayService.checkPermission(); @@ -246,13 +241,6 @@ class OverlayProvider extends ChangeNotifier { _stopListeningToOverlayMessages(); notifyListeners(); - // Start GPS grace period (30s) — infrastructure for Phase 4 - _gracePeriodTimer?.cancel(); - _gracePeriodTimer = Timer(TimingConfig.GPS_GRACE_PERIOD, () { - Logger.info('GPS grace period expired', 'OverlayProvider'); - _gracePeriodTimer = null; - }); - if (shouldBringToFront) { _bringAppToFront(); } @@ -280,7 +268,6 @@ class OverlayProvider extends ChangeNotifier { _overlayMessageSubscription?.cancel(); _overlayStatusCheckTimer?.cancel(); _tapCloseTimer?.cancel(); - _gracePeriodTimer?.cancel(); Logger.info('OverlayProvider disposed', 'OverlayProvider'); super.dispose(); }