initialize method
Initializes the step tracking service.
This method sets up the necessary observers, initializes notification utilities, and prepares the step tracking session. It loads any persisted data and handles recovery of interrupted sessions if needed. The initial total steps are calculated from the session history.
config
- Optional configuration for the step logger. If not provided, a default
configuration is used.
Returns a Future that completes with true
when initialization is successful.
Implementation
@override
Future<bool> initialize({StepLoggerConfig? config}) async {
WidgetsBinding.instance.addObserver(this);
_config = config ?? const StepLoggerConfig();
_notificationUtilsIOS.initializeNotifications();
await _initStepTracking();
await _loadPersistedData();
if (_isTracking && _sessionStartTime == null) {
await _resetTrackingState();
} else if (_isTracking) {
await _recoverInterruptedSession();
}
// Calculate initial total steps from history
_totalSteps = _calculateTotalFromSessions();
return true;
}