Browse Source

KYC Validation fixes

master
Preyea Regmi 5 years ago
parent
commit
61037dd72a
  1. 25
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java

25
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java

@ -91,6 +91,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
private BehaviorSubject<Boolean> alternateIdRelatedValidationSubject;
private BehaviorSubject<Boolean> form1ValidationSubject;
private BehaviorSubject<Boolean> form2ValidationSubject;
private BehaviorSubject<Boolean> form3ValidationSubject;
public KYCV3ViewModel(KYCV3PresenterInterface.KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface) {
@ -120,6 +123,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
this.penntestReferenceSubmissionLiveData = new MutableLiveData<>();
this.penntestReferenceErrorMessageLiveData = new MutableLiveData<>();
alternateIdRelatedValidationSubject = BehaviorSubject.createDefault(true);
form1ValidationSubject = BehaviorSubject.createDefault(false);
form2ValidationSubject = BehaviorSubject.createDefault(false);
form3ValidationSubject = BehaviorSubject.createDefault(false);
}
@ -143,9 +149,14 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
public void onCustomerDetailFormReady(boolean isReady) {
this.customerDetailViewSubscriptions.add(
Observable.combineLatest(setUpForm1Validation(), setUpForm2Validation(), setUpForm3Validation(), (form1Result, form2Result, form3Result) -> form1Result && form2Result && form3Result)
.subscribeOn(AndroidSchedulers.mainThread())
.subscribeWith(new CustomerDetailFormViewBindingObserver()));
Observable.combineLatest(form1ValidationSubject, form2ValidationSubject, form3ValidationSubject, (form1Result, form2Result, form3Result) ->
{
customerDetailForm1Button.setValue(form1Result);
customerDetailForm2Button.setValue(form1Result&&form2Result);
return form1Result && form2Result && form3Result;
}).subscribeWith(new CustomerDetailFormViewBindingObserver()));
this.customerDetailViewSubscriptions.add(
setupAlternateIDDependenciesValidation()
@ -165,8 +176,13 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
}
}));
this.customerDetailViewSubscriptions.add(setUpForm1Validation().subscribe(result->form1ValidationSubject.onNext(result)));
this.customerDetailViewSubscriptions.add(setUpForm2Validation().subscribe(result->form2ValidationSubject.onNext(result)));
this.customerDetailViewSubscriptions.add(setUpForm3Validation().subscribe(result->form3ValidationSubject.onNext(result)));
}
@Override
public void onPennyTestFormReady(boolean isReady) {
setupPennyTestValidationFormValidation();
@ -1267,13 +1283,12 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
private boolean enableForm3ButtonExplicitly;
public CustomerDetailFormViewBindingObserver() {
enableForm3ButtonExplicitly = false;
}
@Override
public void onNext(Boolean aBoolean) {
customerDetailForm3Button.setValue(aBoolean);
enableForm3ButtonExplicitly = true;
}
@Override

Loading…
Cancel
Save