Browse Source

Temp solution added to kftc param

master
preyearegmi 6 years ago
parent
commit
55714a9aaa
  1. 96
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java

96
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java

@ -1,5 +1,7 @@
package com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting;
import android.os.Handler;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.autodebitV2.gateway.autodebitaccountlisting.AutoDebitAccountListingV2Gateway;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount;
@ -21,7 +23,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
public class AutoDebitAccountListingV2Presenter extends BasePresenter implements AutoDebitAccountListingV2PresenterInterface,AutoDebitAccountListingV2InteractorInterface {
public class AutoDebitAccountListingV2Presenter extends BasePresenter implements AutoDebitAccountListingV2PresenterInterface, AutoDebitAccountListingV2InteractorInterface {
private final AutoDebitAccountListingV2ContractInterface view;
private final AutoDebitAccountListingV2GatewayInterface gateway;
@ -29,14 +31,16 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
private List<KeyValueData> requiredHeader;
private List<KeyValueData> availableLanguages;
private String postUrl;
private boolean canRetry;
public AutoDebitAccountListingV2Presenter(AutoDebitAccountListingV2PresenterInterface.AutoDebitAccountListingV2ContractInterface view) {
this.view=view;
this.gateway=new AutoDebitAccountListingV2Gateway(this);
requiredHeader=null;
postUrl=null;
this.view = view;
this.gateway = new AutoDebitAccountListingV2Gateway(this);
requiredHeader = null;
postUrl = null;
this.compositeDisposable = new CompositeDisposable();
canRetry=true;
}
@Override
@ -49,7 +53,7 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
public void getAllAutoDebitAccountList() {
compositeDisposable.add(
this.gateway.getAllAccountsFromNetwork(gateway.getAuth(),gateway.getUserID())
this.gateway.getAllAccountsFromNetwork(gateway.getAuth(), gateway.getUserID())
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
@ -62,7 +66,7 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
public void deleteAutoDebitAccount(AutoDebitAccount accountData) {
compositeDisposable.add(
this.gateway.deleteAccountFromNetwork(gateway.getAuth(),gateway.getUserID(),accountData.getKftcAccountId())
this.gateway.deleteAccountFromNetwork(gateway.getAuth(), gateway.getUserID(), accountData.getKftcAccountId())
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text)))
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
@ -79,16 +83,15 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
public WebRequestModel getWebRequestDataForAddingAccount(String preferredLanguage) {
return new WebRequestModel("Add Account",getOperationURL(preferredLanguage),this.requiredHeader);
return new WebRequestModel("Add Account", getOperationURL(preferredLanguage), this.requiredHeader);
}
public String getOperationURL(String language) {
return postUrl+"&lang="+language ;
return postUrl + "&lang=" + language;
}
public class AutoDebitAccountListingObserver extends GenericApiObserverResponseV2<AutoDebitModel>
{
public class AutoDebitAccountListingObserver extends GenericApiObserverResponseV2<AutoDebitModel> {
@Override
protected Type setType() {
return TypeToken.getParameterized(GenericResponseDataModel.class, AutoDebitModel.class).getType();
@ -96,33 +99,48 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
protected void onSuccess(GenericResponseDataModel<AutoDebitModel> t) {
if(t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
{
requiredHeader=t.getData().getHeader();
postUrl=t.getData().getURL();
availableLanguages=t.getData().getLanguage();
if(t.getData().getAccountList()!=null&&t.getData().getAccountList().size()>0)
view.showAllAccountsToUser(t.getData().getAccountList());
}
else
{
requiredHeader=null;
postUrl=null;
availableLanguages=null;
view.showPopUpMessage(t.getMsg(),CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView());
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
requiredHeader = t.getData().getHeader();
postUrl = t.getData().getURL();
availableLanguages = t.getData().getLanguage();
if (t.getData().getAccountList() != null && t.getData().getAccountList().size() > 0)
view.showAllAccountsToUser(t.getData().getAccountList());
} else {
//TODO temp solution
if (t.getMsg().toLowerCase().contains("object reference not set to an instance of an object.")&&canRetry)
{
canRetry=false;
view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text));
new Handler().postDelayed(()->{
compositeDisposable.add(
gateway.getAllAccountsFromNetwork(gateway.getAuth(), gateway.getUserID())
.doFinally(() -> view.showProgressBar(false, ""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new AutoDebitAccountListingObserver())
);
},2000);
}
else {
requiredHeader = null;
postUrl = null;
availableLanguages = null;
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
}
}
@Override
public void onFailed(String message) {
requiredHeader=null;
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,alertType -> view.exitView());
requiredHeader = null;
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView());
}
@Override
protected void onConnectionNotEstablished(String message) {
requiredHeader=null;
view.showPopUpMessage(message,CustomAlertDialog.AlertType.NO_INTERNET,alertType -> view.exitView());
requiredHeader = null;
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> view.exitView());
}
@Override
@ -133,41 +151,37 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
}
}
public class AutoDebitAccountDeleteObserver extends GenericApiObserverResponseV2<MessageResponseDataModel>
{
public class AutoDebitAccountDeleteObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> {
private final AutoDebitAccount accountToBeDeleted;
AutoDebitAccountDeleteObserver(AutoDebitAccount accountData) {
this.accountToBeDeleted=accountData;
this.accountToBeDeleted = accountData;
}
@Override
protected Type setType() {
return TypeToken.getParameterized(GenericResponseDataModel.class,MessageResponseDataModel.class).getType();
return TypeToken.getParameterized(GenericResponseDataModel.class, MessageResponseDataModel.class).getType();
}
@Override
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) {
if(t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
{
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) {
view.showToastMessage(t.getData().getMsg());
view.onAutoDebitAccountDeletedSuccessfully(accountToBeDeleted);
}
else
{
view.showPopUpMessage(t.getMsg(),CustomAlertDialog.AlertType.FAILED,null);
} else {
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null);
}
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,null);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message,CustomAlertDialog.AlertType.NO_INTERNET,null);
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null);
}
@Override

Loading…
Cancel
Save