|
|
@ -187,7 +187,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
|
|
|
|
|
|
|
|
if (shouldRedirectToPennyTestScreen) |
|
|
|
requestPennyTestFromServer("N"); |
|
|
|
new Handler().postDelayed(() -> requestPennyTestFromServer("N"), 300); |
|
|
|
|
|
|
|
//new Handler().postDelayed(()->customerKoreanLiveData.setValue(!isCustomerKorean),5000); |
|
|
|
} |
|
|
@ -245,24 +245,24 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
|
|
|
|
private void handleDocImages(KYCRelatedDataDTO data) { |
|
|
|
if (data.arePicturesAvailable()) { |
|
|
|
if (data.getPictures().getPassportPicture()!=null&&data.getPictures().getPassportPicture().length()>0) |
|
|
|
if (data.getPictures().getPassportPicture() != null && data.getPictures().getPassportPicture().length() > 0) |
|
|
|
compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getPassportPicture()) |
|
|
|
.subscribeOn(Schedulers.io()) |
|
|
|
.observeOn(AndroidSchedulers.mainThread()) |
|
|
|
.map(responseBody -> fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "AlternateIdDoc"))) |
|
|
|
.subscribe(downloadedFile -> { |
|
|
|
data.getPictures().setAlternateIDImageAsFile(downloadedFile); |
|
|
|
data.getPictures().setPassportImageAsFile(downloadedFile); |
|
|
|
passportImageLiveData.setValue(ImageUtils.generateThumbnailFromImageFile(downloadedFile.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH)); |
|
|
|
|
|
|
|
})); |
|
|
|
|
|
|
|
if (data.getPictures().getAnotherIDPicture()!=null&&data.getPictures().getAnotherIDPicture().length()>0) |
|
|
|
if (data.getPictures().getAnotherIDPicture() != null && data.getPictures().getAnotherIDPicture().length() > 0) |
|
|
|
compositeDisposable.add(fileDownloadGateway.downloadFile(data.getPictures().getAnotherIDPicture()) |
|
|
|
.subscribeOn(Schedulers.io()) |
|
|
|
.map(responseBody -> fileDownloadGateway.writeToFile(responseBody, fileDownloadGateway.getTempFile(view.getContext(), "PassportIdDoc"))) |
|
|
|
.observeOn(AndroidSchedulers.mainThread()) |
|
|
|
.subscribe(downloadedFile -> { |
|
|
|
data.getPictures().setPassportImageAsFile(downloadedFile); |
|
|
|
data.getPictures().setAlternateIDImageAsFile(downloadedFile); |
|
|
|
alternateIDImageLiveData.setValue(ImageUtils.generateThumbnailFromImageFile(downloadedFile.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH)); |
|
|
|
|
|
|
|
})); |
|
|
@ -346,7 +346,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
return Observable.combineLatest( |
|
|
|
passportImageValidationSubject, |
|
|
|
alternateIdImageValidationSubject, |
|
|
|
(isPassportIDDocValid, isAlternateIdDocValid) -> isPassportIDDocValid && isAlternateIdDocValid |
|
|
|
(isPassportIDDocValid, isAlternateIdDocValid) -> { |
|
|
|
log("Pictures validated "+String.valueOf(isPassportIDDocValid && isAlternateIdDocValid)); |
|
|
|
return isPassportIDDocValid && isAlternateIdDocValid;} |
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
@ -879,26 +881,34 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
} |
|
|
|
if (ID_TYPE_NATIONAL_ID_CARD.equalsIgnoreCase(selectedIdType)) { |
|
|
|
|
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) { |
|
|
|
result = false; |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
} |
|
|
|
if (alternateIdNumber == null || alternateIdNumber.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} else if (alternateIdNumber.length() != ID_CARD_VALID_LENGTH) { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError("Invalid National Id Card"); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} else { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(true); |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
} |
|
|
|
|
|
|
|
} else if (ID_TYPE_ALIEN_REGISTRATION_CARD.equalsIgnoreCase(selectedIdType)) { |
|
|
|
|
|
|
|
if (alternateIdExpiryDate == null || alternateIdExpiryDate.length() == 0) |
|
|
|
if (alternateIdExpiryDate == null || alternateIdExpiryDate.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) |
|
|
|
} |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} |
|
|
|
if (alternateIdNumber == null || alternateIdNumber.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} else if (alternateIdNumber.length() != ID_CARD_VALID_LENGTH) { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError("Invalid Alien Id Card"); |
|
|
@ -910,41 +920,39 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
|
|
|
|
} |
|
|
|
} else if (ID_TYPE_DRIVING_LICENSE.equalsIgnoreCase(selectedIdType)) { |
|
|
|
if (alternateIdExpiryDate == null || alternateIdExpiryDate.length() == 0) |
|
|
|
result = false; |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) |
|
|
|
result = false; |
|
|
|
if (alternateIdNumber == null || alternateIdNumber.length() == 0) { |
|
|
|
result = false; |
|
|
|
} else if (alternateIdNumber.length() != ID_CARD_VALID_LENGTH) { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError("Invalid Driving License Card"); |
|
|
|
if (alternateIdExpiryDate == null || alternateIdExpiryDate.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} else { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(true); |
|
|
|
} |
|
|
|
} else if (ID_TYPE_PASSPORT.equalsIgnoreCase(selectedIdType)) { |
|
|
|
if (alternateIdExpiryDate == null || alternateIdExpiryDate.length() == 0) |
|
|
|
result = false; |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) |
|
|
|
if (alternateIdIssuedDate == null || alternateIdIssuedDate.length() == 0) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} |
|
|
|
if (alternateIdNumber == null || alternateIdNumber.length() == 0) { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError("Invalid Passport"); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} else if (alternateIdNumber.length() > 25) { |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError("Invalid Driving License Card"); |
|
|
|
result = false; |
|
|
|
} else { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(true); |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
customerDetailErrorLiveDataDTO.setValueToAnotherIdNoError(null); |
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(false); |
|
|
|
result = false; |
|
|
|
} |
|
|
|
|
|
|
|
view.getCustomerDetailViewContract().enableAlternateIdFocusChangeAndImeOptionListener(result); |
|
|
|
|
|
|
|
// if (result) |
|
|
|
// if (kycRelatedDataDTO.getPictures() != null && kycRelatedDataDTO.getPictures().getAlternateIDImageFile() != null) { |
|
|
|
// log("Alternated validation setting to :"+true); |
|
|
|
// alternateIdImageValidationSubject.onNext(true); |
|
|
|
// } |
|
|
|
// else { |
|
|
|
// log("Alternated validation setting to :"+false); |
|
|
|
// alternateIdImageValidationSubject.onNext(false); |
|
|
|
// } |
|
|
|
return result; |
|
|
|
} |
|
|
|
return true; |
|
|
@ -1154,7 +1162,6 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter |
|
|
|
@Override |
|
|
|
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
|
|
|
new Handler().postDelayed(() -> view.hideKeyBoard(), 300); |
|
|
|
view.hideKeyBoard(); |
|
|
|
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
|
|
|
if (ID_TYPE_PASSPORT.equalsIgnoreCase(selectedIdType)) |
|
|
|
customerDetailErrorLiveDataDTO.setValueToPassportNoError(null); |
|
|
|