Browse Source

Penny test fixes

master
Preyea Regmi 6 years ago
parent
commit
e1044f9159
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 8
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/gateway/PennyTestGateway.java
  3. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestInteractorInterface.java
  4. 10
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/presenter/pennytest/PennyTestPresenter.java
  5. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestActivity.java
  6. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
  7. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/GenericApiObserverResponseV2.java
  8. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/MessageResponseDataModel.java
  9. 7
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/gateway/WithdrawV2Gateway.java
  10. 42
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java
  11. 41
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java
  12. 8
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2InteractorInterface.java
  13. 24
      app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/presenter/WithdrawV2Presenter.java

BIN
.idea/caches/build_file_checksums.ser

8
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<ResponseBody> requestForPennyTest(String auth, String userId, String idNumber) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("UserId",userId);
jsonObject.addProperty("IdNumber",idNumber);
public Observable<ResponseBody> requestForPennyTest(String auth, String userId) {
return HttpClientV2.getInstance().requestForPennyTest(auth,jsonObject);
return HttpClientV2.getInstance().requestForPennyTest(auth,userId);
}
@Override

2
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<ResponseBody> requestForPennyTest(String auth,String userId,String idNumber);
Observable<ResponseBody> requestForPennyTest(String auth,String userId);
Observable<ResponseBody> postDataForPennyTest(String auth, String accountNo, String certNumber);
}

10
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));
}
}

4
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);
}

7
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<RefundOperationResponse> performRefundOperation(@Header("Authorization") String token, @Body() JsonObject jsonObject);
Observable<ResponseBody> 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<ResponseBody> requestForPennyTest(@Header("Authorization") String token, @Body() JsonObject jsonObject);
Observable<ResponseBody> requestForPennyTest(@Header("Authorization") String token, @Path("uId") String userId);
@POST(API_URL.PENNY_TEST_SUBMIT)
@Headers("Content-Type: application/json")

11
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<T> extends DisposableObserver<ResponseBody> {
@ -52,7 +47,7 @@ public abstract class GenericApiObserverResponseV2<T> extends DisposableObserver
// onFailed(errorMessage);
}
private GenericResponseDataModel<T> parseResponseBody(ResponseBody body) throws IOException{
private GenericResponseDataModel<T> parseResponseBody(ResponseBody body) throws Exception{
return HttpClientV2.getDeserializer().fromJson(body.string(),this.type);
}

2
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;

7
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<RefundOperationResponse> performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth) {
public Observable<ResponseBody> 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);
}

42
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundOperationResponse.java

@ -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;
}
}

41
app/src/main/java/com/gmeremit/online/gmeremittance_native/withdrawV2/model/RefundRelatedMetaDataResponse.java

@ -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<T> {
@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;
}
}

8
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<ResponseBody> getWithdrawRelatedData(String userId, String auth);
Observable<RefundOperationResponse> performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth);
Observable<ResponseBody> performWithdrawMoney(String userName, String amount, String chargeAmount, String userId, String auth);
}
}

24
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<RefundRelatedMetaDataModel> {
@Override
protected void onSuccess(GenericResponseDataModel refundRelatedMetaDataResponse) {
protected void onSuccess(GenericResponseDataModel<RefundRelatedMetaDataModel> 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<RefundOperationResponse> {
class WithdrawOperationDataObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> {
@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<MessageResponseDataModel> 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);
}
}

Loading…
Cancel
Save