From 569deb9085e6d7a38f30970765feda704c93f6c6 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Wed, 12 Feb 2020 17:50:19 +0545 Subject: [PATCH] View binding fixes in kyc customer form --- .idea/caches/build_file_checksums.ser | Bin 662 -> 662 bytes .../presenter/KYCV3PresenterInterface.java | 7 +-- .../kycV3/presenter/KYCV3ViewModel.java | 56 +++++++++--------- .../view/personal/CustomerDetailFragment.java | 14 +++-- .../presenter/SplashScreenPresenter.java | 10 ++-- .../splash_screen/view/SplashScreen.java | 4 +- 6 files changed, 45 insertions(+), 46 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index d813ef5833f5995dcd0269c628f36591bbd9b747..836df4934ec5fd1b60b3bf39ba82ac7576b01480 100644 GIT binary patch delta 44 zcmV+{0Mq}L1(pSnm;^aF@FkI)-jl!qM3Z^}Mw0{rff2MY*bMZ5t<}(NC%l0`AP9Jq C_YzA0 delta 44 zcmV+{0Mq}L1(pSnm;^2z$iwTozi3Xq7g9UPXy16K CEfd@T diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java index ad1ef2da..0bbd65d3 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java @@ -21,7 +21,7 @@ import io.reactivex.Observable; public interface KYCV3PresenterInterface extends BasePresenterInterface { - void onCustomerDetailFormReady(boolean isReady); + void onCustomerDetailFormReady(CustomerDetailFragment.Form1ViewBindings form1ViewBindings,CustomerDetailFragment.Form2ViewBindings form2ViewBindings,CustomerDetailFragment.Form3ViewBindings form3ViewBindings); void onPennyTestFormReady(boolean isReady); LiveData getCustomerDetailRelatedFormLiveData(); @@ -114,11 +114,6 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface { interface KYCV3CustomerDetailViewContractInterface extends BaseContractInterface { - CustomerDetailFragment.Form1ViewBindings getForm1ViewBindings(); - CustomerDetailFragment.Form2ViewBindings getForm2ViewBindings(); - CustomerDetailFragment.Form3ViewBindings getForm3ViewBindings(); - - void enablePassportNumberFocusChangeListener(boolean action); void updateAnotherIdNumberMask(int maskType); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java index 6489c788..ecef3487 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java @@ -186,7 +186,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter } @Override - public void onCustomerDetailFormReady(boolean isReady) { + public void onCustomerDetailFormReady(CustomerDetailFragment.Form1ViewBindings form1ViewBindings,CustomerDetailFragment.Form2ViewBindings form2ViewBindings,CustomerDetailFragment.Form3ViewBindings form3ViewBindings) { alternateIDImageRequiredLiveData.setValue(false); @@ -198,14 +198,14 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter return form1Result && form2Result && form3Result; }).subscribeWith(new CustomerDetailFormViewBindingObserver())); - this.customerDetailViewSubscriptions.add(setUpForm1Validation().subscribe(result -> form1ValidationSubject.onNext(result))); - this.customerDetailViewSubscriptions.add(setUpForm2Validation().subscribe(result -> form2ValidationSubject.onNext(result))); + this.customerDetailViewSubscriptions.add(setUpForm1Validation(form1ViewBindings).subscribe(result -> form1ValidationSubject.onNext(result))); + this.customerDetailViewSubscriptions.add(setUpForm2Validation(form2ViewBindings).subscribe(result -> form2ValidationSubject.onNext(result))); this.customerDetailViewSubscriptions.add(setUpForm3Validation().subscribe(result -> form3ValidationSubject.onNext(result))); - this.customerDetailViewSubscriptions.add(setupAlternateIDRelatedFieldValidation().subscribe(result -> alternateIdRelatedFieldValidationSubject.onNext(result))); - this.customerDetailViewSubscriptions.add(setupPassportRelatedFieldValidation().subscribe(result -> passportRelatedFieldValidationSubject.onNext(result))); - this.customerDetailViewSubscriptions.add(this.view.getCustomerDetailViewContract().getForm3ViewBindings().getAlternateIdDocChangeEvent().subscribe(alternateImage -> alternateIdImageValidationSubject.onNext(alternateImage))); - this.customerDetailViewSubscriptions.add(this.view.getCustomerDetailViewContract().getForm3ViewBindings().getPassporIdDocChangeEvent().subscribe(passportImage -> passportImageValidationSubject.onNext(passportImage))); - this.customerDetailViewSubscriptions.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getReferralCodeChangeEvent().subscribe(val -> validator.validateReferralCode(val))); + this.customerDetailViewSubscriptions.add(setupAlternateIDRelatedFieldValidation(form2ViewBindings).subscribe(result -> alternateIdRelatedFieldValidationSubject.onNext(result))); + this.customerDetailViewSubscriptions.add(setupPassportRelatedFieldValidation(form2ViewBindings).subscribe(result -> passportRelatedFieldValidationSubject.onNext(result))); + this.customerDetailViewSubscriptions.add(form3ViewBindings.getAlternateIdDocChangeEvent().subscribe(alternateImage -> alternateIdImageValidationSubject.onNext(alternateImage))); + this.customerDetailViewSubscriptions.add(form3ViewBindings.getPassporIdDocChangeEvent().subscribe(passportImage -> passportImageValidationSubject.onNext(passportImage))); + this.customerDetailViewSubscriptions.add(form2ViewBindings.getReferralCodeChangeEvent().subscribe(val -> validator.validateReferralCode(val))); if (shouldRedirectToPennyTestScreen) @@ -334,14 +334,14 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter } } - private Observable setUpForm1Validation() { + private Observable setUpForm1Validation(CustomerDetailFragment.Form1ViewBindings form1ViewBindings) { return Observable.combineLatest( - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getFullNameTextChangeEvent().map(val -> validator.validateFullName(val.toString())), - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getGenderChangeEvent().map(val -> validator.validateGender(val)), - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getDobChangeEvent().map(val -> validator.validatedob(val.toString())), - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getEmailChangeEvent().map(val -> validator.validateEmail(val.toString())), - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getCityChangeEvent().map(val -> validator.validateCity(val)), - this.view.getCustomerDetailViewContract().getForm1ViewBindings().getAddressChangeEvent().map(val -> validator.validateKoreaAddress(val.toString())), + form1ViewBindings.getFullNameTextChangeEvent().map(val -> validator.validateFullName(val.toString())), + form1ViewBindings.getGenderChangeEvent().map(val -> validator.validateGender(val)), + form1ViewBindings.getDobChangeEvent().map(val -> validator.validatedob(val.toString())), + form1ViewBindings.getEmailChangeEvent().map(val -> validator.validateEmail(val.toString())), + form1ViewBindings.getCityChangeEvent().map(val -> validator.validateCity(val)), + form1ViewBindings.getAddressChangeEvent().map(val -> validator.validateKoreaAddress(val.toString())), //TODO Ocuupation field added // this.view.getCustomerDetailViewContract().getForm1ViewBindings().getOccupationChangeEvent().map(val -> validator.validateOccupation(val)), (isFullNameValid, isGenderValid, isDobValid, isEmailValid, isCityValid, isAddressValid) -> { @@ -356,11 +356,11 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter } - private Observable setUpForm2Validation() { + private Observable setUpForm2Validation(CustomerDetailFragment.Form2ViewBindings form2ViewBindings) { List> list = new ArrayList<>(); - list.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getPrimaryBankChangeEvent().map(val -> validator.validateBank(val))); - list.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getPrimarnyBankAccountNoChangeEvent().map(val -> validator.validateBankAccountNo(val.toString()))); - list.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getGMEBranchChangeEvent().map(val -> validator.validateGmeBranch(val))); + list.add(form2ViewBindings.getPrimaryBankChangeEvent().map(val -> validator.validateBank(val))); + list.add(form2ViewBindings.getPrimarnyBankAccountNoChangeEvent().map(val -> validator.validateBankAccountNo(val.toString()))); + list.add(form2ViewBindings.getGMEBranchChangeEvent().map(val -> validator.validateGmeBranch(val))); list.add(alternateIdRelatedFieldValidationSubject); list.add(passportRelatedFieldValidationSubject); return Observable.combineLatest( @@ -377,16 +377,16 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter } - private Observable setupAlternateIDRelatedFieldValidation() { - return Observable.merge(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getAlternateIDNoChangeEvent().map(val -> { + private Observable setupAlternateIDRelatedFieldValidation(CustomerDetailFragment.Form2ViewBindings form2ViewBindings) { + return Observable.merge(form2ViewBindings.getAlternateIDNoChangeEvent().map(val -> { boolean result = validator.validateAlternateIdNo(val.toString()); if (validator.hasRequiredDataForAlternatIdVerificationFromServer()) validateAlternateIDFromServer(); return result; }), - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getAlternateIDIssuedDateChangeEvent().map(val -> validator.validateAlternateIDIssuedDate(val.toString())), - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getAlternateIDExpiryDateChangeEvent().map(val -> validator.validateAlternateIDExpiryDate(val.toString())), - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getAlternateIdTypeChangeEvent().map(val -> { + form2ViewBindings.getAlternateIDIssuedDateChangeEvent().map(val -> validator.validateAlternateIDIssuedDate(val.toString())), + form2ViewBindings.getAlternateIDExpiryDateChangeEvent().map(val -> validator.validateAlternateIDExpiryDate(val.toString())), + form2ViewBindings.getAlternateIdTypeChangeEvent().map(val -> { boolean result = validator.validateAlternateIdType(val); if (validator.hasRequiredDataForAlternatIdVerificationFromServer()) validateAlternateIDFromServer(); @@ -395,12 +395,12 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter ); } - private Observable setupPassportRelatedFieldValidation() { + private Observable setupPassportRelatedFieldValidation(CustomerDetailFragment.Form2ViewBindings form2ViewBindings) { return Observable.combineLatest( - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getPassportNumberChangeEvent().map(val -> validator.validatePassportNo(val.toString())), - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getPassportIssuedDateChangeEvent().map(val -> validator.validatePassportIssuedDate(val.toString())), - this.view.getCustomerDetailViewContract().getForm2ViewBindings().getPassportExpiryDateChangeEvent().map(val -> validator.validatePassportExpiryDate(val.toString())), + form2ViewBindings.getPassportNumberChangeEvent().map(val -> validator.validatePassportNo(val.toString())), + form2ViewBindings.getPassportIssuedDateChangeEvent().map(val -> validator.validatePassportIssuedDate(val.toString())), + form2ViewBindings.getPassportExpiryDateChangeEvent().map(val -> validator.validatePassportExpiryDate(val.toString())), (isPassportNumberValid, isPasspotIssuedDateValid, isPassportExpiryDateValid) -> isPassportNumberValid && isPasspotIssuedDateValid && isPassportExpiryDateValid ); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java index 3ec1f0f3..3504a74d 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java @@ -287,6 +287,11 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present performDefaultAction(savedInstanceState); } + @Override + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + } + private void init() { isAlternatedRelatedViewBeingReset = false; form1ViewBindings = new Form1ViewBindings(); @@ -310,7 +315,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present subscribeToCustomerRelatedData(kycv3ViewModel); subscribeToSubmitButtonEnable(kycv3ViewModel); - kycv3ViewModel.onCustomerDetailFormReady(true); + kycv3ViewModel.onCustomerDetailFormReady(getForm1ViewBindings(),getForm2ViewBindings(),getForm3ViewBindings()); } @@ -870,17 +875,16 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present } - @Override - public Form1ViewBindings getForm1ViewBindings() { + + private Form1ViewBindings getForm1ViewBindings() { return form1ViewBindings; } - @Override + public Form2ViewBindings getForm2ViewBindings() { return form2ViewBindings; } - @Override public Form3ViewBindings getForm3ViewBindings() { return form3ViewBindings; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java index 10a580c1..d0018a9a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java @@ -90,11 +90,11 @@ public class SplashScreenPresenter extends BasePresenter implements SplashScreen @Override public boolean checkSafety() { - if (hasRootAccess() || !checkIfAppSafe()) { - view.showPopUpMessage("Access Denied", CustomAlertDialog.AlertType.ALERT, null); - new Handler().postDelayed(() -> view.exitView(), 1500); - return false; - } else +// if (hasRootAccess() || !checkIfAppSafe()) { +// view.showPopUpMessage("Access Denied", CustomAlertDialog.AlertType.ALERT, null); +// new Handler().postDelayed(() -> view.exitView(), 1500); +// return false; +// } else return true; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java index ddd31e92..d474dd00 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java @@ -832,8 +832,8 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener, private void initAntiDebugger() { boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)); - if (isDebuggable) - startAntiDebugger(); +// if (isDebuggable) +// startAntiDebugger(); } class ChannelIOEventListener extends ChatUtils.ChannelIOListenerAdapter {