resumeSession method

void resumeSession()

Implementation

void resumeSession() {
  final session = _activeSession;
  if (_sessionState != ArgosSessionState.paused || session == null) return;
  final now = _nowMilliseconds;
  final pauseStartedAt = _explicitPauseStartedAt;
  final deadline = _maxDurationDeadlineAt;
  if (_isAdaptiveAutomaticSession &&
      pauseStartedAt != null &&
      deadline != null) {
    final pausedFor = now - pauseStartedAt;
    if (pausedFor > 0) _maxDurationDeadlineAt = deadline + pausedFor;
  }
  _explicitPauseStartedAt = null;
  _backgroundedAt = null;
  _sessionState = ArgosSessionState.recording;
  if (config?.enableStorage ?? false) {
    unawaited(ArgosPacketStorage.instance.resumeSession(session.id));
  }
}