|
@ -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 |
|
|