Browse Source

KYC form view modified for korean customer

master
Preyea Regmi 5 years ago
parent
commit
9d49c75eae
  1. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java
  2. 10
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java
  3. 67
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java
  4. 6
      app/src/main/res/layout/fragment_kyc_customer_detail.xml

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java

@ -33,6 +33,8 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
LiveData<Bitmap> getAlternateImageLiveData();
LiveData<Boolean> getAlternateIdIssueDateRequireLiveData();
LiveData<Boolean> getAlternateIdExpiryDateRequireLiveData();
LiveData<Boolean> getIsCustomerKoreanLiveData();
LiveData<String> getPennyTestMessageLiveData();

10
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java

@ -76,6 +76,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
private MutableLiveData<String> anotherIdExpDateLiveData;
private MutableLiveData<String> anotherIdIssuedDateLiveData;
private MutableLiveData<Boolean> customerKoreanLiveData;
private final CompositeDisposable compositeDisposable;
@ -124,6 +125,7 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
anotherIdPictureLabeliveData = new MutableLiveData<>();
anotherIdExpDateLiveData = new MutableLiveData<>();
anotherIdIssuedDateLiveData = new MutableLiveData<>();
customerKoreanLiveData = new MutableLiveData<>();
this.penntestReferenceSubmissionLiveData = new MutableLiveData<>();
this.penntestReferenceErrorMessageLiveData = new MutableLiveData<>();
@ -170,6 +172,9 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
}));
this.customerDetailViewSubscriptions.add(this.view.getCustomerDetailViewContract().getForm2ViewBindings().getReferralCodeChangeEvent().subscribe(val -> validator.validateReferralCode(val)));
customerKoreanLiveData.setValue(true);
new Handler().postDelayed(()->customerKoreanLiveData.setValue(false),5000);
}
@ -408,6 +413,11 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
return alternateIDExpiryDateVisibilityLiveData;
}
@Override
public LiveData<Boolean> getIsCustomerKoreanLiveData() {
return customerKoreanLiveData;
}
@Override
public LiveData<String> getPennyTestMessageLiveData() {
return pennyTestMessageLiveData;

67
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java

@ -62,7 +62,6 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -76,6 +75,7 @@ import io.reactivex.schedulers.Schedulers;
import io.reactivex.subjects.PublishSubject;
import static android.app.Activity.RESULT_OK;
import static android.view.View.GONE;
public class CustomerDetailFragment extends BaseFragment implements KYCV3PresenterInterface.KYCV3ViewContractInterface.KYCV3CustomerDetailViewContractInterface {
@ -152,6 +152,9 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@BindView(R.id.primaryAccountWrapper)
TextInputLayout primaryAccountWrapper;
@BindView(R.id.txt_passport_label)
TextView txt_passport_label;
@BindView(R.id.ed_passportId)
EditText ed_passportId;
@BindView(R.id.passportIdWrapper)
@ -160,13 +163,24 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@BindView(R.id.ed_passportIdIssueDate)
EditText ed_passportIdIssueDate;
@BindView(R.id.passportIdIssueDateWrapper)
TextInputLayout passportIdIssueDateContainer;
TextInputLayout passportIdIssueDateWrapper;
@BindView(R.id.passportIdIssueDateContainer)
View passportIdIssueDateContainer;
@BindView(R.id.ed_passportIdExpiryDate)
EditText ed_passportIdExpiryDate;
@BindView(R.id.passportIdExpiryDateWrapper)
TextInputLayout passportIdExpiryDateWrapper;
@BindView(R.id.passportIdExpiryDateContainer)
View passportIdExpiryDateContainer;
@BindView(R.id.txt_another_id_label)
TextView txt_another_id_label;
@BindView(R.id.txt_another_id_clear)
TextView txt_another_id_clear;
@BindView(R.id.ed_idType)
EditText ed_idType;
@ -206,9 +220,13 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@BindView(R.id.iv_passport_id)
ImageView iv_passport_id;
@BindView(R.id.passportImageViewContainer)
View passportImageViewContainer;
@BindView(R.id.iv_alternate_id)
ImageView iv_alternate_id;
@BindView(R.id.alternateIDImageViewContainer)
View alternateIDImageViewContainer;
@BindView(R.id.anotherIdPictureLabel)
@ -262,8 +280,8 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
}
private void performDefaultAction(Bundle savedInstance) {
form2.setVisibility(View.GONE);
form3.setVisibility(View.GONE);
form2.setVisibility(GONE);
form3.setVisibility(GONE);
KYCV3ViewModel kycv3ViewModel = ViewModelProviders.of(getActivity()).get(KYCV3ViewModel.class);
@ -315,7 +333,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (val.getPrimaryInformation() != null) {
//Hide Form 1 Button and Show Form 2
btnSubmit1.setVisibility(View.GONE);
btnSubmit1.setVisibility(GONE);
form2.setVisibility(View.VISIBLE);
IDTextDTO selectedPrimaryBank = val.getSelectedBankFromBankId(val.getPrimaryInformation().getBankId());
@ -363,7 +381,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
//Hide Form 2 Button and Show Form 3
btnSubmit2.setVisibility(View.GONE);
btnSubmit2.setVisibility(GONE);
form3.setVisibility(View.VISIBLE);
Glide.with(iv_passport_id.getContext())
@ -421,14 +439,14 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
if (action)
anotherIdIssueDateContainer.setVisibility(View.VISIBLE);
else
anotherIdIssueDateContainer.setVisibility(View.GONE);
anotherIdIssueDateContainer.setVisibility(GONE);
});
kycv3ViewModel.getAlternateIdExpiryDateRequireLiveData().observe(getViewLifecycleOwner(), action -> {
if (action)
anotherIdExpiryDateContainer.setVisibility(View.VISIBLE);
else
anotherIdExpiryDateContainer.setVisibility(View.GONE);
anotherIdExpiryDateContainer.setVisibility(GONE);
});
@ -462,6 +480,33 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
}
});
kycv3ViewModel.getIsCustomerKoreanLiveData().observe(getViewLifecycleOwner(), action -> {
if (action) {
txt_passport_label.setVisibility(GONE);
passportIdWrapper.setVisibility(GONE);
passportIdExpiryDateContainer.setVisibility(GONE);
passportIdIssueDateContainer.setVisibility(GONE);
passportImageViewContainer.setVisibility(GONE);
txt_another_id_clear.setVisibility(View.GONE);
txt_another_id_label.setText("ID Type");
}
else
{
txt_passport_label.setVisibility(View.VISIBLE);
passportIdWrapper.setVisibility(View.VISIBLE);
passportIdExpiryDateContainer.setVisibility(View.VISIBLE);
passportIdIssueDateContainer.setVisibility(View.VISIBLE);
passportImageViewContainer.setVisibility(View.VISIBLE);
txt_another_id_clear.setVisibility(View.VISIBLE);
txt_another_id_label.setText("Another Id Information(Optional)");
}
});
}
@ -476,7 +521,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getBankNameErrorLiveData().observe(getViewLifecycleOwner(), error -> primaryBankListWrapper.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getBankAccounNoErrorLiveData().observe(getViewLifecycleOwner(), error -> primaryAccountWrapper.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getPassportNoErrorLiveData().observe(getViewLifecycleOwner(), error -> passportIdWrapper.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getPassportIssuedDateErrorLiveData().observe(getViewLifecycleOwner(), error -> passportIdIssueDateContainer.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getPassportIssuedDateErrorLiveData().observe(getViewLifecycleOwner(), error -> passportIdIssueDateWrapper.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getPassportExpiryDateErrorLiveData().observe(getViewLifecycleOwner(), error -> passportIdExpiryDateWrapper.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getAnotherIdTypeErrorLiveData().observe(getViewLifecycleOwner(), error -> ed_anotherId.setError(error));
kycv3ViewModel.getCustomerDetailRelatedFormErrorLiveData().getAnotherIdNumberErrorLiveData().observe(getViewLifecycleOwner(), error -> anotherIdWrapper.setError(error));
@ -899,7 +944,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@Override
public void showForm2() {
TransitionManager.beginDelayedTransition(rootView, new AutoTransition());
btnSubmit1.setVisibility(View.GONE);
btnSubmit1.setVisibility(GONE);
form2.setVisibility(View.VISIBLE);
scrollView.postDelayed(() -> {
ObjectAnimator.ofInt(scrollView, "scrollY", form2.getTop()).setDuration(600).start();
@ -909,7 +954,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@Override
public void showForm3() {
TransitionManager.beginDelayedTransition(rootView, new AutoTransition());
btnSubmit2.setVisibility(View.GONE);
btnSubmit2.setVisibility(GONE);
form3.setVisibility(View.VISIBLE);
scrollView.postDelayed(() -> {
ObjectAnimator.ofInt(scrollView, "scrollY", form3.getTop()).setDuration(600).start();

6
app/src/main/res/layout/fragment_kyc_customer_detail.xml

@ -343,6 +343,7 @@
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_passport_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10sdp"
@ -456,6 +457,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:id="@+id/txt_another_id_label"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
@ -739,6 +741,7 @@
app:txtfontName="@string/semibold" />
<androidx.cardview.widget.CardView
android:id="@+id/passportImageViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_4sdp"
@ -746,7 +749,6 @@
app:cardElevation="@dimen/_2sdp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/passportImageViewContainer"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_margin="6dp"
@ -816,6 +818,7 @@
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:id="@+id/alternateIDImageViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/_4sdp"
@ -823,7 +826,6 @@
app:cardElevation="@dimen/_2sdp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/alternateIDImageViewContainer"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_margin="6dp"

Loading…
Cancel
Save