finishActiveSet method

Future<bool> finishActiveSet({
  1. required double weight,
  2. required int reps,
  3. required int rir,
  4. Duration? setDuration,
  5. int restSeconds = 90,
})

Implementation

Future<bool> finishActiveSet({
  required double weight,
  required int reps,
  required int rir,
  Duration? setDuration,
  int restSeconds = 90,
}) async {
  if (_plan == null || _state == null) return false;
  if (_activeSetExerciseIndex == null || _activeSetIndex == null) {
    return false;
  }
  final taken = setDuration ?? _setElapsed;
  final ex = _activeSetExerciseIndex!;
  final si = _activeSetIndex!;
  _setTicker?.cancel();
  _setTicker = null;
  _setStartedAt = null;
  _setElapsed = Duration.zero;
  await completeSet(
    exerciseIndex: ex,
    setIndex: si,
    weight: weight,
    reps: reps,
    rir: rir,
    setDuration: taken,
    pauseDuration: Duration(seconds: restSeconds),
  );
  _activeSetExerciseIndex = null;
  _activeSetIndex = null;
  beginRest(seconds: restSeconds);
  notifyListeners();
  return true;
}