diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java index 387f9aa7..0941ec37 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/gateway/recipientaddeditV3/RecipientAddV3Gateway.java @@ -21,6 +21,12 @@ public class RecipientAddV3Gateway extends PrivilegedGateway implements Recipien @Override public Observable getDynamicValidationRules(String auth, String senderId, String countryId, String serviceType) { +// JsonObject jsonObject = new JsonObject(); +// jsonObject.addProperty("countryId",countryId); +// jsonObject.addProperty("serviceType",serviceType); + senderId="1"; + countryId="104"; + serviceType="2"; return HttpClientV2.getInstance().getDynamicFields(auth,senderId,countryId,serviceType); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/DynamicValidationModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/DynamicValidationModel.java index cee77d27..d60f7e1c 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/DynamicValidationModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/model/recipientaddeditV3/dynamicvalidation/DynamicValidationModel.java @@ -93,28 +93,9 @@ public class DynamicValidationModel { this.payoutPartner = payoutPartner; } - //TODO remo mock branch - private List mockBranches() { - List mockedBranches = new ArrayList<>(); - mockedBranches.add("Mocked Branch 1"); - mockedBranches.add("Mocked Branch 2"); - return mockedBranches; - } - - public List getAvailableBranchFromSelectedBank(String id) { - return mockBranches(); -// if(id==null||id.length()<1) -// return null; -// for(PaymentBankModel bank:paymentBankList) -// { -// if(id.equalsIgnoreCase(bank.getId())) -// return bank.getBranchList(); -// } -// return null; - } public List getAvailableDistrictFromSelectedProvinceId(String id) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java index 9dacab7f..e0e813c5 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java @@ -724,15 +724,6 @@ public class RecipientDetailValidatorV3 { } - public List getAvailableBranchListFromSelectedBank() { - return availableDynamicValidationModel.getAvailableBranchFromSelectedBank(""); -// try { -// return availableDynamicValidationModel.getAvailableBranchFromSelectedBank(recipientInfo.getAgent().getBranch().getId()); -// } catch (Exception e) { -// return null; -// } - } - public List getAvailableDistrictListFromSelectedProvince() { return availableDynamicValidationModel.getAvailableDistrictFromSelectedProvinceId(recipientInfo.getStateId()); } @@ -816,4 +807,14 @@ public class RecipientDetailValidatorV3 { } + public boolean requiresAccountValidation() { + + PaymentBankModel paymentBankModel = availableDynamicValidationModel.getBankFromId(recipientInfo.getAgent().getId()); + + if (paymentBankModel != null) { + return "True".equalsIgnoreCase(paymentBankModel.getIsAccountRequired()) && "True".equalsIgnoreCase(paymentBankModel.getIsAccountValidation()); + } + + return false; + } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java index a4703085..dc57738e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientPresenterInterface.java @@ -78,4 +78,6 @@ public interface RecipientPresenterInterface extends BasePresenterInterface { String getMobilePrefixFromCountryCode(String countryCode); String getSelectedCountryId(); + + void onSubmitBtnPressed(); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java index ed5d5afd..12ddaa0e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/add/RecipientAddV3Presenter.java @@ -181,6 +181,25 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter imp } + @Override + public void onSubmitBtnPressed() { + if (validator.requiresAccountValidation()) + performAccountValidation(validator.getRecipientDetail().getAgent().getAccountNo()); + else + updateRecipientInfo(); + } + + private void updateRecipientInfo() { + compositeDisposable.add( + this.gateway.addRecipient(gateway.getAuth(), gateway.getUserID(), validator.getRecipientDetail()) + .doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) + .doFinally(() -> view.showProgressBar(false, "")) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeWith(new ReceiverAddObserver()) + ); + } + @Override public void validateAccountNoFromServer(String accountNo) { performAccountValidation(accountNo); @@ -232,6 +251,13 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter imp public class DynamicListObserver extends GenericApiObserverResponseV2 { + + @Override + protected Type getDataType() { + return TypeToken.getParameterized(DynamicValidationModel.class).getType(); + } + + @Override protected void onSuccess(GenericResponseDataModel t) { if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { @@ -361,5 +387,4 @@ public class RecipientAddV3Presenter extends RecipientAddEditBaseV3Presenter imp } - } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java index 2a287c1c..129ec29b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/edit/RecipientEditV3Presenter.java @@ -114,6 +114,26 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im return validator.getRecipientDetail().getCountryCode(); } + @Override + public void onSubmitBtnPressed() { + if (validator.requiresAccountValidation()) + performAccountValidation(validator.getRecipientDetail().getAgent().getAccountNo()); + else + updateRecipientInfo(); + } + + private void updateRecipientInfo() + { + compositeDisposable.add( + this.gateway.addRecipient(gateway.getAuth(),gateway.getUserID(),validator.getRecipientDetail()) + .doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) + .doFinally(() -> view.showProgressBar(false, "")) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeWith(new ReceiverEditObserver(validator.getRecipientDetail().getReceiverId())) + ); + } + private void flushPaymentMethodRelatedDataOnServiceTypeSelected() { view.updateValueToWidgetBankName(""); view.updateValueToWidgetBranchName(""); @@ -298,6 +318,12 @@ public class RecipientEditV3Presenter extends RecipientAddEditBaseV3Presenter im public class DynamicListObserver extends GenericApiObserverResponseV2 { + + @Override + protected Type getDataType() { + return TypeToken.getParameterized(DynamicValidationModel.class).getType(); + } + @Override protected void onSuccess(GenericResponseDataModel data) { if (data.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java index d2a6bedb..fe882a73 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java @@ -4,7 +4,6 @@ import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.constraint.ConstraintLayout; -import android.support.constraint.Group; import android.support.transition.TransitionManager; import android.util.Log; import android.view.View; @@ -21,7 +20,6 @@ import com.gmeremit.online.gmeremittance_native.customwidgets.GenericImageWithTe import com.gmeremit.online.gmeremittance_native.customwidgets.GenericTextListingDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView; import com.gmeremit.online.gmeremittance_native.customwidgets.TextWatcherAdapter; -import com.gmeremit.online.gmeremittance_native.customwidgets.exchangecountrylistingdialog.CountryFlagMapper; import com.gmeremit.online.gmeremittance_native.recipientV3.gateway.recipientaddeditV3.RecipientAddV3Gateway; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.CountryServiceModel; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientaddeditV3.countryservice.ServiceTypeModel; @@ -35,7 +33,6 @@ import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipienta import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.add.RecipientAddV3Presenter; import com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientaddeditV3.edit.RecipientEditV3Presenter; import com.gmeremit.online.gmeremittance_native.recipientV3.utils.EditTextConfigurationFactory; -import com.gmeremit.online.gmeremittance_native.sendmoneyV2.view.payoutmode.PayoutModeBranchListingDialog; import butterknife.BindView; import butterknife.ButterKnife; @@ -372,6 +369,7 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien super.onStart(); registerClickListener(true); iv_back.setOnClickListener(this); + submitBtn.setOnClickListener(this); } @@ -380,6 +378,7 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien super.onStop(); registerClickListener(false); iv_back.setOnClickListener(null); + submitBtn.setOnClickListener(null); } @@ -866,6 +865,11 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien onBackPressed(); break; + case R.id.btn_submit: + if (submitBtn.isEnabled()) + presenter.onSubmitBtnPressed(); + break; + } } @@ -938,7 +942,7 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien hideKeyBoard(); String bankId = presenter.getSelectedBank(); - String countryId= presenter.getSelectedCountryId(); + String countryId = presenter.getSelectedCountryId(); if (bankId == null) return; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java index e4c1602a..dcf1b486 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java @@ -55,7 +55,7 @@ public class API_URL { public static final String RECIPIENT_EDIT_V3 = "v3/mobile/{senderId}/receiverinfo/modify/{receiverId}"; public static final String RECIPIENT_DELETE_V3 = "v3/mobile/{senderId}/receiverinfo/remove/{receiverId}"; public static final String GET_COUNTRY_AND_RELATED_SERVICES = "v3/mobile/{senderId}/FetchCountriesAndServiceTypes"; - public static final String DYNAMIC_FIELDS = BuildConfig.API_VERSION+"/mobile/receiver/{senderId}/dynamicField"; + public static final String DYNAMIC_FIELDS = "v3/mobile/receiver/{senderId}/dynamicField"; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java index 57edfeda..dce15262 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java @@ -273,6 +273,8 @@ public interface ApiEndpoints { @POST(API_URL.DYNAMIC_FIELDS) @Headers("Content-Type: application/json") Observable getDynamicFields(@Header("Authorization") String token, @Path("senderId") String senderId,@Query("countryId") String countryId,@Query("serviceType") String serviceType); +// Observable getDynamicFields(@Header("Authorization") String token, @Path("senderId") String senderId,@Body() JsonObject json); + @POST(API_URL.RECIPIENT_ADD_V3) @Headers("Content-Type: application/json")