tick method
Advances the on-screen timer without a real clock, and fires the auto-stop once the cap is reached — the same signal the real session sends.
Implementation
void tick(Duration elapsed) {
final cap = lastMaxDuration;
final next = _recordedDuration.value + elapsed;
// Held at the cap, as the real session holds it. A fake that counts past
// the cap lets a host's test pass on a number production never reports.
_recordedDuration.value = cap != null && next > cap ? cap : next;
if (cap != null && _recordedDuration.value >= cap) {
_isRecording.value = false;
}
}