Browse Source

back required functionality feature added in new Customer Kyc

new_design
Santosh Bhandary 4 years ago
parent
commit
dfde911e30
  1. 7
      app/src/main/AndroidManifest.xml
  2. 5
      app/src/main/java/com/swifttech/remit/android/common/view/OnFragmentSelectedListener.java
  3. 6
      app/src/main/java/com/swifttech/remit/android/features/changepassNPin/presenter/ChangePassNPinViewModel.java
  4. 6
      app/src/main/java/com/swifttech/remit/android/features/changepassword/presenter/ChangePasswordV2Presenter.java
  5. 7
      app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java
  6. 45
      app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/presenter/KYCV3ViewModel.java
  7. 16
      app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/KYCV3Activity.java
  8. 31
      app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java
  9. 17
      app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java
  10. 2
      app/src/main/java/com/swifttech/remit/android/features/login/presenter/LoginV2Presenter.java
  11. 7
      app/src/main/java/com/swifttech/remit/android/features/recipientlisting/presenter/recipientlisting/RecipientListingPresenter.java
  12. 4
      app/src/main/java/com/swifttech/remit/android/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterV2Presenter.java
  13. 5
      app/src/main/java/com/swifttech/remit/android/features/registerv2/newcustomer/presenter/NewRegisterV2Presenter.java
  14. 3
      app/src/main/java/com/swifttech/remit/android/features/sendmoney/view/SendMoneyRequestSummaryActivity.java
  15. 2
      app/src/main/res/values/strings.xml

7
app/src/main/AndroidManifest.xml

@ -27,7 +27,12 @@
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:allowBackup,android:supportsRtl">
<activity android:name=".features.sendmoney.view.SendMoneyRequestSummaryActivity"></activity>
<activity android:name=".features.sendmoney.view.SendMoneyRequestSummaryActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"
/>
<activity
android:name=".features.changepassNPin.view.ChangePassNPinActivity"
android:screenOrientation="portrait"

5
app/src/main/java/com/swifttech/remit/android/common/view/OnFragmentSelectedListener.java

@ -0,0 +1,5 @@
package com.swifttech.remit.android.common.view;
public interface OnFragmentSelectedListener {
void onFragmentedSelected();
}

6
app/src/main/java/com/swifttech/remit/android/features/changepassNPin/presenter/ChangePassNPinViewModel.java

@ -163,7 +163,7 @@ public class ChangePassNPinViewModel extends BaseViewModel implements ChangePass
boolean isCurrentPasswordValid(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")){
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.currentPassword = password.toString();
changePassNPinLiveData.setCurrentPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;
@ -176,7 +176,7 @@ public class ChangePassNPinViewModel extends BaseViewModel implements ChangePass
boolean isNewPasswordValid(CharSequence password) {
if (password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.newPassword = password.toString();
changePassNPinLiveData.setNewPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;
@ -189,7 +189,7 @@ public class ChangePassNPinViewModel extends BaseViewModel implements ChangePass
}
boolean isConfirmPasswordValid(CharSequence password) {
if (password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.confirmPassword = password.toString();
changePassNPinLiveData.setConfirmPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;

6
app/src/main/java/com/swifttech/remit/android/features/changepassword/presenter/ChangePasswordV2Presenter.java

@ -103,7 +103,7 @@ public class ChangePasswordV2Presenter extends BaseViewModel implements ChangePa
private String confirmPassword;
boolean isCurrentPasswordValid(CharSequence password) {
if (password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.currentPassword = password.toString();
changePasswordLiveData.setCurrentPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;
@ -117,7 +117,7 @@ public class ChangePasswordV2Presenter extends BaseViewModel implements ChangePa
boolean isNewPasswordValid(CharSequence password) {
if (password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.newPassword = password.toString();
changePasswordLiveData.setNewPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;
@ -130,7 +130,7 @@ public class ChangePasswordV2Presenter extends BaseViewModel implements ChangePa
}
boolean isConfirmPasswordValid(CharSequence password) {
if (password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
this.confirmPassword = password.toString();
changePasswordLiveData.setConfirmPasswordInputLiveData(new FormInputStateDTO<>(true, null));
return true;

7
app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/presenter/KYCV3PresenterInterface.java

@ -15,7 +15,7 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
CustomerDetailViewLiveData getCustomerRelatedViewEvents(CustomerDetailViewLiveData.CustomerDetailViewBinding viewBindings);
KYCIDTypeViewLiveData getKYCIdTypeViewEvents(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings);
KYCIDTypeViewLiveData getKYCIdTypeViewEvents(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings,Boolean isBackRequired);
void checkImageStatus(int requestCode, int resultCode, File data);
@ -30,6 +30,7 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
List<IDTextDTO> getBusinessTypeList();
List<IDTextDTO> getIdTypeList();
List<IDTextDTO> getPurposeOfRegistrationList();
List<IDTextDTO> getAdditionalIdTypeList();
@ -62,6 +63,10 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
}
interface KYCV3CustomerDocumentViewContractInterface extends BaseContractInterface {
void showHideAdditionalBack(Boolean isBackRequired);
}
}
}

45
app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/presenter/KYCV3ViewModel.java

@ -37,7 +37,9 @@ import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.functions.Function4;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.PublishSubject;
@ -62,7 +64,8 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
private PublishSubject<Boolean> form1ValidationSubject;
private PublishSubject<Boolean> form2ValidationSubject;
private CustomerDetailViewLiveData.CustomerDetailViewBinding viewBindings;
private Boolean isBackAdditionalRequired;
private Boolean isBackAdditionalRequired=true;
public KYCV3ViewModel(KYCV3ViewContractInterface view, KYCV3GatewayInterface gatewayInterface, FileDownloadGateway fileDownloadGateway, LoginV2InteractorInterface.Login2GatewayInterface loginGateway, String userId, String userPwd) {
this.compositeDisposable = new CompositeDisposable();
@ -158,20 +161,20 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
}
@Override
public KYCIDTypeViewLiveData getKYCIdTypeViewEvents(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings) {
bindKYCIdTypeView(viewBindings);
public KYCIDTypeViewLiveData getKYCIdTypeViewEvents(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings,Boolean isBackRequired) {
bindKYCIdTypeView(viewBindings,isBackRequired);
return idTypeLiveData;
}
private void bindKYCIdTypeView(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings) {
private void bindKYCIdTypeView(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings,Boolean isBackRequired) {
if(isBackRequired){
viewSubscriptions.add(
Observable.combineLatest(
viewBindings.getIdTypeFrontDocImageLoadedResultObservable(),
viewBindings.getIdTypeBackDocImageLoadedResultObservable(),
viewBindings.getAdditionalidTypeDocImageLoadedResultObservable(),
viewBindings.getAdditionalidBackTypeDocImageLoadedResultObservable(),
(isFrontIdPictureValid, isBackIdPictureValid, isAdditionalIdValid, isAdditionalIdBackValid) ->
isFrontIdPictureValid && isBackIdPictureValid && isAdditionalIdValid && isAdditionalIdBackValid
(isFrontIdPictureValid, isBackIdPictureValid, isAdditionalIdValid, isAdditionalIdBackValid) -> isFrontIdPictureValid && isBackIdPictureValid && isAdditionalIdValid && isAdditionalIdBackValid
).subscribeWith(new DisposableObserver<Boolean>() {
@Override
@ -190,6 +193,32 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
}
})
);
}else{
viewSubscriptions.add(
Observable.combineLatest(
viewBindings.getIdTypeFrontDocImageLoadedResultObservable(),
viewBindings.getIdTypeBackDocImageLoadedResultObservable(),
viewBindings.getAdditionalidTypeDocImageLoadedResultObservable(),
(isFrontIdPictureValid, isBackIdPictureValid, isAdditionalIdValid) -> isFrontIdPictureValid && isBackIdPictureValid && isAdditionalIdValid)
.subscribeWith(new DisposableObserver<Boolean>() {
@Override
public void onNext(Boolean form2ValidationResult) {
form2ValidationSubject.onNext(form2ValidationResult);
}
@Override
public void onError(Throwable e) {
form2ValidationSubject.onNext(false);
}
@Override
public void onComplete() {
}
})
);
}
}
@ -197,7 +226,6 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
data.seedInitialData();
data.formatToUpperCase();
this.validator = new CustomerDetailViewValidator(data);
updateCustomerDetailData(data);
handleDocImages(data);
@ -234,6 +262,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
}
IDTextDTO additionalId= data.getAdditionalIdTypeFromId(personalInfoDTO.getAdditionalIdType());
if(additionalId!=null){
isBackAdditionalRequired=additionalId.getBackRequired();
}
customerDetailLiveData.getEmployerNameLiveData().postValue(new FormInputStateDTO<>(true, null, personalInfoDTO.getEmployeerName()));
customerDetailLiveData.getOccupationsLiveData().postValue(new FormInputStateDTO<>(true, null, occupation));
customerDetailLiveData.getSourceOfFundLiveData().postValue(new FormInputStateDTO<>(true, null,sourceOfFund ));

16
app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/KYCV3Activity.java

@ -16,10 +16,10 @@ import androidx.viewpager.widget.ViewPager;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.base.BaseActivity;
import com.swifttech.remit.android.common.view.AnswerInputDialog;
import com.swifttech.remit.android.features.customersupport.view.CustomerSupportFragment;
import com.swifttech.remit.android.common.customwidgets.GenericViewPagerAdapter;
import com.swifttech.remit.android.common.customwidgets.GmeTextView;
import com.swifttech.remit.android.common.view.AnswerInputDialog;
import com.swifttech.remit.android.features.customersupport.view.CustomerSupportFragment;
import com.swifttech.remit.android.features.kyc.newCustomer.KYCV3ViewModelFactory;
import com.swifttech.remit.android.features.kyc.newCustomer.presenter.KYCV3PresenterInterface;
import com.swifttech.remit.android.features.kyc.newCustomer.presenter.KYCV3ViewModel;
@ -128,20 +128,22 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
}
public void onDocumentDetailScreenShown() {
public void onDocumentDetailScreenShown(int position) {
TransitionManager.beginDelayedTransition(kyc_header_view);
page1TxtView.setTextColor(ContextCompat.getColor(page1TxtView.getContext(), R.color.white));
page1TxtView.setBackgroundResource(R.drawable.circular_valid_bg);
page2TxtView.setTextColor(ContextCompat.getColor(page2TxtView.getContext(), R.color.white));
page2TxtView.setBackgroundResource(R.drawable.circular_valid_bg);
Fragment activeFragment = kycViewPagerAdapter.getItem(position);
((KYCIDTypeFragment)activeFragment).onFragmentedSelected();
}
public void onCustomerRegistration() {
public void onCustomerRegistration(int position) {
TransitionManager.beginDelayedTransition(kyc_header_view);
page1TxtView.setTextColor(ContextCompat.getColor(page1TxtView.getContext(), R.color.white));
@ -150,6 +152,8 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
page2TxtView.setTextColor(ContextCompat.getColor(page2TxtView.getContext(), R.color.dark_gray));
page2TxtView.setBackgroundResource(R.drawable.circular_empty_bg);
Fragment activeFragment = kycViewPagerAdapter.getItem(position);
((CustomerDetailFragment)activeFragment).onFragmentedSelected();
}
@ -251,10 +255,10 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
public void onPageSelected(int position) {
switch (position) {
case 0:
onCustomerRegistration();
onCustomerRegistration(position);
break;
case 1:
onDocumentDetailScreenShown();
onDocumentDetailScreenShown(position);
break;
}

31
app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/documents/KYCIDTypeFragment.java

@ -11,6 +11,7 @@ import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -33,6 +34,8 @@ import com.swifttech.remit.android.BuildConfig;
import com.swifttech.remit.android.R;
import com.swifttech.remit.android.base.BaseFragment;
import com.swifttech.remit.android.common.model.FormInputStateDTO;
import com.swifttech.remit.android.common.view.OnFragmentSelectedListener;
import com.swifttech.remit.android.features.kyc.newCustomer.presenter.KYCV3PresenterInterface;
import com.swifttech.remit.android.features.kyc.newCustomer.presenter.KYCV3ViewModel;
import com.swifttech.remit.android.utils.other.Utility;
import com.google.android.material.snackbar.Snackbar;
@ -50,7 +53,7 @@ import io.reactivex.subjects.PublishSubject;
import static android.app.Activity.RESULT_OK;
public class KYCIDTypeFragment extends BaseFragment {
public class KYCIDTypeFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDocumentViewContractInterface, OnFragmentSelectedListener {
public static final int REQUEST_PERMISSION_FACE_PHOTO = 2003;
@ -216,6 +219,7 @@ public class KYCIDTypeFragment extends BaseFragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.e("===>","KYCIDTypeFragment onCreateView called");
return inflater.inflate(R.layout.fragment_kyc_document, container, false);
}
@ -225,18 +229,17 @@ public class KYCIDTypeFragment extends BaseFragment {
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
Log.e("===>","KYCIDTypeFragment onViewCreated called");
}
private void init() {
kycv3ViewModel = new ViewModelProvider(requireActivity()).get(KYCV3ViewModel.class);
}
private void performDefaultAction(Bundle savedInstance) {
subscribeToIdTypeImageLiveData(getIDTypeViewBinding());
subscribeToIdTypeImageLiveData(getIDTypeViewBinding(),true);
}
@ -257,8 +260,8 @@ public class KYCIDTypeFragment extends BaseFragment {
additionalIdBackLoadedSubject
);
}
private void subscribeToIdTypeImageLiveData(KYCIDTypeViewLiveData.KYCIDTypeViewBindings viewBindings) {
KYCIDTypeViewLiveData liveData = kycv3ViewModel.getKYCIdTypeViewEvents(viewBindings);
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);
@ -839,7 +842,19 @@ public class KYCIDTypeFragment extends BaseFragment {
}
@Override
public void showHideAdditionalBack(Boolean isBackRequired) {
//@Todo
}
@Override
public void onFragmentedSelected() {
subscribeToIdTypeImageLiveData(getIDTypeViewBinding(),kycv3ViewModel.getBackAdditionalRequired());
if(kycv3ViewModel.getBackAdditionalRequired()){
additionalIDBackImageViewContainer.setVisibility(View.VISIBLE);
}else{
additionalIDBackImageViewContainer.setVisibility(View.GONE);
}
btnSubmit3.setEnabled(false);
}
}

17
app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/personal/CustomerDetailFragment.java

@ -20,6 +20,7 @@ import com.swifttech.remit.android.R;
import com.swifttech.remit.android.base.BaseFragment;
import com.swifttech.remit.android.common.customwidgets.common.GenericTextListingDialog;
import com.swifttech.remit.android.common.model.FormInputStateDTO;
import com.swifttech.remit.android.common.view.OnFragmentSelectedListener;
import com.swifttech.remit.android.features.kyc.existingCustomer.model.ExistingIDTextDTO;
import com.swifttech.remit.android.features.kyc.newCustomer.model.IDTextDTO;
import com.swifttech.remit.android.features.kyc.newCustomer.presenter.KYCV3PresenterInterface;
@ -35,7 +36,7 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.PublishSubject;
public class CustomerDetailFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDetailViewContractInterface {
public class CustomerDetailFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDetailViewContractInterface, OnFragmentSelectedListener {
@BindView(R.id.rootView)
@ -125,6 +126,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
Log.e("===>","CustomerDetailFragment onCreateView called");
return inflater.inflate(R.layout.fragment_kyc_customer_detail, container, false);
}
@ -134,6 +136,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
ButterKnife.bind(this, view);
init();
performDefaultAction(savedInstanceState);
Log.e("===>","CustomerDetailFragment onViewCreated called");
}
@ -292,6 +295,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (data.isValid()) {
if (data.hasData()) {
ed_additionalIdType.setText(data.getData().getText());
kycv3ViewModel.setBackAdditionalRequired(data.getData().getBackRequired());
additionalIdTypeSelectSubject.onNext(data.getData());
}
}
@ -412,11 +416,12 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
additionalIdTypeSelectionDialog.setData(kycv3ViewModel.getAdditionalIdTypeList());
additionalIdTypeSelectionDialog.disableSearch(true);
additionalIdTypeSelectionDialog.setListener(selectedIDType ->
additionalIdTypeSelectionDialog.setListener(selectedAdditionalTypeIDType ->
{
additionalIdTypeSelectionDialog.dismiss();
ed_additionalIdType.setText(selectedIDType.toString());
additionalIdTypeSelectSubject.onNext(selectedIDType);
ed_additionalIdType.setText(selectedAdditionalTypeIDType.toString());
kycv3ViewModel.setBackAdditionalRequired(selectedAdditionalTypeIDType.getBackRequired());
additionalIdTypeSelectSubject.onNext(selectedAdditionalTypeIDType);
});
additionalIdTypeSelectionDialog.setHintAndTitle(getString(R.string.searchAdditionalIdType_text), getString(R.string.selectAdditionalIdType_text), getString(R.string.no_result_found_text));
@ -529,5 +534,9 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (!purposeOfRegisgtrationDialog.isAdded())
purposeOfRegisgtrationDialog.show(getActivity().getSupportFragmentManager(), "PURPOSE_OF_REGISTRATION_CHOOSER");
}
@Override
public void onFragmentedSelected() {
}
}

2
app/src/main/java/com/swifttech/remit/android/features/login/presenter/LoginV2Presenter.java

@ -198,7 +198,7 @@ public class LoginV2Presenter extends BaseViewModel implements LoginV2PresenterI
}
private boolean validatePassword(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")){
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
loginViewLiveData.setPasswordInputLiveData(new FormInputStateDTO<>(true, ""));
this.password = password.toString();
return true;

7
app/src/main/java/com/swifttech/remit/android/features/recipientlisting/presenter/recipientlisting/RecipientListingPresenter.java

@ -163,7 +163,12 @@ public class RecipientListingPresenter extends BasePresenter implements Recipien
@Override
public void onRecipentUpdatedSucesss(String receiverId) {
getAllRecipientList(() -> searchReceiverById(receiverId));
getAllRecipientList(new Runnable() {
@Override
public void run() {
// RecipientListingPresenter.this.searchReceiverById(receiverId);
}
});
}
public class RecipientListingObserver extends GenericApiObserverResponseV2<RecipientRelatedDataModel> {

4
app/src/main/java/com/swifttech/remit/android/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterV2Presenter.java

@ -351,7 +351,7 @@ public class ExistingCustomerRegisterV2Presenter extends BaseViewModel implement
}
public boolean validatePassword(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
existingRegisterSubmitViewLiveData.setNewPasswordInputLiveData(new FormInputStateDTO<>(true, ""));
this.password = password.toString();
return true;
@ -363,7 +363,7 @@ public class ExistingCustomerRegisterV2Presenter extends BaseViewModel implement
}
public boolean validateConfirmPassword(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
existingRegisterSubmitViewLiveData.setConfirmPasswordInputLiveData(new FormInputStateDTO<>(true, ""));
this.confirmPassword = password.toString();
return true;

5
app/src/main/java/com/swifttech/remit/android/features/registerv2/newcustomer/presenter/NewRegisterV2Presenter.java

@ -289,7 +289,7 @@ public class NewRegisterV2Presenter extends BaseViewModel implements NewRegister
}
private boolean validatePassword(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
newExistingRegisterViewLiveData.setPasswordInputLiveData(new FormInputStateDTO<>(true, ""));
this.password = password.toString();
return true;
@ -301,7 +301,7 @@ public class NewRegisterV2Presenter extends BaseViewModel implements NewRegister
}
public boolean validateConfirmPassword(CharSequence password) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,24}$")) {
if(password!=null && password.toString().trim().matches("^(?=.*[A-Z])(?=.*[0-9]).{8,24}$")){
newExistingRegisterViewLiveData.setConfirmPasswordInputLiveData(new FormInputStateDTO<>(true, ""));
this.confirmPassword = password.toString();
return true;
@ -313,7 +313,6 @@ public class NewRegisterV2Presenter extends BaseViewModel implements NewRegister
}
}
public class RegistrationObserver extends GenericApiObserverResponse<NewRegisterApiResponse> {
@Override

3
app/src/main/java/com/swifttech/remit/android/features/sendmoney/view/SendMoneyRequestSummaryActivity.java

@ -189,10 +189,13 @@ public class SendMoneyRequestSummaryActivity extends BaseActivity implements Se
payoutAmountTextView.setText(recieptData.getPAmount());
if (isRequestedBySendMoney) {
gmeControlNumberTextView.setVisibility(View.GONE);
txv_note.setVisibility(View.GONE);
} else {
gmeControlNumberTextView.setText(getString(R.string.jmeControlNum_text)+String.format(" %s", recieptData.getControlNo()));
controlId=recieptData.getControlNo();
gmeControlNumberTextView.setVisibility(View.VISIBLE);
txv_note.setVisibility(View.VISIBLE);
}
transactionDateTextView.setText(recieptData.getTrnDate());
receiverTextView.setText(name);

2
app/src/main/res/values/strings.xml

@ -1019,5 +1019,5 @@ All the configurations are done from backend web application system which allows
<string name="send_money_success_footer_text">to JME within next working day to transmit this request.\nAfter payment please check notices to get JME Number for this transfer.</string>
<string name="request_summary_text">REQUEST SUMMARY</string>
<string name="payout_agent_bank_text">Payout Agent/Bank</string>
<string name="password_error_text">Password should contain atleast one number,one uppercase letter, one lowercase letter and minimum 8 Characters</string>
<string name="password_error_text">Password should contain atleast one number,one uppercase letter and minimum 8 Characters</string>
</resources>
Loading…
Cancel
Save