Browse Source

REgister flow minor fixes

master
Preyea Regmi 5 years ago
parent
commit
9e8279b274
  1. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3PresenterInterface.java
  2. 20
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/presenter/KYCV3ViewModel.java
  3. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java
  4. 31
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/personal/CustomerDetailFragment.java
  5. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java
  6. 24
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/RxUtils.java
  7. 3
      app/src/main/res/values/strings.xml

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

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.kycV3.presenter;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import androidx.annotation.DrawableRes;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPrimaryAccounAsAutoDebitActivity; import com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPrimaryAccounAsAutoDebitActivity;
@ -87,6 +88,7 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
void redirectToAddAutoDebitScreen(); void redirectToAddAutoDebitScreen();
void onAnotherIDSampleClicked();
interface KYCV3ViewContractInterface extends BaseContractInterface interface KYCV3ViewContractInterface extends BaseContractInterface
@ -124,6 +126,8 @@ public interface KYCV3PresenterInterface extends BasePresenterInterface {
void showForm2(); void showForm2();
void showForm3(); void showForm3();
void showAlternatedIdSample(@DrawableRes int resId,String title);
} }
interface PennyTestViewContractInterface extends BaseContractInterface interface PennyTestViewContractInterface extends BaseContractInterface

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

@ -443,6 +443,26 @@ public class KYCV3ViewModel extends BaseViewModel implements KYCV3PresenterInter
view.redirectToKFTCAddScreen(requestParam); view.redirectToKFTCAddScreen(requestParam);
} }
@Override
public void onAnotherIDSampleClicked() {
if(validator.getKycRelatedDataDTO().getPrimaryInformation()!=null) {
IDTypeDTO selectedID = validator.getKycRelatedDataDTO().getSelectedIdTYpeFromId(validator.getKycRelatedDataDTO().getPrimaryInformation().getAnotherIDType());
if (selectedID!=null)
{
if(ID_TYPE_ALIEN_REGISTRATION_CARD.equalsIgnoreCase(selectedID.getText()))
view.getCustomerDetailViewContract().showAlternatedIdSample(R.drawable.penny_test_sample,getStringfromStringId(R.string.alien_id_text));
else if(ID_TYPE_DRIVING_LICENSE.equalsIgnoreCase(selectedID.getText()))
view.getCustomerDetailViewContract().showAlternatedIdSample(R.drawable.penny_test_sample,getStringfromStringId(R.string.driving_id_text));
else if(ID_TYPE_NATIONAL_ID_CARD.equalsIgnoreCase(selectedID.getText()))
view.getCustomerDetailViewContract().showAlternatedIdSample(R.drawable.penny_test_sample,getStringfromStringId(R.string.national_id_text));
}
}
}
public void checkImageStatus(int requestCode, int resultCode, File data) { public void checkImageStatus(int requestCode, int resultCode, File data) {
if (data == null) { if (data == null) {

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV3/view/KYCV3Activity.java

@ -12,6 +12,7 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
@ -41,6 +42,7 @@ import static com.gmeremit.online.gmeremittance_native.addautodebitV2.view.AddPr
public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterface.KYCV3ViewContractInterface, ViewPager.OnPageChangeListener { public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterface.KYCV3ViewContractInterface, ViewPager.OnPageChangeListener {
private static final String SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY = "SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY"; private static final String SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY = "SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY";
public static final int KYC_FORM_REQUEST_CODE = 4211;
@BindView(R.id.kycFormViewPager) @BindView(R.id.kycFormViewPager)
ViewPager kycFormViewPager; ViewPager kycFormViewPager;
@ -65,10 +67,10 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
private GenericViewPagerAdapter kycViewPagerAdapter; private GenericViewPagerAdapter kycViewPagerAdapter;
private KYCV3ViewModel viewModel; private KYCV3ViewModel viewModel;
public static void startActivity(Context context, boolean shouldRedirectToPennyTestScreen) {
public static void startActivity(Activity context, boolean shouldRedirectToPennyTestScreen) {
Intent intent = new Intent(context, KYCV3Activity.class); Intent intent = new Intent(context, KYCV3Activity.class);
intent.putExtra(SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY, shouldRedirectToPennyTestScreen); intent.putExtra(SHOULD_REDIRECT_TO_PENNY_TEST_BUNDLE_KEY, shouldRedirectToPennyTestScreen);
context.startActivity(intent);
context.startActivityForResult(intent,KYC_FORM_REQUEST_CODE);
} }
@Override @Override
@ -83,6 +85,7 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
private void performDefaultAction(Bundle savedInstanceState) { private void performDefaultAction(Bundle savedInstanceState) {
viewModel.getKycRelatedData(); viewModel.getKycRelatedData();
} }
private void initialize() { private void initialize() {
@ -234,7 +237,9 @@ public class KYCV3Activity extends BaseActivity implements KYCV3PresenterInterfa
@Override @Override
public void onPennyTestCompleted() { public void onPennyTestCompleted() {
exitView();
Intent returnIntent = new Intent();
setResult(Activity.RESULT_OK, returnIntent);
finish();
} }
@Override @Override

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

@ -29,6 +29,7 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
@ -261,8 +262,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
private File photoFile; private File photoFile;
private int currentRequest; private int currentRequest;
private float thumbNailHeight;
private float thumbNailWidth;
private boolean isAlternatedRelatedViewBeingReset; private boolean isAlternatedRelatedViewBeingReset;
@Override @Override
@ -284,8 +284,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
form2ViewBindings = new Form2ViewBindings(); form2ViewBindings = new Form2ViewBindings();
form3ViewBindings = new Form3ViewBindings(); form3ViewBindings = new Form3ViewBindings();
fullNameWrapper.setErrorEnabled(true); fullNameWrapper.setErrorEnabled(true);
thumbNailHeight = getResources().getDimension(R.dimen._70sdp);
thumbNailWidth = thumbNailHeight;
} }
private void performDefaultAction(Bundle savedInstance) { private void performDefaultAction(Bundle savedInstance) {
@ -378,22 +377,13 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
form2ViewBindings.alternateIDNoIssuedDateSubject.onNext(val.getPrimaryInformation().getPassportIssueDate()); form2ViewBindings.alternateIDNoIssuedDateSubject.onNext(val.getPrimaryInformation().getPassportIssueDate());
form2ViewBindings.alternateIDNoExpiryDateSubject.onNext(val.getPrimaryInformation().getPassportExpiryDate()); form2ViewBindings.alternateIDNoExpiryDateSubject.onNext(val.getPrimaryInformation().getPassportExpiryDate());
//Default button behavior is disabled until user changes some values
// btnSubmit2.setEnabled(false);
if (val.arePicturesAvailable()) { if (val.arePicturesAvailable()) {
//Hide Form 2 Button and Show Form 3 //Hide Form 2 Button and Show Form 3
btnSubmit2.setVisibility(GONE); btnSubmit2.setVisibility(GONE);
form3.setVisibility(View.VISIBLE); form3.setVisibility(View.VISIBLE);
// if (val.getPictures().getPassportPicture() != null && val.getPictures().getPassportPicture().length() > 0) {
// progressbar_passport_id.setVisibility(View.VISIBLE);
////
// }
//
// if (val.getPictures().getAnotherIDPicture() != null && val.getPictures().getAnotherIDPicture().length() > 0) {
// progressbar_alternate_id.setVisibility(View.VISIBLE);
////
// }
} }
} }
@ -498,7 +488,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
passportImageViewContainer.setVisibility(GONE); passportImageViewContainer.setVisibility(GONE);
txt_another_id_clear.setVisibility(View.GONE); txt_another_id_clear.setVisibility(View.GONE);
txt_another_id_label.setText("ID Type");
txt_another_id_label.setText(getString(R.string.id_type_text));
} else { } else {
txt_passport_label.setVisibility(View.VISIBLE); txt_passport_label.setVisibility(View.VISIBLE);
passportIdWrapper.setVisibility(View.VISIBLE); passportIdWrapper.setVisibility(View.VISIBLE);
@ -507,7 +497,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
passportImageViewContainer.setVisibility(View.VISIBLE); passportImageViewContainer.setVisibility(View.VISIBLE);
txt_another_id_clear.setVisibility(View.VISIBLE); txt_another_id_clear.setVisibility(View.VISIBLE);
txt_another_id_label.setText("Another Id Information(Optional)");
txt_another_id_label.setText(getString(R.string.another_id_information_text));
} }
}); });
@ -595,7 +585,7 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
@OnClick(R.id.txt_another_id_sample) @OnClick(R.id.txt_another_id_sample)
public void onAnotherIDSampleClicked() { public void onAnotherIDSampleClicked() {
Utility.showImageDialog(getActivity(), getString(R.string.passbook_text), R.drawable.ic_passbook_example);
ViewModelProviders.of(getActivity()).get(KYCV3ViewModel.class).onAnotherIDSampleClicked();
} }
@OnClick(R.id.txt_another_id_clear) @OnClick(R.id.txt_another_id_clear)
@ -973,6 +963,11 @@ public class CustomerDetailFragment extends BaseFragment implements KYCV3Present
}, 700); }, 700);
} }
@Override
public void showAlternatedIdSample(@DrawableRes int resId, String title) {
Utility.showImageDialog(getActivity(),title, resId);
}
@OnClick(R.id.ed_dob) @OnClick(R.id.ed_dob)
public void promptDatePickerForDOB() { public void promptDatePickerForDOB() {

7
app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java

@ -50,6 +50,7 @@ import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import static com.gmeremit.online.gmeremittance_native.kycV2.view.KYCFormV2Activity.KYC_RESULT_STATUS_BUNDLE_KEY; import static com.gmeremit.online.gmeremittance_native.kycV2.view.KYCFormV2Activity.KYC_RESULT_STATUS_BUNDLE_KEY;
import static com.gmeremit.online.gmeremittance_native.kycV3.view.KYCV3Activity.KYC_FORM_REQUEST_CODE;
public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface, View.OnClickListener, View.OnTouchListener, View.OnFocusChangeListener, TextView.OnEditorActionListener { public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface, View.OnClickListener, View.OnTouchListener, View.OnFocusChangeListener, TextView.OnEditorActionListener {
@ -337,6 +338,12 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen
if (resultCode == RESULT_OK && requestCode == TermsAndConditionAcitivity.REQUEST_TO_AGREE_TO_TERMS_AND_CONDITION) { if (resultCode == RESULT_OK && requestCode == TermsAndConditionAcitivity.REQUEST_TO_AGREE_TO_TERMS_AND_CONDITION) {
KYCV3Activity.startActivity(this, false); KYCV3Activity.startActivity(this, false);
} }
else if(resultCode == RESULT_OK && requestCode == KYC_FORM_REQUEST_CODE)
{
Intent intent=new Intent(this,LoginV2Activity.class);
startActivity(intent);
finish();
}
} }
private void redirectToPennyTestView(int requestCode) { private void redirectToPennyTestView(int requestCode) {

24
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/RxUtils.java

@ -10,6 +10,7 @@ import android.util.Log;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import com.gmeremit.online.gmeremittance_native.R;
import com.google.android.gms.location.LocationRequest; import com.google.android.gms.location.LocationRequest;
import com.patloew.rxlocation.RxLocation; import com.patloew.rxlocation.RxLocation;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
@ -22,11 +23,10 @@ import io.reactivex.Observable;
public class RxUtils { public class RxUtils {
public static Observable<String> getAddressFromGPS(FragmentActivity activity)
{
public static Observable<String> getAddressFromGPS(FragmentActivity activity) {
RxPermissions rxPermissions = new RxPermissions(activity); RxPermissions rxPermissions = new RxPermissions(activity);
return rxPermissions.request(Manifest.permission.ACCESS_FINE_LOCATION)
return rxPermissions.request(Manifest.permission.ACCESS_FINE_LOCATION)
.flatMap(granted -> { .flatMap(granted -> {
if (granted) { if (granted) {
RxLocation rxLocation = new RxLocation(activity); RxLocation rxLocation = new RxLocation(activity);
@ -40,7 +40,6 @@ public class RxUtils {
if (isGPSAvailable) { if (isGPSAvailable) {
return rxLocation.location().updates(locationRequest) return rxLocation.location().updates(locationRequest)
.flatMap(location -> { .flatMap(location -> {
Log.d("RXGPS", location.getLatitude() + " " + location.getLongitude());
Geocoder geocoder; Geocoder geocoder;
List<Address> addresses; List<Address> addresses;
@ -51,29 +50,26 @@ public class RxUtils {
String address = ""; String address = "";
if (addresses.get(0).getAddressLine(0) != null) { if (addresses.get(0).getAddressLine(0) != null) {
address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex() address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex()
address= address.replaceAll(",","");
if(addresses.get(0).getCountryName()!=null&& address.contains(addresses.get(0).getCountryName())) {
Log.d("RXGPS", "Selected Country: "+addresses.get(0).getCountryName());
address = address.replaceAll(",", "");
if (addresses.get(0).getCountryName() != null && address.contains(addresses.get(0).getCountryName())) {
address = address.replace(addresses.get(0).getCountryName(), ""); address = address.replace(addresses.get(0).getCountryName(), "");
} }
if(addresses.get(0).getLocality()!=null&& address.contains(addresses.get(0).getLocality())) {
Log.d("RXGPS", "Selected city: "+addresses.get(0).getLocality());
if (addresses.get(0).getLocality() != null && address.contains(addresses.get(0).getLocality())) {
address = address.replace(addresses.get(0).getLocality(), ""); address = address.replace(addresses.get(0).getLocality(), "");
} }
if(addresses.get(0).getPostalCode()!=null&& address.contains(addresses.get(0).getPostalCode())) {
Log.d("RXGPS", "Selected postal Code: "+addresses.get(0).getPostalCode());
if (addresses.get(0).getPostalCode() != null && address.contains(addresses.get(0).getPostalCode())) {
address = address.replace(addresses.get(0).getPostalCode(), ""); address = address.replace(addresses.get(0).getPostalCode(), "");
} }
} }
return Observable.just(address.trim()); return Observable.just(address.trim());
}).timeout(6000,TimeUnit.MILLISECONDS).onErrorResumeNext(Observable.error(new Throwable("Could not fetch location at the moment. Try again later.")));
}).timeout(6000, TimeUnit.MILLISECONDS).onErrorResumeNext(Observable.error(new Throwable(((Context) activity).getString(R.string.location_not_available))));
} else } else
return Observable.error(new Throwable("GPS is not turned on"));
return Observable.error(new Throwable(((Context) activity).getString(R.string.gps_off_text)));
}); });
} else { } else {
return Observable.error(new Throwable("Please grant the required permissions"));
return Observable.error(new Throwable(((Context) activity).getString(R.string.grant_permission_text)));
} }
}).take(1); }).take(1);
} }

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

@ -759,6 +759,9 @@
<string name="penny_test_code_error_text">Reference code must be of 4 digit</string> <string name="penny_test_code_error_text">Reference code must be of 4 digit</string>
<string name="step2_content_text">Do you have a phone number registered with Alien Registration Card under your name?</string> <string name="step2_content_text">Do you have a phone number registered with Alien Registration Card under your name?</string>
<string name="registration_success_message_text">Thank you for registering for GME. We are verifying your information. Once approved, you will receive SMS.</string> <string name="registration_success_message_text">Thank you for registering for GME. We are verifying your information. Once approved, you will receive SMS.</string>
<string name="gps_off_text">GPS is not turned on</string>
<string name="grant_permission_text">Please grant the required permissions.</string>
<string name="location_not_available">Could not fetch location at the moment. Try again later.</string>
</resources> </resources>
Loading…
Cancel
Save