AuthenticationPinBloc constructor
AuthenticationPinBloc({
- required PINRepository pinRepository,
Implementation
AuthenticationPinBloc({required this.pinRepository}) : super(const AuthenticationPinState(pinStatus: AuthenticationPINStatus.enterPIN)) {
on<AuthenticationPinAddEvent>((event, emit) async {
String pin = "${state.pin}${event.pinNum}";
if(pin.length < 4){
emit(AuthenticationPinState(pin: pin, pinStatus: AuthenticationPINStatus.enterPIN));
}
else if (await pinRepository.pinEquals(pin)){
emit(AuthenticationPinState(pin: pin, pinStatus: AuthenticationPINStatus.equals));
}
else{
emit(AuthenticationPinState(pin: pin, pinStatus: AuthenticationPINStatus.unequals));
await Future.delayed(
const Duration(seconds: 2),
() => emit(const AuthenticationPinState(pinStatus: AuthenticationPINStatus.enterPIN)),
);
}
});
on<AuthenticationPinEraseEvent>((event, emit) {
String pin = state.pin.substring(0, state.pin.length - 1);
emit(AuthenticationPinState(pin: pin, pinStatus: AuthenticationPINStatus.enterPIN));
});
on<AuthenticationNullPINEvent>((event, emit) {
emit(const AuthenticationPinState(pinStatus: AuthenticationPINStatus.enterPIN));
});
}