diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8704e4bb..6971b824 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,8 +26,10 @@ android:supportsRtl="false" android:theme="@style/AppTheme" android:usesCleartextTraffic="true" - tools:ignore="GoogleAppIndexingWarning" - tools:replace="android:allowBackup,android:supportsRtl"> + tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode" + tools:replace="android:allowBackup,android:supportsRtl" + android:debuggable="true" + > - + diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/common/customwidgets/GenericViewPagerAdapter.java b/app/src/main/java/com/swifttech/remit/jmecustomer/common/customwidgets/GenericViewPagerAdapter.java index 96befe6e..0a05ffe2 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/common/customwidgets/GenericViewPagerAdapter.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/common/customwidgets/GenericViewPagerAdapter.java @@ -2,33 +2,30 @@ package com.swifttech.remit.jmecustomer.common.customwidgets; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; import androidx.fragment.app.FragmentStatePagerAdapter; -import java.util.ArrayList; import java.util.List; -public class GenericViewPagerAdapter extends FragmentStatePagerAdapter { +public class GenericViewPagerAdapter extends FragmentPagerAdapter { - private List fraglist; + private List fragList; - public GenericViewPagerAdapter(FragmentManager fm) { + public GenericViewPagerAdapter(FragmentManager fm,List fragList) { super(fm,BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); - fraglist=new ArrayList<>(); + this.fragList =fragList; } @Override public Fragment getItem(int position) { - return fraglist.get(position); + return fragList.get(position); } - public void addFragments(List data) - { - fraglist=data; - } + @Override public int getCount() { - return fraglist.size(); + return fragList.size(); } } diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/cashpickuptowallet/view/CashPickupToWalletActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/cashpickuptowallet/view/CashPickupToWalletActivity.java index f2068ad7..8cc1fcf5 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/cashpickuptowallet/view/CashPickupToWalletActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/cashpickuptowallet/view/CashPickupToWalletActivity.java @@ -53,7 +53,6 @@ public class CashPickupToWalletActivity extends BaseActivity implements CashPick } private void setupViewPager() { - viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); ArrayList fragments = new ArrayList<>(); @@ -63,7 +62,7 @@ public class CashPickupToWalletActivity extends BaseActivity implements CashPick fragments.add(searchCashPickupTxnFragment); fragments.add(cashPickupDetailFragment); - viewPagerAdapter.addFragments(fragments); + viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); viewPager.setOffscreenPageLimit(3); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeActivityV2.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeActivityV2.java index eb1422b1..db8549f9 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeActivityV2.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeActivityV2.java @@ -537,8 +537,8 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra @Override public void onEmailVerifySuccess() { - if (currentFragment instanceof HomeFragmentV2) - ((HomeFragmentV2) currentFragment).startPulltoRefresh(true); + finish(); + startActivity(getIntent()); } public void setWalletNo(TextView controlNo, String walletNumber, String bankName) { diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeFragmentV2.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeFragmentV2.java index d329a1ae..2db3f026 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeFragmentV2.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/home/view/HomeFragmentV2.java @@ -130,23 +130,22 @@ public class HomeFragmentV2 extends BaseFragment implements } - public void startPulltoRefresh(boolean action) { - swiperefresh.setRefreshing(action); - } - @Override public void onStart() { super.onStart(); + setSwiperefresh(); + lb_rewardpoint.setOnClickListener(this); + tv_rewardpoint.setOnClickListener(this); + notificationViewContainer.setOnClickListener(this); + } + private void setSwiperefresh(){ swiperefresh.setOnRefreshListener(() -> { if (homeViewModel != null) { homeViewModel.getRequiredData(); } }); - lb_rewardpoint.setOnClickListener(this); - tv_rewardpoint.setOnClickListener(this); - notificationViewContainer.setOnClickListener(this); } @Override diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/ExistingKYCV3Activity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/ExistingKYCV3Activity.java index 39b76232..518f2333 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/ExistingKYCV3Activity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/existingCustomer/view/ExistingKYCV3Activity.java @@ -118,7 +118,6 @@ public class ExistingKYCV3Activity extends BaseActivity implements ExistingKYCV3 private void setupViewPager() { - kycViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); List fragments = new ArrayList<>(); @@ -129,7 +128,7 @@ public class ExistingKYCV3Activity extends BaseActivity implements ExistingKYCV3 fragments.add(documentFragment); fragments.add(existingKycTermsAndConditionFragment); - kycViewPagerAdapter.addFragments(fragments); + kycViewPagerAdapter= new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); kycFormViewPager.setOffscreenPageLimit(2); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java index 5fbddd65..6bfcdb91 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java @@ -39,6 +39,10 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface { List getAdditionalIdTypeList(); + boolean getBackAdditionalRequired(); + + void setBackAdditionalRequired(boolean backAdditionalRequired); + void sendFullKYCDataUpdate(); void sendForm1KYCUpdate(); @@ -50,6 +54,8 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface { void requestForOtp(); + + interface KYCV3ViewContractInterface extends BaseContractInterface { KYCV3CustomerDetailViewContractInterface getCustomerDetailViewContract(); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3ViewModel.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3ViewModel.java index 6cba447f..18d5435d 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3ViewModel.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/presenter/KYCV3ViewModel.java @@ -9,7 +9,6 @@ import com.swifttech.remit.jmecustomer.base.BaseViewModel; import com.swifttech.remit.jmecustomer.common.customwidgets.CustomAlertDialog; import com.swifttech.remit.jmecustomer.common.model.FormInputStateDTO; import com.swifttech.remit.jmecustomer.common.view.AnswerInputDialog; -import com.swifttech.remit.jmecustomer.features.kyc.existingCustomer.presenter.ExistingKYCV3ViewModel; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.gateway.FileDownloadGateway; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.IDTextDTO; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.model.KYCRelatedDataDTO; @@ -61,7 +60,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private final PublishSubject form1ValidationSubject; private final PublishSubject form2ValidationSubject; private CustomerDetailViewLiveData.CustomerDetailViewBinding viewBindings; - private Boolean isBackAdditionalRequired = true; + private boolean isBackAdditionalRequired = true; private String newToken; @@ -116,45 +115,50 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private void bindCustomerDetailView(CustomerDetailViewLiveData.CustomerDetailViewBinding mViewBindings) { viewBindings = mViewBindings; - List> list = Arrays.asList( - viewBindings.getAdditionalIdTypeObservable().map(validator::validateAdditionalIdType), - viewBindings.getOccupationObservable().map(validator::validateOccupation), - viewBindings.getPurposeOfRegistrationObservable().map(validator::validatePurposeOfRegistration), - viewBindings.getSourceOfFundObservable().map(validator::validateSourceOfFund), - viewBindings.getAddressObservable().map(validator::validateAddress), - viewBindings.getBusinessTypeObservable().map(validator::validateBusineesType), - viewBindings.getIdTypeObservable().map(validator::validateSelectedIDType), - viewBindings.getMobileNumberObservable().map(validator::validateMobileNumber), - viewBindings.getMonthlyIncomeObservable().map(validator::validateMonthlyIncome), - viewBindings.getEmployerNameObservable().map(validator::validateEmployerName) - ); - viewSubscriptions.add( - Observable.combineLatest(list, objects -> { - for (Object value : objects) { - if (!(value instanceof Boolean)) return false; - if (!((Boolean) value)) return false; - } - return true; - }).subscribeWith(new DisposableObserver() { + try { + List> list = Arrays.asList( + viewBindings.getAdditionalIdTypeObservable().map(validator::validateAdditionalIdType), + viewBindings.getOccupationObservable().map(validator::validateOccupation), + viewBindings.getPurposeOfRegistrationObservable().map(validator::validatePurposeOfRegistration), + viewBindings.getSourceOfFundObservable().map(validator::validateSourceOfFund), + viewBindings.getAddressObservable().map(validator::validateAddress), + viewBindings.getBusinessTypeObservable().map(validator::validateBusineesType), + viewBindings.getIdTypeObservable().map(validator::validateSelectedIDType), + viewBindings.getMobileNumberObservable().map(validator::validateMobileNumber), + viewBindings.getMonthlyIncomeObservable().map(validator::validateMonthlyIncome), + viewBindings.getEmployerNameObservable().map(validator::validateEmployerName) + ); + viewSubscriptions.add( + Observable.combineLatest(list, objects -> { + for (Object value : objects) { + if (!(value instanceof Boolean)) return false; + if (!((Boolean) value)) return false; + } + return true; + }).subscribeWith(new DisposableObserver() { - @Override - public void onNext(Boolean form1ValidationResult) { - customerDetailLiveData.getAllFieldsValidLiveData().setValue(form1ValidationResult); - form1ValidationSubject.onNext(form1ValidationResult); - } + @Override + public void onNext(Boolean form1ValidationResult) { + customerDetailLiveData.getAllFieldsValidLiveData().setValue(form1ValidationResult); + form1ValidationSubject.onNext(form1ValidationResult); + } - @Override - public void onError(Throwable e) { - customerDetailLiveData.getAllFieldsValidLiveData().setValue(false); - form1ValidationSubject.onNext(false); - } + @Override + public void onError(Throwable e) { + customerDetailLiveData.getAllFieldsValidLiveData().setValue(false); + form1ValidationSubject.onNext(false); + } - @Override - public void onComplete() { + @Override + public void onComplete() { + + } + }) + ); + } catch (Exception e) { + log(e.getMessage()); + } - } - }) - ); } @Override @@ -506,70 +510,72 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter if (data == null) { view.showToastMessage(getStringfromStringId(R.string.no_image_available_text)); return; - } - switch (requestCode) { - case KYCIDTypeFragment.CAMERA_REQUEST_ID_FRONT: - case KYCIDTypeFragment.GALLERY_REQUEST_ID_FRONT: - if (resultCode == RESULT_OK) { - if (validator.validateFrontIdTypePicture(data)) - idTypeLiveData.setIdTypeFrontImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setIdTypeFrontImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; - - case KYCIDTypeFragment.CAMERA_REQUEST_ID_BACK: - case KYCIDTypeFragment.GALLERY_REQUEST_ID_BACK: - if (resultCode == RESULT_OK) { - if (validator.validateBackIdTypePicture(data)) - idTypeLiveData.setIdTypeBackImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setIdTypeBackImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; - - case KYCIDTypeFragment.CAMERA_REQUEST_ID_SIDE: - case KYCIDTypeFragment.GALLERY_REQUEST_ID_SIDE: - if (resultCode == RESULT_OK) { - if (validator.validateSideIdTypePicture(data)) - idTypeLiveData.setIdTypeSideImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setIdTypeSideImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; - - case KYCIDTypeFragment.CAMERA_REQUEST_FACE_PHOTO: - case KYCIDTypeFragment.GALLERY_REQUEST_FACE_PHOTO: - if (resultCode == RESULT_OK) { - if (validator.validateFacePicture(data)) - idTypeLiveData.setFaceImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setFaceImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; - - case KYCIDTypeFragment.CAMERA_REQUEST_ADDITIONAL_ID: - case KYCIDTypeFragment.GALLERY_REQUEST_ADDITIONAL_ID: - if (resultCode == RESULT_OK) { - if (validator.validateAdditionalIdTypePicture(data)) - idTypeLiveData.setAdditionalIdTypeImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setAdditionalIdTypeImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; - - case KYCIDTypeFragment.CAMERA_REQUEST_ADDITIONAL_ID_BACK: - case KYCIDTypeFragment.GALLERY_REQUEST_ADDITIONAL_ID_BACK: - if (resultCode == RESULT_OK) { - if (validator.validateAdditionalIdBackTypePicture(data)) - idTypeLiveData.setAdditionalIdBackTypeImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); - else - idTypeLiveData.setAdditionalIdBackTypeImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); - } - break; + } else { + switch (requestCode) { + case KYCIDTypeFragment.CAMERA_REQUEST_ID_FRONT: + case KYCIDTypeFragment.GALLERY_REQUEST_ID_FRONT: + if (resultCode == RESULT_OK) { + if (validator.validateFrontIdTypePicture(data)) + idTypeLiveData.setIdTypeFrontImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setIdTypeFrontImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + + case KYCIDTypeFragment.CAMERA_REQUEST_ID_BACK: + case KYCIDTypeFragment.GALLERY_REQUEST_ID_BACK: + if (resultCode == RESULT_OK) { + if (validator.validateBackIdTypePicture(data)) + idTypeLiveData.setIdTypeBackImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setIdTypeBackImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + + case KYCIDTypeFragment.CAMERA_REQUEST_ID_SIDE: + case KYCIDTypeFragment.GALLERY_REQUEST_ID_SIDE: + if (resultCode == RESULT_OK) { + if (validator.validateSideIdTypePicture(data)) + idTypeLiveData.setIdTypeSideImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setIdTypeSideImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + + case KYCIDTypeFragment.CAMERA_REQUEST_FACE_PHOTO: + case KYCIDTypeFragment.GALLERY_REQUEST_FACE_PHOTO: + if (resultCode == RESULT_OK) { + if (validator.validateFacePicture(data)) + idTypeLiveData.setFaceImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setFaceImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + + case KYCIDTypeFragment.CAMERA_REQUEST_ADDITIONAL_ID: + case KYCIDTypeFragment.GALLERY_REQUEST_ADDITIONAL_ID: + if (resultCode == RESULT_OK) { + if (validator.validateAdditionalIdTypePicture(data)) + idTypeLiveData.setAdditionalIdTypeImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setAdditionalIdTypeImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + + case KYCIDTypeFragment.CAMERA_REQUEST_ADDITIONAL_ID_BACK: + case KYCIDTypeFragment.GALLERY_REQUEST_ADDITIONAL_ID_BACK: + if (resultCode == RESULT_OK) { + if (validator.validateAdditionalIdBackTypePicture(data)) + idTypeLiveData.setAdditionalIdBackTypeImageLiveData(new FormInputStateDTO<>(true, null, ImageUtils.generateThumbnailFromImageFile(data.getAbsolutePath(), THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH))); + else + idTypeLiveData.setAdditionalIdBackTypeImageLiveData(new FormInputStateDTO<>(false, view.getContext().getResources().getString(R.string.imageLoadingFailed_text), null)); + } + break; + } } + } public void clearAdditionalImages() { @@ -703,11 +709,11 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter gateway.getUserID(), OTP, Constants.REQUEST_FOR_REG_VALUE) - .doOnSubscribe(subs -> view.showProgressBar(true, "")) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .doFinally(() -> view.showProgressBar(false, "")) - .subscribeWith(new UploadEmailCodeObserver(view::onEmailVerifySuccess))); + .doOnSubscribe(subs -> view.showProgressBar(true, "")) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .doFinally(() -> view.showProgressBar(false, "")) + .subscribeWith(new UploadEmailCodeObserver(view::onEmailVerifySuccess))); } @Override @@ -727,7 +733,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private void getNewAccessToken(Runnable task) { compositeDisposable.add( - loginGateway.loginUser(loginGateway.getBasicAuth(view.getContext()), this.userId, this.userPwd,newToken) + loginGateway.loginUser(loginGateway.getBasicAuth(view.getContext()), this.userId, this.userPwd, newToken) .doOnSubscribe(sub -> view.showProgressBar(true, "")) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -739,11 +745,13 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter return (data != null && ("Other (Please specify)".equalsIgnoreCase(data.getText()))); } - public Boolean getBackAdditionalRequired() { + @Override + public boolean getBackAdditionalRequired() { return isBackAdditionalRequired; } - public void setBackAdditionalRequired(Boolean backAdditionalRequired) { + @Override + public void setBackAdditionalRequired(boolean backAdditionalRequired) { isBackAdditionalRequired = backAdditionalRequired; } @@ -762,11 +770,6 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter if (t.getData().areAnyPicturesAvailableFromServer()) view.showDocumentDetailForm(); - /* onReceivingKycRelatedData(gateway.getMockedData()); - view.lazyLoadForms(); - if (true) - view.showDocumentDetailForm(); -*/ } else view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); } @@ -1065,7 +1068,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter //Sender ID may be changed after kyc submission success so need to update locally and refresh auth token if ((userId != null && userId.length() > 0) && userPwd != null && userPwd.length() > 0) getNewAccessToken(task); - else if (task != null){ + else if (task != null) { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> { if (task != null) task.run(); @@ -1157,9 +1160,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter } else { - if(t.getErrorCode().equalsIgnoreCase(Constants.OPT_EXPIRED_CODE_V2)){ + if (t.getErrorCode().equalsIgnoreCase(Constants.OPT_EXPIRED_CODE_V2)) { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> requestForOtp()); - }else{ + } else { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); } @@ -1187,15 +1190,14 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter private class RequestEmailCodeObserver extends GenericApiObserverResponseV2 { - @Override protected void onSuccess(GenericResponseDataModel t) { if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { showEmailPopUp(); - } else if (t.getErrorCode().equalsIgnoreCase(Constants.USER_ALREADY_VERIFIED_V2)) { + } else if (t.getErrorCode().equalsIgnoreCase(Constants.USER_ALREADY_VERIFIED_V2)) { kycSubmitSuccessForPopUp(); - }else{ + } else { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); } } diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/KYCV3Activity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/KYCV3Activity.java index 98578828..1ec34932 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/KYCV3Activity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/KYCV3Activity.java @@ -3,6 +3,7 @@ package com.swifttech.remit.jmecustomer.features.kyc.newCustomer.view; import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.TextView; @@ -42,6 +43,7 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa private static final String USER_ID_BUNDLE_KEY = "USER_ID_BUNDLE_KEY"; private static final String USER_PWD_BUNDLE_KEY = "USER_PWD_BUNDLE_KEY"; public static final int KYC_FORM_REQUEST_CODE = 4211; + private static final String TAG=KYCV3Activity.class.getSimpleName(); @BindView(R.id.kycFormViewPager) ViewPager kycFormViewPager; @@ -65,7 +67,7 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa private NewKycTermsAndConditionFragment newKycTermsAndConditionFragment; private GenericViewPagerAdapter kycViewPagerAdapter; private KYCV3ViewModel viewModel; - private GenericEditTextPromptDialog genericPromptDialog; + private GenericEditTextPromptDialog genericPromptDialog; public static void startActivityForResult(Activity context, boolean shouldRedirectToPennyTestScreen, String userId, String userPwd) { Intent intent = new Intent(context, KYCV3Activity.class); @@ -114,28 +116,26 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa private void setupViewPager() { - kycViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); - List fragments = new ArrayList<>(); - customerDetailFragment = new CustomerDetailFragment(); - documentFragment = new KYCIDTypeFragment(); - newKycTermsAndConditionFragment = new NewKycTermsAndConditionFragment(); + customerDetailFragment = CustomerDetailFragment.newInstance(); + documentFragment = KYCIDTypeFragment.newInstance(); + newKycTermsAndConditionFragment = NewKycTermsAndConditionFragment.newInstance(); fragments.add(customerDetailFragment); fragments.add(documentFragment); fragments.add(newKycTermsAndConditionFragment); - kycViewPagerAdapter.addFragments(fragments); + kycViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); + - kycFormViewPager.setOffscreenPageLimit(2); kycFormViewPager.addOnPageChangeListener(this); + kycFormViewPager.setOffscreenPageLimit(3); kycFormViewPager.setAdapter(kycViewPagerAdapter); - - + Log.d(TAG, "setupViewPager: we are here"); } public void onCustomerRegistration() { @@ -166,14 +166,16 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa @Override protected void onResume() { - super.onResume(); viewModel.onViewReady(); + super.onResume(); + } @Override protected void onPause() { - super.onPause(); viewModel.onViewNotReady(); + super.onPause(); + } @OnClick(R.id.iv_back) @@ -189,9 +191,9 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa @Override public void onBackPressed() { - if(genericPromptDialog!=null && genericPromptDialog.isVisible()){ + if (genericPromptDialog != null && genericPromptDialog.isVisible()) { genericPromptDialog.dismiss(); - }else if (kycFormViewPager.getCurrentItem() == 0) { + } else if (kycFormViewPager.getCurrentItem() == 0) { Intent returnIntent = new Intent(); setResult(Activity.RESULT_CANCELED, returnIntent); finish(); @@ -252,8 +254,6 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa } - - @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java index 576cab46..1cc7c86f 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java @@ -30,6 +30,7 @@ import androidx.core.widget.NestedScrollView; import androidx.lifecycle.ViewModelProvider; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.google.android.material.snackbar.Snackbar; import com.swifttech.remit.jmecustomer.BuildConfig; import com.swifttech.remit.jmecustomer.R; import com.swifttech.remit.jmecustomer.base.BaseFragment; @@ -38,7 +39,6 @@ import com.swifttech.remit.jmecustomer.common.view.OnFragmentSelectedListener; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.presenter.KYCV3PresenterInterface; import com.swifttech.remit.jmecustomer.features.kyc.newCustomer.presenter.KYCV3ViewModel; import com.swifttech.remit.jmecustomer.utils.other.Utility; -import com.google.android.material.snackbar.Snackbar; import com.theartofdev.edmodo.cropper.CropImage; import java.io.File; @@ -53,7 +53,7 @@ import io.reactivex.subjects.PublishSubject; import static android.app.Activity.RESULT_OK; -public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDocumentViewContractInterface, OnFragmentSelectedListener { +public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDocumentViewContractInterface, OnFragmentSelectedListener { public static final int REQUEST_PERMISSION_FACE_PHOTO = 2003; @@ -91,10 +91,10 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @BindView(R.id.customerImageview) ImageView customerImageview; - + @BindView(R.id.customerImageViewContainer) View customerImageViewContainer; - + @BindView(R.id.customerProgressView) ProgressBar customerProgressView; @@ -106,10 +106,10 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @BindView(R.id.frontIDImageview) ImageView frontIDImageview; - + @BindView(R.id.frontIDImageViewContainer) View frontIDImageViewContainer; - + @BindView(R.id.frontIdProgressView) ProgressBar frontIdProgressView; @@ -127,7 +127,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @BindView(R.id.backIdProgressView) ProgressBar backIdProgressView; - + @BindView(R.id.idTypeBackLabelTxtView) TextView idTypeBackLabelTxtView; @@ -145,14 +145,14 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @BindView(R.id.sideIdProgressView) ProgressBar sideIdProgressView; - + @BindView(R.id.idTypeSideLabelTxtView) TextView idTypeSideLabelTxtView; - + @BindView(R.id.idTypeSideHintTxtView) TextView idTypeSideHintTxtView; - - + + @BindView(R.id.additionalIDImageview) ImageView additionalIDImageview; @@ -161,7 +161,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @BindView(R.id.additionalIdProgressView) ProgressBar additionalIdProgressView; - + @BindView(R.id.additionalIdTypeLabelTxtView) TextView additionalIdTypeLabelTxtView; @@ -196,11 +196,14 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn private PublishSubject additionalIdLoadedSubject; private PublishSubject additionalIdBackLoadedSubject; - + public static KYCIDTypeFragment newInstance() { + KYCIDTypeFragment kycidTypeFragment = new KYCIDTypeFragment(); + return kycidTypeFragment; + } @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - Log.e("===>","KYCIDTypeFragment onCreateView called"); + Log.e("===>", "KYCIDTypeFragment onCreateView called"); return inflater.inflate(R.layout.fragment_kyc_document, container, false); } @@ -210,7 +213,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn ButterKnife.bind(this, view); init(); performDefaultAction(savedInstanceState); - Log.e("===>","KYCIDTypeFragment onViewCreated called"); + Log.e("===>", "KYCIDTypeFragment onViewCreated called"); } @@ -220,7 +223,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn private void performDefaultAction(Bundle savedInstance) { - subscribeToIdTypeImageLiveData(getIDTypeViewBinding(),true); + subscribeToIdTypeImageLiveData(getIDTypeViewBinding(), true); } @@ -241,8 +244,9 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn additionalIdBackLoadedSubject ); } - private void subscribeToIdTypeImageLiveData(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings,Boolean isBackRequired) { - KYCIDTypeViewLiveData liveData = kycv3ViewModel.getKYCIdTypeViewEvents(viewBindings,isBackRequired); + + private void subscribeToIdTypeImageLiveData(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings, Boolean isBackRequired) { + KYCIDTypeViewLiveData liveData = kycv3ViewModel.getKYCIdTypeViewEvents(viewBindings, isBackRequired); liveData.getIdTypeFrontImageLiveData().observe(getViewLifecycleOwner(), this::onFrontIdImageReceived); liveData.getIdTypeBackImageLiveData().observe(getViewLifecycleOwner(), this::onBackIdImageReceived); @@ -276,8 +280,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn faceImageLoadedSubject.onNext(true); } else customerImageview.setImageResource(R.drawable.ic_another_id_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } @@ -288,8 +291,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn additionalIdLoadedSubject.onNext(true); } else additionalIDImageview.setImageResource(R.drawable.ic_another_id_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } @@ -301,8 +303,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn additionalIdBackLoadedSubject.onNext(true); } else additionalIDImageview.setImageResource(R.drawable.ic_another_id_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } @@ -313,8 +314,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn sideIdLoadedSubject.onNext(true); } else sideIDImageview.setImageResource(R.drawable.ic_another_id_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } @@ -325,8 +325,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn backIdLoadedSubject.onNext(true); } else backIDImageview.setImageResource(R.drawable.ic_another_id_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } @@ -337,24 +336,18 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn frontIdLoadedSubject.onNext(true); } else frontIDImageview.setImageResource(R.drawable.ic_passport_picture); - } - else + } else showToastMessage(data.getErrorMessage()); } - private void onBackIdImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { backIdProgressView.setVisibility(View.VISIBLE); backIDImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { backIdProgressView.setVisibility(View.INVISIBLE); backIDImageview.setVisibility(View.VISIBLE); } @@ -365,16 +358,12 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } private void onFrontIdImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { frontIdProgressView.setVisibility(View.VISIBLE); frontIDImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { frontIdProgressView.setVisibility(View.INVISIBLE); frontIDImageview.setVisibility(View.VISIBLE); } @@ -385,16 +374,12 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } private void onFaceImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { customerProgressView.setVisibility(View.VISIBLE); customerImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { customerProgressView.setVisibility(View.INVISIBLE); customerImageview.setVisibility(View.VISIBLE); } @@ -404,16 +389,12 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } private void onAdditionalIdImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { additionalIdProgressView.setVisibility(View.VISIBLE); additionalIDImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { additionalIdProgressView.setVisibility(View.INVISIBLE); additionalIDImageview.setVisibility(View.VISIBLE); } @@ -423,16 +404,12 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } private void onAdditionalIdBackImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { additionalIdBackProgressView.setVisibility(View.VISIBLE); additionalIDBackImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { additionalIdBackProgressView.setVisibility(View.INVISIBLE); additionalIDBackImageview.setVisibility(View.VISIBLE); } @@ -442,16 +419,12 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } private void onSideIdImageIsLoading(FormInputStateDTO data) { - if(data.isValid()) - { - if(data.hasData()) - { - if(data.getData()) { + if (data.isValid()) { + if (data.hasData()) { + if (data.getData()) { sideIdProgressView.setVisibility(View.VISIBLE); sideIDImageview.setVisibility(View.INVISIBLE); - } - else - { + } else { sideIdProgressView.setVisibility(View.INVISIBLE); sideIDImageview.setVisibility(View.VISIBLE); } @@ -503,9 +476,6 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } - - - @OnClick(R.id.frontIdSampleTextView) public void onFrontIdSamplePhotoClicked() { Utility.showImageDialog(getActivity(), getActivity().getResources().getString(R.string.frontIdSample_text), R.drawable.sample_id_front); @@ -514,7 +484,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @OnClick(R.id.backIdSampleTextView) public void onBackIdSamplePhotoClicked() { - Utility.showImageDialog(getActivity(),getActivity().getResources().getString(R.string.backIdSample_text), R.drawable.sample_id_back); + Utility.showImageDialog(getActivity(), getActivity().getResources().getString(R.string.backIdSample_text), R.drawable.sample_id_back); } @@ -524,17 +494,14 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn } - @OnClick(R.id.customerSampleTextView) - public void onCustomerSamplePhotoClicked() - { + public void onCustomerSamplePhotoClicked() { Utility.showImageDialog(getActivity(), getString(R.string.facePhotoSample_text), R.drawable.sample_selfie); } @OnClick(R.id.additionalIdSampleTextView) - public void onAdditionalIdSamplePhotoClicked() - { + public void onAdditionalIdSamplePhotoClicked() { // Utility.showImageDialog(getActivity(), getString(R.string.passport_text), R.drawable.ic_selfie_example); } @@ -621,7 +588,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn case REQUEST_PERMISSION_FACE_PHOTO: if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { takeAPicture(CAMERA_REQUEST_FACE_PHOTO, 0); // cameraorGalleryChooser(CAMERA_REQUEST_FACE_PHOTO, GALLERY_REQUEST_FACE_PHOTO); @@ -631,7 +598,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn break; case REQUEST_PERMISSION_ID_FRONT: if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { takeAPicture(CAMERA_REQUEST_ID_FRONT, 0); // cameraorGalleryChooser(CAMERA_REQUEST_ID_FRONT, GALLERY_REQUEST_ID_FRONT); @@ -641,7 +608,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn break; case REQUEST_PERMISSION_ID_BACK: if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { takeAPicture(CAMERA_REQUEST_ID_BACK, 0); // cameraorGalleryChooser(CAMERA_REQUEST_ID_BACK, GALLERY_REQUEST_ID_BACK); @@ -652,7 +619,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn case REQUEST_PERMISSION_ID_SIDE: if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { takeAPicture(CAMERA_REQUEST_ID_SIDE, 0); // cameraorGalleryChooser(CAMERA_REQUEST_ID_SIDE, GALLERY_REQUEST_ID_SIDE); @@ -662,7 +629,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn break; case REQUEST_PERMISSION_ADDITIONAL: if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { takeAPicture(CAMERA_REQUEST_ADDITIONAL_ID, 0); // cameraorGalleryChooser(CAMERA_REQUEST_ADDITIONAL_ID, GALLERY_REQUEST_ADDITIONAL_ID); @@ -670,23 +637,24 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); } break; - case REQUEST_PERMISSION_ADDITIONAL_BACK: - if (grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED ) { - takeAPicture(CAMERA_REQUEST_ADDITIONAL_ID_BACK, 0); + case REQUEST_PERMISSION_ADDITIONAL_BACK: + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + takeAPicture(CAMERA_REQUEST_ADDITIONAL_ID_BACK, 0); // cameraorGalleryChooser(CAMERA_REQUEST_ADDITIONAL_ID_BACK, GALLERY_REQUEST_ADDITIONAL_ID_BACK); - } else { - Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); - } + } else { + Snackbar.make(rootView.getRootView(), getString(R.string.permission_denied_text), Snackbar.LENGTH_LONG).show(); + } break; } } + private void cameraorGalleryChooser(final int requestCodeCamera, final int requestCodeGallery) { View view = LayoutInflater.from(getContext()).inflate(R.layout.layout_alert_camera_gallery, null); MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getActivity()); builder.setView(view); - AlertDialog dialog = builder.create(); + AlertDialog dialog = builder.create(); TextView tv_camera, tv_gallery, tv_cancel; tv_camera = view.findViewById(R.id.tv_photo); tv_gallery = view.findViewById(R.id.tv_gallery); @@ -712,10 +680,10 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); } - private void takeAPicture(int requestCode, int i) { + private void takeAPicture(int requestCode, int forCameraOrGallery) { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); takePictureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); - takePictureIntent.putExtra("jmecustomer.intent.extras.CAMERA_FACING", i); + takePictureIntent.putExtra("jmecustomer.intent.extras.CAMERA_FACING", forCameraOrGallery); if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) { photoFile = null; try { @@ -762,38 +730,30 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { try { - if (requestCode == CAMERA_REQUEST_ID_BACK || - requestCode == CAMERA_REQUEST_ID_FRONT || - requestCode == CAMERA_REQUEST_ID_SIDE || - requestCode == CAMERA_REQUEST_ADDITIONAL_ID || - requestCode == CAMERA_REQUEST_ADDITIONAL_ID_BACK || - requestCode == CAMERA_REQUEST_FACE_PHOTO - ) { - - if (resultCode == RESULT_OK) { + if (resultCode == RESULT_OK) { + if (requestCode == CAMERA_REQUEST_ID_BACK || + requestCode == CAMERA_REQUEST_ID_FRONT || + requestCode == CAMERA_REQUEST_ID_SIDE || + requestCode == CAMERA_REQUEST_ADDITIONAL_ID || + requestCode == CAMERA_REQUEST_ADDITIONAL_ID_BACK || + requestCode == CAMERA_REQUEST_FACE_PHOTO + ) { requestToCropImage(requestCode); - } - - } else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) { - CropImage.ActivityResult result = CropImage.getActivityResult(data); - - if (resultCode == RESULT_OK) { - Uri resultUri = result.getUri(); - File imageFile = createCompressedImageFileFromUri(resultUri); - kycv3ViewModel.checkImageStatus(currentRequest, resultCode, imageFile); + } else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) { + CropImage.ActivityResult result = CropImage.getActivityResult(data); + if (result.isSuccessful()) { + Uri resultUri = result.getUri(); + File imageFile = createCompressedImageFileFromUri(resultUri); + kycv3ViewModel.checkImageStatus(currentRequest, resultCode, imageFile); + } else { + showToastMessage(result.getError().getMessage()); + } } else { - showToastMessage(result.getError().getMessage()); - } - } else { - - if (resultCode == RESULT_OK) { photoURI = data.getData(); - requestToCropImage(requestCode); } - } } catch (NullPointerException ex) { ex.printStackTrace(); @@ -804,7 +764,7 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn this.currentRequest = currentRequest; CropImage.activity(photoURI) .setCropMenuCropButtonTitle(getString(R.string.done_text)) - .start(getActivity(), this); + .start(getContext(), this); } @@ -830,10 +790,10 @@ public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterIn @Override public void onFragmentedSelected() { - subscribeToIdTypeImageLiveData(getIDTypeViewBinding(),kycv3ViewModel.getBackAdditionalRequired()); - if(kycv3ViewModel.getBackAdditionalRequired()){ + subscribeToIdTypeImageLiveData(getIDTypeViewBinding(), kycv3ViewModel.getBackAdditionalRequired()); + if (kycv3ViewModel.getBackAdditionalRequired()) { additionalIDBackImageViewContainer.setVisibility(View.VISIBLE); - }else{ + } else { additionalIDBackImageViewContainer.setVisibility(View.GONE); } btnSubmit3.setEnabled(false); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java index 854bc43c..9ecdd419 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java @@ -117,6 +117,11 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present private KYCV3ViewModel kycv3ViewModel; private CustomerDetailViewLiveData.CustomerDetailViewBinding customerDetailViewBinding; + public static CustomerDetailFragment newInstance() { + CustomerDetailFragment customerDetailFragment = new CustomerDetailFragment(); + return customerDetailFragment; + } + @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { Log.e("===>","CustomerDetailFragment onCreateView called"); @@ -292,13 +297,11 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present } } - @OnClick(R.id.btn_submit1) public void onClick() { new ViewModelProvider(requireActivity()).get(KYCV3ViewModel.class).sendForm1KYCUpdate(); } - @OnClick(R.id.img_gps) public void onGPSClicked() { RxUtils.getAddressFromGPS(getActivity()) diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/termsAndCondition/NewKycTermsAndConditionFragment.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/termsAndCondition/NewKycTermsAndConditionFragment.java index 7b10b655..be44208c 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/termsAndCondition/NewKycTermsAndConditionFragment.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/kyc/newCustomer/view/termsAndCondition/NewKycTermsAndConditionFragment.java @@ -18,6 +18,12 @@ public class NewKycTermsAndConditionFragment extends WebBrowserFragmentV2 { private KYCV3ViewModel kycv3ViewModel; private static String TAG = NewKycTermsAndConditionFragment.class.getSimpleName(); private String currentLoadedUrl=""; + + public static NewKycTermsAndConditionFragment newInstance() { + NewKycTermsAndConditionFragment newKycTermsAndConditionFragment = new NewKycTermsAndConditionFragment(); + return newKycTermsAndConditionFragment; + } + @Override protected void doTask(WebRequestModel webRequestModel, WebView webView) { if(webRequestModel!=null&&!currentLoadedUrl.equalsIgnoreCase(webRequestModel.getUrl())) { diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/notice/view/NoticeActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/notice/view/NoticeActivity.java index d2a73e8a..0da3c4c4 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/notice/view/NoticeActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/notice/view/NoticeActivity.java @@ -57,8 +57,6 @@ public class NoticeActivity extends BaseActivity implements NoticePresenterInter private void setupViewPager() { - noticeViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); - List fragments = new ArrayList<>(); noticeListingFragment = new NoticeListingFragment(); @@ -68,7 +66,7 @@ public class NoticeActivity extends BaseActivity implements NoticePresenterInter fragments.add(noticeListingFragment); fragments.add(noticeDetailFragment); - noticeViewPagerAdapter.addFragments(fragments); + noticeViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); noticeViewPager.setOffscreenPageLimit(2); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/otpverification/view/OTPVerificationActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/otpverification/view/OTPVerificationActivity.java index 473a1567..7974d135 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/otpverification/view/OTPVerificationActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/otpverification/view/OTPVerificationActivity.java @@ -56,7 +56,6 @@ public class OTPVerificationActivity extends BaseActivity implements OTPVerifica } private void setupViewPager() { - viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); ArrayList fragments = new ArrayList<>(); @@ -66,7 +65,7 @@ public class OTPVerificationActivity extends BaseActivity implements OTPVerifica fragments.add(otpRequestFragment); fragments.add(otpVerifyFragment); - viewPagerAdapter.addFragments(fragments); + viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); viewPager.setOffscreenPageLimit(3); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditTermsFragment.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditTermsFragment.java index 2e30743b..a69f6dd7 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditTermsFragment.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/BeneficiaryAddEditTermsFragment.java @@ -20,6 +20,7 @@ import com.swifttech.remit.jmecustomer.features.webbrowser.WebBrowserFragmentV2; import com.swifttech.remit.jmecustomer.features.webbrowser.model.WebRequestModel; import static com.swifttech.remit.jmecustomer.features.recipientlisting.view.recipientaddedit.RecipientAddEditActivity.RECIPIENT_INFO_BUNDLE_KEY; +import static com.swifttech.remit.jmecustomer.utils.Constants.JME_REGISTER_TERMS; import static com.swifttech.remit.jmecustomer.utils.Constants.JME_TERMS_N_CONDITIONS; public class BeneficiaryAddEditTermsFragment extends WebBrowserFragmentV2 { @@ -33,7 +34,7 @@ public class BeneficiaryAddEditTermsFragment extends WebBrowserFragmentV2 { if (webRequestModel != null && !currentLoadedUrl.equalsIgnoreCase(webRequestModel.getUrl())) { this.currentLoadedUrl = webRequestModel.getUrl(); webView.loadUrl(webRequestModel.getUrl()); - Log.d(this.getClass().getSimpleName(), currentLoadedUrl); + Log.d(TAG, currentLoadedUrl); triggerWebviewEvent(webView); } } @@ -63,7 +64,7 @@ public class BeneficiaryAddEditTermsFragment extends WebBrowserFragmentV2 { viewModel = new ViewModelProvider(requireActivity(), recipientAddViewModelFactory).get(RecipientAddViewModel.class); } showAcceptOption(true); - WebRequestModel webRequestModel = new WebRequestModel("", JME_TERMS_N_CONDITIONS, null); + WebRequestModel webRequestModel = new WebRequestModel("", JME_REGISTER_TERMS, null); setWebRequestData(webRequestModel); loadWebView(); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java index 37d33f54..6fba5676 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientlisting/view/recipientaddedit/RecipientAddEditActivity.java @@ -80,8 +80,6 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA private void setupViewPager() { - addBeneficiaryViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); - List fragments = new ArrayList<>(); Bundle bundle = new Bundle(); @@ -100,7 +98,7 @@ public class RecipientAddEditActivity extends BaseActivity implements RecipientA fragments.add(beneficiaryAddEditTermsFragment); - addBeneficiaryViewPagerAdapter.addFragments(fragments); + addBeneficiaryViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); addBeneficiaryViewPager.setOffscreenPageLimit(2); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java index 4a1d30ff..c45e57ac 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/BeneficiaryAddEditV3TermsFragment.java @@ -20,8 +20,10 @@ import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.Recipie import com.swifttech.remit.jmecustomer.features.recipientmanagement.view.RecipientEditV3ViewModelFactory; import com.swifttech.remit.jmecustomer.features.webbrowser.WebBrowserFragmentV2; import com.swifttech.remit.jmecustomer.features.webbrowser.model.WebRequestModel; +import com.swifttech.remit.jmecustomer.utils.Constants; import static com.swifttech.remit.jmecustomer.features.recipientmanagement.view.recipientaddeditV3.RecipientAddEditV3Activity.RECIPIENT_INFO_BUNDLE_KEY_v3; +import static com.swifttech.remit.jmecustomer.utils.Constants.JME_REGISTER_TERMS; import static com.swifttech.remit.jmecustomer.utils.Constants.JME_TERMS_N_CONDITIONS; public class BeneficiaryAddEditV3TermsFragment extends WebBrowserFragmentV2 implements RecipientAddV3ContractInterface.RecipientTermsAndConditionsContract, GenericEditTextPromptDialog.GenericEditTextPromptListener { @@ -65,7 +67,7 @@ public class BeneficiaryAddEditV3TermsFragment extends WebBrowserFragmentV2 impl viewModel = new ViewModelProvider(requireActivity(), recipientAddViewModelFactory).get(RecipientAddV3ViewModel.class); } showAcceptOption(true); - WebRequestModel webRequestModel = new WebRequestModel("", JME_TERMS_N_CONDITIONS, null); + WebRequestModel webRequestModel = new WebRequestModel("",JME_REGISTER_TERMS, null); setWebRequestData(webRequestModel); loadWebView(); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java index 7d772c08..de7d867f 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/recipientmanagement/view/recipientaddeditV3/RecipientAddEditV3Activity.java @@ -64,7 +64,6 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien private void setupViewPager() { - addBeneficiaryV3ViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); List fragments = new ArrayList<>(); @@ -84,7 +83,7 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien fragments.add(beneficiaryAddEditV3TermsFragment); - addBeneficiaryV3ViewPagerAdapter.addFragments(fragments); + addBeneficiaryV3ViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); addBeneficiaryV3ViewPager.setOffscreenPageLimit(2); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegisterV2Activity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegisterV2Activity.java index 7dda3a90..85caf898 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegisterV2Activity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegisterV2Activity.java @@ -65,8 +65,6 @@ public class ExistingCustomerRegisterV2Activity extends BaseActivity implements private void setupViewPager() { - viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); - ArrayList fragments = new ArrayList<>(); easyRemitExistingCustomerRegistrationRequestFragment = new ExistingCustomerRegistrationRequestFragment(); @@ -76,7 +74,7 @@ public class ExistingCustomerRegisterV2Activity extends BaseActivity implements fragments.add(easyRemitExistingCustomerRegistrationSubmitFragment); - viewPagerAdapter.addFragments(fragments); + viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); viewPager.setOffscreenPageLimit(3); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/renewId/view/RenewIdActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/renewId/view/RenewIdActivity.java index 9f89b8e4..ccf5cc38 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/renewId/view/RenewIdActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/renewId/view/RenewIdActivity.java @@ -140,7 +140,7 @@ public class RenewIdActivity extends BaseActivity implements RenewIdV2PresenterI frontIdLoadedSubject = PublishSubject.create(); backIdLoadedSubject = PublishSubject.create(); return new RenewUserIdLiveData.RenewUserIdBinding( - RxTextView.textChanges(edUserId).skipInitialValue(), + RxTextView.textChanges(edUserId), frontIdLoadedSubject, backIdLoadedSubject ); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/termsandcondition/view/TermsAndConditionAcitivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/termsandcondition/view/TermsAndConditionAcitivity.java index de8a262e..e686e21b 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/termsandcondition/view/TermsAndConditionAcitivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/termsandcondition/view/TermsAndConditionAcitivity.java @@ -67,8 +67,6 @@ public class TermsAndConditionAcitivity extends BaseActivity implements WebBrow private void setupViewPager() { - termsAndConditionViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); - List fragments = new ArrayList<>(); termsAndConditionFragment = new TermsAndConditionFragment(); @@ -77,7 +75,7 @@ public class TermsAndConditionAcitivity extends BaseActivity implements WebBrow fragments.add(termsAndConditionFragment); fragments.add(pdfViewerFragment); - termsAndConditionViewPagerAdapter.addFragments(fragments); + termsAndConditionViewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); termsAndConditionViewPager.setOffscreenPageLimit(2); diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/webbrowser/WebBrowserFragmentV2.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/webbrowser/WebBrowserFragmentV2.java index ca68e996..c513798f 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/webbrowser/WebBrowserFragmentV2.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/webbrowser/WebBrowserFragmentV2.java @@ -37,6 +37,7 @@ import com.swifttech.remit.jmecustomer.base.BaseFragment; import com.swifttech.remit.jmecustomer.common.customwidgets.CustomAlertDialog; import com.swifttech.remit.jmecustomer.common.customwidgets.GmeButton; import com.swifttech.remit.jmecustomer.features.webbrowser.model.WebRequestModel; +import com.swifttech.remit.jmecustomer.utils.Constants; import com.swifttech.remit.jmecustomer.utils.https.HTTPConstants; import com.tbruyelle.rxpermissions2.RxPermissions; @@ -62,6 +63,8 @@ public abstract class WebBrowserFragmentV2 extends BaseFragment implements View. private boolean isPageLoadSuccess = false; + private String requestUrl; + @BindView(R.id.webView) WebView webView; @@ -113,6 +116,8 @@ public abstract class WebBrowserFragmentV2 extends BaseFragment implements View. public void setWebRequestData(WebRequestModel webRequestModel) { this.webRequestModel = webRequestModel; + requestUrl=webRequestModel.getUrl(); + } public void loadWebView() { @@ -166,7 +171,7 @@ public abstract class WebBrowserFragmentV2 extends BaseFragment implements View. View view = (View) scrollView.getChildAt(scrollView.getChildCount() - 1); int diff = (view.getBottom() - (scrollView.getHeight() + scrollView.getScrollY())); - + Log.d(TAG, "onScrollChange: " + diff); // if diff is zero, then the bottom has been reached if (diff == 0 && showAcceptOption == true && isPageLoadSuccess == true) { Log.i(TAG, diff + " is true "); @@ -228,6 +233,9 @@ public abstract class WebBrowserFragmentV2 extends BaseFragment implements View. isPageLoadSuccess = true; if (webView.getProgress() == 100) { isPageLoadSuccess = true; + if(requestUrl.equals(Constants.JME_TRANSACTION_TERMS)){ + llBottom.setVisibility(View.VISIBLE); + } showProgressBar(false, ""); } } diff --git a/app/src/main/java/com/swifttech/remit/jmecustomer/features/withdraw/view/WithdrawActivity.java b/app/src/main/java/com/swifttech/remit/jmecustomer/features/withdraw/view/WithdrawActivity.java index a4fcb278..c9b7f9b5 100644 --- a/app/src/main/java/com/swifttech/remit/jmecustomer/features/withdraw/view/WithdrawActivity.java +++ b/app/src/main/java/com/swifttech/remit/jmecustomer/features/withdraw/view/WithdrawActivity.java @@ -64,7 +64,6 @@ public class WithdrawActivity extends BaseActivity implements WithdrawPresenterI private void setupViewPager() { - viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager()); ArrayList fragments = new ArrayList<>(); @@ -75,9 +74,9 @@ public class WithdrawActivity extends BaseActivity implements WithdrawPresenterI fragments.add(amountInputFragment); fragments.add(transactionReviewFragment); - viewPagerAdapter.addFragments(fragments); + viewPagerAdapter = new GenericViewPagerAdapter(getSupportFragmentManager(),fragments); - viewPager.setOffscreenPageLimit(3); + viewPager.setOffscreenPageLimit(2); viewPager.setAdapter(viewPagerAdapter); diff --git a/app/src/main/res/drawable/icv_kyc_non_verified_userstatus.xml b/app/src/main/res/drawable/icv_kyc_non_verified_userstatus.xml index 882f5abe..79de2064 100644 --- a/app/src/main/res/drawable/icv_kyc_non_verified_userstatus.xml +++ b/app/src/main/res/drawable/icv_kyc_non_verified_userstatus.xml @@ -13,7 +13,8 @@ android:pathData="M124.607,114.781H104.939C103.121,114.781 101.634,116.269 101.634,118.087C101.634,119.905 103.121,121.392 104.939,121.392H124.607C126.425,121.392 127.913,119.905 127.913,118.087C127.913,116.269 126.425,114.781 124.607,114.781Z" android:fillColor="#DC1431"/> diff --git a/app/src/main/res/layout/activity_renew_id_layout.xml b/app/src/main/res/layout/activity_renew_id_layout.xml index 333774eb..0cfedbb2 100644 --- a/app/src/main/res/layout/activity_renew_id_layout.xml +++ b/app/src/main/res/layout/activity_renew_id_layout.xml @@ -50,6 +50,7 @@ android:enabled="false" android:cursorVisible="false" android:inputType="text" + android:textColor="@color/black" /> diff --git a/app/src/main/res/layout/fragment_web_browser_v2.xml b/app/src/main/res/layout/fragment_web_browser_v2.xml index 0d6b5ed4..828f4e55 100644 --- a/app/src/main/res/layout/fragment_web_browser_v2.xml +++ b/app/src/main/res/layout/fragment_web_browser_v2.xml @@ -20,7 +20,7 @@ @@ -37,6 +37,7 @@