From e1044f91591492b0bc9a65c88bab73a4c9c2ae29 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Thu, 29 Nov 2018 14:09:14 +0545 Subject: [PATCH] Penny test fixes --- .idea/caches/build_file_checksums.ser | Bin 606 -> 606 bytes .../kycV2/gateway/PennyTestGateway.java | 8 ++-- .../PennyTestInteractorInterface.java | 2 +- .../pennytest/PennyTestPresenter.java | 10 ++--- .../view/pennytest/PennyTestActivity.java | 4 -- .../utils/https/ApiEndpoints.java | 7 ++- .../https/GenericApiObserverResponseV2.java | 11 ++--- .../utils/https/MessageResponseDataModel.java | 2 +- .../withdrawV2/gateway/WithdrawV2Gateway.java | 7 +-- .../model/RefundOperationResponse.java | 42 ------------------ .../model/RefundRelatedMetaDataResponse.java | 41 ----------------- .../WithdrawV2InteractorInterface.java | 8 +--- .../presenter/WithdrawV2Presenter.java | 24 +++++----- 13 files changed, 29 insertions(+), 137 deletions(-) delete mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java delete mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 3d35d51f07889291ff6c26d13b496158cd0822eb..bd92ed109fd2d4a15941b9a3e6a6cfa0f6f86107 100644 GIT binary patch delta 15 Xcmcb|a*t)g43@ZlN6U?K4lx1%G@J%# delta 15 Xcmcb|a*t)g43;QGX4#E%4lx1%FM0)> diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/gateway/PennyTestGateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/gateway/PennyTestGateway.java index e3656653..e490f960 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/gateway/PennyTestGateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/gateway/PennyTestGateway.java @@ -18,12 +18,10 @@ public class PennyTestGateway extends PrivilegedGateway implements PennyTestInte @Override - public Observable requestForPennyTest(String auth, String userId, String idNumber) { - JsonObject jsonObject=new JsonObject(); - jsonObject.addProperty("UserId",userId); - jsonObject.addProperty("IdNumber",idNumber); + public Observable requestForPennyTest(String auth, String userId) { + - return HttpClientV2.getInstance().requestForPennyTest(auth,jsonObject); + return HttpClientV2.getInstance().requestForPennyTest(auth,userId); } @Override diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestInteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestInteractorInterface.java index 9a9b7111..848fd2ed 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestInteractorInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestInteractorInterface.java @@ -14,7 +14,7 @@ public interface PennyTestInteractorInterface extends BaseInteractorInterface { interface PennyGatewayInterface extends PrivilegedGatewayInterface { - Observable requestForPennyTest(String auth,String userId,String idNumber); + Observable requestForPennyTest(String auth,String userId); Observable postDataForPennyTest(String auth, String accountNo, String certNumber); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestPresenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestPresenter.java index 060870be..918c5610 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestPresenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestPresenter.java @@ -7,13 +7,10 @@ import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; import com.gmeremit.online.gmeremittance_native.utils.https.MessageResponseDataModel; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataModel; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; -import io.reactivex.Scheduler; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; @@ -33,7 +30,7 @@ public class PennyTestPresenter extends BasePresenter implements PennyTestIntera @Override public void requestForPennyTest() { compositeDisposable.add( - this.gateway.requestForPennyTest(this.gateway.getAuth(), this.gateway.getUserID(), this.gateway.getIdNumber()) + this.gateway.requestForPennyTest(this.gateway.getAuth(), this.gateway.getUserID()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new PennyTestRequestObserver()) @@ -113,9 +110,8 @@ public class PennyTestPresenter extends BasePresenter implements PennyTestIntera } else { - view.morphProgressBarIntoButton(()->{ - view.showPopUpMessage(t.getData().getMsg(),CustomAlertDialog.AlertType.FAILED,null); - }); + view.morphProgressBarIntoButton(()-> + view.showPopUpMessage(t.getData().getMsg(),CustomAlertDialog.AlertType.FAILED,null)); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestActivity.java index 6cd7ef90..a82e348c 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestActivity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestActivity.java @@ -85,8 +85,6 @@ public class PennyTestActivity extends BaseActivity implements View.OnClickListe window.setBackgroundDrawableResource(R.drawable.ic_rounded_grey_bg_with_inset); window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); - - } if (savedInstanceState == null) @@ -118,9 +116,7 @@ public class PennyTestActivity extends BaseActivity implements View.OnClickListe progressbar_login.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(this, android.R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY); ViewCompat.setTranslationZ(progressbar_login, 100); progressbar_login.setVisibility(View.GONE); - this.presenter=new PennyTestPresenter(this); - } 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 dfae5bf6..120d8f19 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 @@ -106,7 +106,6 @@ import com.gmeremit.online.gmeremittance_native.wallet_to_wallet.model.WalletRes import com.gmeremit.online.gmeremittance_native.wallet_to_wallet.model.WalletUserInfo; import com.gmeremit.online.gmeremittance_native.walletstatementV2.model.WalletStatementV2APIResponse; import com.gmeremit.online.gmeremittance_native.withdraw.model.WithDraw; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundOperationResponse; import com.google.gson.JsonObject; import java.util.List; @@ -653,11 +652,11 @@ public interface ApiEndpoints { @POST(API_URL.PERFORM_REFUND) @Headers("Content-Type: application/json") - Observable performRefundOperation(@Header("Authorization") String token, @Body() JsonObject jsonObject); + Observable performRefundOperation(@Header("Authorization") String token, @Body() JsonObject jsonObject); - @POST(API_URL.PENNY_TEST_REQUEST) + @POST(API_URL.PENNY_TEST_REQUEST+"/{uId}") @Headers("Content-Type: application/json") - Observable requestForPennyTest(@Header("Authorization") String token, @Body() JsonObject jsonObject); + Observable requestForPennyTest(@Header("Authorization") String token, @Path("uId") String userId); @POST(API_URL.PENNY_TEST_SUBMIT) @Headers("Content-Type: application/json") diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericApiObserverResponseV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericApiObserverResponseV2.java index c98ac896..a4e0034a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericApiObserverResponseV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericApiObserverResponseV2.java @@ -1,12 +1,6 @@ package com.gmeremit.online.gmeremittance_native.utils.https; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataModel; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; -import com.google.gson.reflect.TypeToken; - -import org.json.JSONObject; - import java.io.IOException; import java.lang.reflect.Type; import java.net.SocketTimeoutException; @@ -17,7 +11,8 @@ import retrofit2.HttpException; /** * Created by Preyea R. Regmi - * Use this wrapper class to abstract application wise network response for rx-retrofit 2.0 and above + * Use this wrapper class to abstract application wise network response for rx-retrofit 2.0. This type encapsulates the user specified data within GenericRssponseDataModel under "Data" field. + * However this type uses a little bit of "reflection" underneath to avoid "Type Erasure" occured while inferring Type from supplied generics. Reflection will be removed at next phase. */ public abstract class GenericApiObserverResponseV2 extends DisposableObserver { @@ -52,7 +47,7 @@ public abstract class GenericApiObserverResponseV2 extends DisposableObserver // onFailed(errorMessage); } - private GenericResponseDataModel parseResponseBody(ResponseBody body) throws IOException{ + private GenericResponseDataModel parseResponseBody(ResponseBody body) throws Exception{ return HttpClientV2.getDeserializer().fromJson(body.string(),this.type); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/MessageResponseDataModel.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/MessageResponseDataModel.java index e230b75e..59b0a03a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/MessageResponseDataModel.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/MessageResponseDataModel.java @@ -5,7 +5,7 @@ import com.google.gson.annotations.SerializedName; public class MessageResponseDataModel { - @SerializedName("msg") + @SerializedName("Message") @Expose private String msg; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java index 5c17849f..6f8e8c1e 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java @@ -2,10 +2,6 @@ package com.gmeremit.online.gmeremittance_native.withdrawV2.gateway; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; -import com.gmeremit.online.gmeremittance_native.walletstatementV2.model.WalletStatementV2APIResponse; -import com.gmeremit.online.gmeremittance_native.walletstatementV2.presenter.WalletStatementV2InteractorInterface; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundOperationResponse; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; import com.gmeremit.online.gmeremittance_native.withdrawV2.presenter.WithdrawV2InteractorInterface; import com.google.gson.JsonObject; @@ -27,7 +23,7 @@ public class WithdrawV2Gateway extends PrivilegedGateway implements WithdrawV2In } @Override - public Observable performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth) { + public Observable performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth) { JsonObject body=new JsonObject(); body.addProperty("Username",userName); @@ -36,7 +32,6 @@ public class WithdrawV2Gateway extends PrivilegedGateway implements WithdrawV2In body.addProperty("UserId",userId); return HttpClientV2.getInstance().performRefundOperation(auth,body); - } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java deleted file mode 100644 index 8ee800f0..00000000 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gmeremit.online.gmeremittance_native.withdrawV2.model; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -public class RefundOperationResponse { - - - @SerializedName("ErrorCode") - @Expose - private String errorCode; - @SerializedName("Msg") - @Expose - private String msg; - @SerializedName("Data") - @Expose - private Object data; - - public String getErrorCode() { - return errorCode; - } - - public void setErrorCode(String errorCode) { - this.errorCode = errorCode; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public Object getData() { - return data; - } - - public void setData(Object data) { - this.data = data; - } -} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java deleted file mode 100644 index 463c61d9..00000000 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gmeremit.online.gmeremittance_native.withdrawV2.model; - -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - -public class RefundRelatedMetaDataResponse { - - @SerializedName("ErrorCode") - @Expose - private String errorCode; - @SerializedName("Msg") - @Expose - private String msg; - @SerializedName("Data") - @Expose - private T data; - - public String getErrorCode() { - return errorCode; - } - - public void setErrorCode(String errorCode) { - this.errorCode = errorCode; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public T getData() { - return data; - } - - public void setData(T data) { - this.data = data; - } -} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java index 69daaade..97f16a61 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java @@ -2,14 +2,8 @@ package com.gmeremit.online.gmeremittance_native.withdrawV2.presenter; import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; -import com.gmeremit.online.gmeremittance_native.walletstatementV2.model.WalletStatementV2APIResponse; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundOperationResponse; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataModel; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; import io.reactivex.Observable; -import io.reactivex.Observer; -import io.reactivex.observers.DisposableObserver; import okhttp3.ResponseBody; public interface WithdrawV2InteractorInterface extends BaseInteractorInterface { @@ -19,6 +13,6 @@ public interface WithdrawV2InteractorInterface extends BaseInteractorInterface { { Observable getWithdrawRelatedData(String userId, String auth); - Observable performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth); + Observable performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java index 722e0e26..be8b2ede 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java @@ -4,17 +4,14 @@ import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; import com.gmeremit.online.gmeremittance_native.utils.Constants; import com.gmeremit.online.gmeremittance_native.utils.Utils; -import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse; import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; +import com.gmeremit.online.gmeremittance_native.utils.https.MessageResponseDataModel; import com.gmeremit.online.gmeremittance_native.withdrawV2.gateway.WithdrawV2Gateway; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundOperationResponse; import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataModel; -import com.gmeremit.online.gmeremittance_native.withdrawV2.model.RefundRelatedMetaDataResponse; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; -import java.util.ArrayList; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; @@ -112,11 +109,11 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres class WithdrawRelatedDataObserver extends GenericApiObserverResponseV2 { @Override - protected void onSuccess(GenericResponseDataModel refundRelatedMetaDataResponse) { + protected void onSuccess(GenericResponseDataModel refundRelatedMetaDataResponse) { if (refundRelatedMetaDataResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { if (refundRelatedMetaDataResponse.getData() != null) { - refundRelatedData = (RefundRelatedMetaDataModel) refundRelatedMetaDataResponse.getData(); + refundRelatedData = refundRelatedMetaDataResponse.getData(); view.updateAvailableBalance("Available Balance : " + Utils.formatCurrency(refundRelatedData.getCurrentBalance()) + " KRW"); view.updateServiceCharge("Pre Fund Bank Charge : " + Utils.formatCurrency(refundRelatedData.getRefundCharge()) + " KRW"); } else @@ -147,14 +144,19 @@ public class WithdrawV2Presenter extends BasePresenter implements WithdrawV2Pres } - class WithdrawOperationDataObserver extends GenericApiObserverResponse { + class WithdrawOperationDataObserver extends GenericApiObserverResponseV2 { @Override - protected void onSuccess(RefundOperationResponse refundOperationResponse) { - if (refundOperationResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { - view.showPopUpMessage(refundOperationResponse.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.exitView()); + protected Type setType() { + return TypeToken.getParameterized(GenericResponseDataModel.class,MessageResponseDataModel.class).getType(); + } + + @Override + protected void onSuccess(GenericResponseDataModel response) { + if (response.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { + view.showPopUpMessage(response.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> view.exitView()); } else { - view.showPopUpMessage(refundOperationResponse.getMsg(), CustomAlertDialog.AlertType.FAILED, null); + view.showPopUpMessage(response.getData().getMsg(), CustomAlertDialog.AlertType.FAILED, null); } }