advance method

void advance()

Advances the flow to the next BankTransferStep.

Has no effect when the flow is already on BankTransferStep.result.

Implementation

void advance() {
  final next = switch (_step) {
    BankTransferStep.amount => BankTransferStep.beneficiary,
    BankTransferStep.beneficiary => BankTransferStep.review,
    BankTransferStep.review => BankTransferStep.pin,
    BankTransferStep.pin => BankTransferStep.result,
    BankTransferStep.result => BankTransferStep.result,
  };

  if (next == _step) return;

  _step = next;
  _status = BankTransferStepChanged(next);
  notifyListeners();
}