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> alternateIdRelatedValidationSubject;
private BehaviorSubject<Boolean> form1ValidationSubject;
private BehaviorSubject<Boolean> form2ValidationSubject;
private BehaviorSubject<Boolean> form3ValidationSubject;
public KYCV3ViewModel(KYCV3PresenterInterface.KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface) { public KYCV3ViewModel(KYCV3PresenterInterface.KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface) {
@ -120,6 +123,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
this.penntestReferenceSubmissionLiveData = new MutableLiveData<>(); this.penntestReferenceSubmissionLiveData = new MutableLiveData<>();
this.penntestReferenceErrorMessageLiveData = new MutableLiveData<>(); this.penntestReferenceErrorMessageLiveData = new MutableLiveData<>();
alternateIdRelatedValidationSubject = BehaviorSubject.createDefault(true); 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) { public void onCustomerDetailFormReady(boolean isReady) {
this.customerDetailViewSubscriptions.add( 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( this.customerDetailViewSubscriptions.add(
setupAlternateIDDependenciesValidation() 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 @Override
public void onPennyTestFormReady(boolean isReady) { public void onPennyTestFormReady(boolean isReady) {
setupPennyTestValidationFormValidation(); setupPennyTestValidationFormValidation();
@ -1267,13 +1283,12 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
private boolean enableForm3ButtonExplicitly; private boolean enableForm3ButtonExplicitly;
public CustomerDetailFormViewBindingObserver() { public CustomerDetailFormViewBindingObserver() {
enableForm3ButtonExplicitly = false;
} }
@Override @Override
public void onNext(Boolean aBoolean) { public void onNext(Boolean aBoolean) {
customerDetailForm3Button.setValue(aBoolean); customerDetailForm3Button.setValue(aBoolean);
enableForm3ButtonExplicitly = true;
} }
@Override @Override

Loading…
Cancel
Save