|
|
@ -1,6 +1,7 @@ |
|
|
|
package com.gmeremit.online.gmeremittance_native.kycV2.presenter.kyc; |
|
|
|
|
|
|
|
import android.graphics.Bitmap; |
|
|
|
import android.os.Handler; |
|
|
|
import android.util.Log; |
|
|
|
|
|
|
|
import com.gmeremit.online.gmeremittance_native.R; |
|
|
@ -46,18 +47,6 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
CompositeDisposable compositeDisposable; |
|
|
|
private final KYCV2GatewayInterface gateway; |
|
|
|
|
|
|
|
// private Bitmap selfie = null; |
|
|
|
// private Bitmap front_doc = null; |
|
|
|
// private Bitmap back_doc = null; |
|
|
|
// private Bitmap passbook = null; |
|
|
|
// private Bitmap passport = null; |
|
|
|
// |
|
|
|
// private File selfieFile = null; |
|
|
|
// private File frontdocFile = null; |
|
|
|
// private File backdocFile = null; |
|
|
|
// private File passbookFile = null; |
|
|
|
// private File passportFile = null; |
|
|
|
|
|
|
|
public static final String ISSUE_DATE_KEY = "docIssueDate"; |
|
|
|
public static final String EXPIRY_DATE_KEY = "docExpiryDate"; |
|
|
|
|
|
|
@ -65,9 +54,6 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
private final KYCForm2Validator kycForm2Validator; |
|
|
|
private final KYCForm3Validator kycForm3Validator; |
|
|
|
|
|
|
|
private final KYCView1VModel kycForm1DataModel; |
|
|
|
private final KYCView2VModel kycForm2DataModel; |
|
|
|
|
|
|
|
|
|
|
|
public KYCV2Presenter(KYCV2PresenterInterface.KYCV2ContractInterface view, int height, int width) { |
|
|
|
this.view = view; |
|
|
@ -78,68 +64,10 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
this.kycForm1Validator = new KYCForm1Validator(this); |
|
|
|
this.kycForm2Validator = new KYCForm2Validator(this); |
|
|
|
this.kycForm3Validator = new KYCForm3Validator(this); |
|
|
|
this.kycForm1DataModel = new KYCView1VModel(); |
|
|
|
this.kycForm2DataModel = new KYCView2VModel(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean validateKYCView1(KYCView1VModel data) { |
|
|
|
boolean isValid = true; |
|
|
|
if (checkIfEmptyOrNull(data.getFirstName())) { |
|
|
|
this.view.getView1Contract().setErrorOnFirstName(getStringfromStringId(R.string.kyc_first_name_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnFirstName(null); |
|
|
|
|
|
|
|
// if (!returnFalseIfMobileNoIsNotValid(data.getMobileNumber())) isValid = false; |
|
|
|
|
|
|
|
if (checkIfEmptyOrNull(data.getEmail()) || !Utils.isValidEmail(data.getEmail())) { |
|
|
|
this.view.getView1Contract().setErrorOnEmail(getStringfromStringId(R.string.email_valid_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnEmail(null); |
|
|
|
|
|
|
|
if (data.getGender() == null) { |
|
|
|
this.view.getView1Contract().setErrorOnGender(getStringfromStringId(R.string.kyc_gender_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnGender(null); |
|
|
|
|
|
|
|
if (data.getNativeCountry() == null) { |
|
|
|
this.view.getView1Contract().setErrorOnNativeCountry(getStringfromStringId(R.string.kyc_native_country_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnNativeCountry(null); |
|
|
|
|
|
|
|
if (checkIfEmptyOrNull(data.getAddress())) { |
|
|
|
this.view.getView1Contract().setErrorOnAddress(getStringfromStringId(R.string.kyc_address_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnAddress(null); |
|
|
|
|
|
|
|
if (data.getProvince() == null) { |
|
|
|
this.view.getView1Contract().setErrorOnProvince(getStringfromStringId(R.string.kyc_province_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnProvince(null); |
|
|
|
|
|
|
|
if (data.getOccupation() == null) { |
|
|
|
this.view.getView1Contract().setErrorOnOccupation(getStringfromStringId(R.string.kyc_occupation_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnOccupation(null); |
|
|
|
|
|
|
|
if (checkIfEmptyOrNull(data.getDob())) { |
|
|
|
this.view.getView1Contract().setErrorOnDob(getStringfromStringId(R.string.dob_valid_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView1Contract().setErrorOnDob(null); |
|
|
|
|
|
|
|
return isValid; |
|
|
|
} |
|
|
|
|
|
|
|
private boolean returnFalseIfMobileNoIsNotValid(String mobile) { |
|
|
|
if (mobile == null || mobile.length() < 1) { |
|
|
|
this.view.getView1Contract().setErrorOnMobileNumber(getStringfromStringId(R.string.kyc_mobile_empty_error)); |
|
|
@ -154,50 +82,6 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean validateKYCView2(KYCView2VModel data) { |
|
|
|
boolean isValid = true; |
|
|
|
if (data.getPrimaryBank() == null) { |
|
|
|
this.view.getView2Contract().setErrorOnPrimaryBank(getStringfromStringId(R.string.kyc_bank_name_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView2Contract().setErrorOnPrimaryBank(null); |
|
|
|
|
|
|
|
if (checkIfEmptyOrNull(data.getAccNo())) { |
|
|
|
this.view.getView2Contract().setErrorOnAccountNo(getStringfromStringId(R.string.kyc_account_number_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView2Contract().setErrorOnAccountNo(null); |
|
|
|
|
|
|
|
if (data.getVerificationType() == null) { |
|
|
|
this.view.getView2Contract().setErrorOnVerificationType(getStringfromStringId(R.string.kyc_verification_id_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView2Contract().setErrorOnVerificationType(null); |
|
|
|
|
|
|
|
if (checkIfEmptyOrNull(data.getVerficationId())) { |
|
|
|
this.view.getView2Contract().setErrorOnVerificationId(getStringfromStringId(R.string.kyc_verification_no_error)); |
|
|
|
isValid = false; |
|
|
|
} else if (data.getVerificationType() != null && data.getVerificationType().getText() != null && (data.getVerificationType().getText().toLowerCase().contains("national") || data.getVerificationType().getText().toLowerCase().contains("alien"))) { |
|
|
|
if (data.getVerficationId().length() == 14) |
|
|
|
this.view.getView2Contract().setErrorOnVerificationId(null); |
|
|
|
else { |
|
|
|
this.view.getView2Contract().setErrorOnVerificationId(getStringfromStringId(R.string.kyc_verification_id_error)); |
|
|
|
isValid = false; |
|
|
|
} |
|
|
|
} else |
|
|
|
this.view.getView2Contract().setErrorOnVerificationId(null); |
|
|
|
if (hasErrorInDependentForVerificationType(data.getVerificationType(), data.getIssueDate(), data.getExpiryDate())) { |
|
|
|
isValid = false; |
|
|
|
} |
|
|
|
if (data.getSourceOfFund() == null) { |
|
|
|
this.view.getView2Contract().setErrorOnSourceOfFund(getStringfromStringId(R.string.kyc_source_of_fund_error)); |
|
|
|
isValid = false; |
|
|
|
} else |
|
|
|
this.view.getView2Contract().setErrorOnSourceOfFund(null); |
|
|
|
|
|
|
|
return isValid; |
|
|
|
} |
|
|
|
|
|
|
|
private boolean hasErrorInDependentForVerificationType(IdType verificationType, String issueDate, String expiryDate) { |
|
|
|
boolean errorInIssueDate = false; |
|
|
@ -231,15 +115,6 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean validateKYCView3(KYCView3VModel data) { |
|
|
|
if (frontdocFile == null || backdocFile == null) { |
|
|
|
view.showToastMessage(getStringfromStringId(R.string.please_provide_all_images_text)); |
|
|
|
return false; |
|
|
|
} |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public KYCV2PresenterInterface.KYCForm1Validator getKYCForm1Validator() { |
|
|
|
return this.kycForm1Validator; |
|
|
@ -251,8 +126,8 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public KYCV2PresenterInterface.KYCForm2Validator getKYCForm3Validator() { |
|
|
|
return null; |
|
|
|
public KYCV2PresenterInterface.KYCForm3Validator getKYCForm3Validator() { |
|
|
|
return kycForm3Validator; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -271,70 +146,80 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
switch (requestCode) { |
|
|
|
case KYCView3Fragment.FRONT_REGID_CAMERA: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
frontdocFile = data; |
|
|
|
view.getView3Contract().setFrontImage(ImageUtils.blur(view.getContext(), frontdocFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// frontdocFile = data; |
|
|
|
kycForm3Validator.validateFrontDoc(data); |
|
|
|
view.getView3Contract().setFrontImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.FRONT_REGID_GALLERY: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
frontdocFile = data; |
|
|
|
view.getView3Contract().setFrontImage(ImageUtils.blur(view.getContext(), frontdocFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// frontdocFile = data; |
|
|
|
kycForm3Validator.validateFrontDoc(data); |
|
|
|
view.getView3Contract().setFrontImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
case KYCView3Fragment.BACK_REGID_CAMERA: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
backdocFile = data; |
|
|
|
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(), backdocFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// backdocFile = data; |
|
|
|
kycForm3Validator.validateBackDoc(data); |
|
|
|
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
|
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.BACK_REGID_GALLERY: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
backdocFile = data; |
|
|
|
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(), backdocFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// backdocFile = data; |
|
|
|
kycForm3Validator.validateBackDoc(data); |
|
|
|
view.getView3Contract().setBackImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
case KYCView3Fragment.PASSBOOKREQ_CAMERA: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
passbookFile = data; |
|
|
|
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(), passbookFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// passbookFile = data; |
|
|
|
kycForm3Validator.validatePassbook(data); |
|
|
|
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.PASSBOOKREQ_GALLERY: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
passbookFile = data; |
|
|
|
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(), passbookFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// passbookFile = data; |
|
|
|
kycForm3Validator.validatePassbook(data); |
|
|
|
view.getView3Contract().setPassbookImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
case KYCView3Fragment.PASSPORTREQ_CAMERA: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
passportFile = data; |
|
|
|
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(), passportFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// passportFile = data; |
|
|
|
kycForm3Validator.validatePassport(data); |
|
|
|
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.PASSPORTREQ_GALLERY: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
passportFile = data; |
|
|
|
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(), passportFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// passportFile = data; |
|
|
|
kycForm3Validator.validatePassport(data); |
|
|
|
view.getView3Contract().setPassportImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.SELFIE_REGID_CAMERA: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
selfieFile = data; |
|
|
|
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(), selfieFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// selfieFile = data; |
|
|
|
kycForm3Validator.validateSelfie(data); |
|
|
|
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
case KYCView3Fragment.SELFIE_REGID_GALLERY: |
|
|
|
if (resultCode == RESULT_OK) { |
|
|
|
selfieFile = data; |
|
|
|
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(), selfieFile.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
// selfieFile = data; |
|
|
|
kycForm3Validator.validateSelfie(data); |
|
|
|
view.getView3Contract().setSelfieImage(ImageUtils.blur(view.getContext(), data.getAbsolutePath(), thumbnailHeight, thumbnailWidth)); |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
@ -346,40 +231,19 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
@Override |
|
|
|
public void prepareToSendData() { |
|
|
|
|
|
|
|
KYCView1VModel view1VModel = view.getView1Contract().getView1RelatedData(); |
|
|
|
KYCView2VModel view2VModel = view.getView2Contract().getView2RelatedData(); |
|
|
|
|
|
|
|
if (validateKYCView1(view1VModel)) { |
|
|
|
if (validateKYCView2(view2VModel)) { |
|
|
|
if (validateKYCView3(null)) { |
|
|
|
sendKycForRegistration(view1VModel, view2VModel); |
|
|
|
} else |
|
|
|
view.showView3(); |
|
|
|
} else |
|
|
|
view.showView2(); |
|
|
|
KYCView1VModel view1VModel = kycForm1Validator.getKycView1VModel(); |
|
|
|
KYCView2VModel view2VModel = kycForm2Validator.getKycView2VModel(); |
|
|
|
|
|
|
|
} else |
|
|
|
view.showView1(); |
|
|
|
sendKycForRegistration(view1VModel, view2VModel); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void validateAllFormsAndRequestForPennyTest() { |
|
|
|
KYCView1VModel view1VModel = view.getView1Contract().getView1RelatedData(); |
|
|
|
KYCView2VModel view2VModel = view.getView2Contract().getView2RelatedData(); |
|
|
|
|
|
|
|
if (validateKYCView1(view1VModel)) { |
|
|
|
if (validateKYCView2(view2VModel)) { |
|
|
|
if (validateKYCView3(null)) { |
|
|
|
view.showPennyTestView(); |
|
|
|
} else |
|
|
|
view.showView3(); |
|
|
|
} else |
|
|
|
view.showView2(); |
|
|
|
view.showPennyTestView(); |
|
|
|
|
|
|
|
} else |
|
|
|
view.showView1(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -406,10 +270,10 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
view2VModel.getExpiryDate(), |
|
|
|
(view2VModel.getIssueDate() == null) ? "" : view2VModel.getIssueDate(), |
|
|
|
view2VModel.getSourceOfFund().getId(), |
|
|
|
selfieFile, |
|
|
|
frontdocFile, |
|
|
|
backdocFile, |
|
|
|
passbookFile) |
|
|
|
kycForm3Validator.selfieFile, |
|
|
|
kycForm3Validator.frontdocFile, |
|
|
|
kycForm3Validator.backdocFile, |
|
|
|
kycForm3Validator.passbookFile) |
|
|
|
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) |
|
|
|
.doOnSubscribe(sub -> { |
|
|
|
view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)); |
|
|
@ -711,6 +575,8 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
&& this.isGenderValid && this.isNativeCountryValid && this.isOccupationValid && this.isProvinceValid; |
|
|
|
|
|
|
|
listener.onKYCForm1ValidationResult(result); |
|
|
|
if (result) |
|
|
|
Log.d("GMEKYC", kycView1VModel.toString()); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
@ -795,8 +661,8 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
view.getView2Contract().clearIdTypeRelatedData(); |
|
|
|
isSelectedExpiryDateValid = false; |
|
|
|
isSelectedIssueDateValid = false; |
|
|
|
kycForm2DataModel.setExpiryDate(""); |
|
|
|
kycForm2DataModel.setIssueDate(""); |
|
|
|
kycView2VModel.setExpiryDate(""); |
|
|
|
kycView2VModel.setIssueDate(""); |
|
|
|
// Checking Id Type Dependents now |
|
|
|
|
|
|
|
//Update widget masking type |
|
|
@ -820,7 +686,7 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
//National Id doesn't have expiry date |
|
|
|
if (idType.getText().equalsIgnoreCase("National ID")) { |
|
|
|
isSelectedExpiryDateValid = true; |
|
|
|
kycForm2DataModel.setExpiryDate(""); |
|
|
|
kycView2VModel.setExpiryDate(""); |
|
|
|
} |
|
|
|
|
|
|
|
view.getView2Contract().updateVerificationTypeDependentView(idType.getDependent()); |
|
|
@ -904,7 +770,8 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
@Override |
|
|
|
public boolean validateSelectedIssueDate(String issuedDate) { |
|
|
|
|
|
|
|
if (checkErrorInDependentForVerificationType(kycForm2DataModel.getVerificationType(), issuedDate, kycView2VModel.getExpiryDate())) { |
|
|
|
// if (checkErrorInDependentForVerificationType(kycView2VModel.getVerificationType(), issuedDate, kycView2VModel.getExpiryDate())) { |
|
|
|
if (checkIfEmptyOrNull(issuedDate)) { |
|
|
|
isSelectedIssueDateValid = false; |
|
|
|
kycView2VModel.setIssueDate(""); |
|
|
|
view.getView2Contract().updateIssuedDate(null); |
|
|
@ -919,14 +786,14 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
|
|
|
|
@Override |
|
|
|
public boolean validateSelectedExpiryDate(String expiryDate) { |
|
|
|
if (checkErrorInDependentForVerificationType(kycForm2DataModel.getVerificationType(), kycView2VModel.getIssueDate(), expiryDate)) { |
|
|
|
// if (checkErrorInDependentForVerificationType(kycView2VModel.getVerificationType(), kycView2VModel.getIssueDate(), expiryDate)) { |
|
|
|
if (checkIfEmptyOrNull(expiryDate)) { |
|
|
|
isSelectedExpiryDateValid = false; |
|
|
|
kycView2VModel.setIssueDate(""); |
|
|
|
kycView2VModel.setExpiryDate(""); |
|
|
|
view.getView2Contract().updateExpiryDate(null); |
|
|
|
|
|
|
|
} else { |
|
|
|
isSelectedExpiryDateValid = true; |
|
|
|
kycView2VModel.setIssueDate(expiryDate); |
|
|
|
kycView2VModel.setExpiryDate(expiryDate); |
|
|
|
view.getView2Contract().updateExpiryDate(expiryDate); |
|
|
|
} |
|
|
|
checkAllFieldValidation(); |
|
|
@ -971,10 +838,12 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
if (sourceOfFund == null) { |
|
|
|
view.getView2Contract().setErrorOnSourceOfFund(getStringfromStringId(R.string.kyc_source_of_fund_error)); |
|
|
|
view.getView2Contract().updateSourceOfFund(null); |
|
|
|
kycView2VModel.setSourceOfFund(null); |
|
|
|
isSourceOfFundValid = false; |
|
|
|
} else { |
|
|
|
view.getView2Contract().setErrorOnSourceOfFund(null); |
|
|
|
view.getView2Contract().updateSourceOfFund(sourceOfFund.getText()); |
|
|
|
kycView2VModel.setSourceOfFund(sourceOfFund); |
|
|
|
isSourceOfFundValid = true; |
|
|
|
} |
|
|
|
checkAllFieldValidation(); |
|
|
@ -982,6 +851,7 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean checkAllFieldValidation() { |
|
|
|
boolean result = isPrimaryBankValid && |
|
|
|
isPrimaryAccountNumberValid && |
|
|
@ -993,7 +863,8 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
this.listener.onKYCForm2ValidationResult( |
|
|
|
result |
|
|
|
); |
|
|
|
|
|
|
|
if (result) |
|
|
|
Log.d("GMEKYC", kycView2VModel.toString()); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
@ -1069,6 +940,25 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
return isPassportValid; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void validateAllOnForm3Visible() { |
|
|
|
Log.d("GMEKYC","On Form 3 visible"); |
|
|
|
boolean form1Validaiton = kycForm1Validator.checkAllFieldValidation(); |
|
|
|
boolean form2Validation = kycForm2Validator.checkAllFieldValidation(); |
|
|
|
|
|
|
|
boolean form3Validation = isSelfieValid && |
|
|
|
isFrontdocValid && |
|
|
|
isBackdocValid && |
|
|
|
isPassbookValid && |
|
|
|
isPassportValid; |
|
|
|
|
|
|
|
if (form1Validaiton && form2Validation && form3Validation) |
|
|
|
listener.onKYCForm3ValidationResult(true); |
|
|
|
else |
|
|
|
listener.onKYCForm3ValidationResult(false); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void checkAllFieldValidation() { |
|
|
|
boolean form1Validaiton = kycForm1Validator.checkAllFieldValidation(); |
|
|
@ -1081,11 +971,17 @@ public class KYCV2Presenter extends BasePresenter implements KYCV2PresenterInter |
|
|
|
isPassportValid; |
|
|
|
|
|
|
|
if (form3Validation) { |
|
|
|
if (form1Validaiton && form2Validation) |
|
|
|
listener.onKYCForm3ValidationResult(true); |
|
|
|
else { |
|
|
|
if (!form1Validaiton) { |
|
|
|
listener.onKYCForm3ValidationResult(false); |
|
|
|
view.showToastMessage(getStringfromStringId(R.string.kyc_form_fill_up_number_error)); |
|
|
|
new Handler().postDelayed(view::showView1, 1000); |
|
|
|
|
|
|
|
} else if (!form2Validation) { |
|
|
|
listener.onKYCForm3ValidationResult(false); |
|
|
|
view.showToastMessage(getStringfromStringId(R.string.kyc_form_fill_up_number_error)); |
|
|
|
new Handler().postDelayed(view::showView2, 1000); |
|
|
|
} else { |
|
|
|
listener.onKYCForm3ValidationResult(true); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|