diff --git a/can_sniffer/src/flipper/providers/app_status_provider.py b/can_sniffer/src/flipper/providers/app_status_provider.py index c11ba71..558483b 100644 --- a/can_sniffer/src/flipper/providers/app_status_provider.py +++ b/can_sniffer/src/flipper/providers/app_status_provider.py @@ -5,7 +5,7 @@ Collects status from all can_sniffer components for display on Flipper Zero. """ import time -from dataclasses import dataclass, field +from dataclasses import dataclass from typing import Dict, Any, Optional from flipper.providers.base import BaseProvider @@ -41,7 +41,7 @@ class AppStatusData: uptime_seconds: float = 0.0 -class AppStatusProvider(BaseProvider[AppStatusData]): +class AppStatusProvider(BaseProvider): """ Provider for application status data. @@ -55,11 +55,13 @@ class AppStatusProvider(BaseProvider[AppStatusData]): _start_time: float = 0.0 def __init__(self): - super().__init__() - self._data = AppStatusData() - AppStatusProvider._start_time = time.time() + super().__init__(name="app_status", cache_ttl=1.0) + if not hasattr(self, '_data'): + self._data = AppStatusData() + if AppStatusProvider._start_time == 0.0: + AppStatusProvider._start_time = time.time() - def refresh(self) -> None: + def refresh(self) -> bool: """Refresh status data from all components.""" try: self._collect_storage_status() @@ -78,6 +80,7 @@ class AppStatusProvider(BaseProvider[AppStatusData]): # Uptime self._data.uptime_seconds = time.time() - AppStatusProvider._start_time + return True def _collect_storage_status(self) -> None: """Collect SQLite storage status."""