|
@ -1,5 +1,7 @@ |
|
|
package com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting; |
|
|
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.R; |
|
|
import com.gmeremit.online.gmeremittance_native.autodebitV2.gateway.autodebitaccountlisting.AutoDebitAccountListingV2Gateway; |
|
|
import com.gmeremit.online.gmeremittance_native.autodebitV2.gateway.autodebitaccountlisting.AutoDebitAccountListingV2Gateway; |
|
|
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount; |
|
|
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.disposables.CompositeDisposable; |
|
|
import io.reactivex.schedulers.Schedulers; |
|
|
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 AutoDebitAccountListingV2ContractInterface view; |
|
|
private final AutoDebitAccountListingV2GatewayInterface gateway; |
|
|
private final AutoDebitAccountListingV2GatewayInterface gateway; |
|
@ -29,14 +31,16 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements |
|
|
private List<KeyValueData> requiredHeader; |
|
|
private List<KeyValueData> requiredHeader; |
|
|
private List<KeyValueData> availableLanguages; |
|
|
private List<KeyValueData> availableLanguages; |
|
|
private String postUrl; |
|
|
private String postUrl; |
|
|
|
|
|
private boolean canRetry; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public AutoDebitAccountListingV2Presenter(AutoDebitAccountListingV2PresenterInterface.AutoDebitAccountListingV2ContractInterface view) { |
|
|
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(); |
|
|
this.compositeDisposable = new CompositeDisposable(); |
|
|
|
|
|
canRetry=true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -49,7 +53,7 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements |
|
|
@Override |
|
|
@Override |
|
|
public void getAllAutoDebitAccountList() { |
|
|
public void getAllAutoDebitAccountList() { |
|
|
compositeDisposable.add( |
|
|
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))) |
|
|
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) |
|
|
.doFinally(() -> view.showProgressBar(false, "")) |
|
|
.doFinally(() -> view.showProgressBar(false, "")) |
|
|
.subscribeOn(Schedulers.io()) |
|
|
.subscribeOn(Schedulers.io()) |
|
@ -62,7 +66,7 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements |
|
|
@Override |
|
|
@Override |
|
|
public void deleteAutoDebitAccount(AutoDebitAccount accountData) { |
|
|
public void deleteAutoDebitAccount(AutoDebitAccount accountData) { |
|
|
compositeDisposable.add( |
|
|
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))) |
|
|
.doOnSubscribe(disposable -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) |
|
|
.doFinally(() -> view.showProgressBar(false, "")) |
|
|
.doFinally(() -> view.showProgressBar(false, "")) |
|
|
.subscribeOn(Schedulers.io()) |
|
|
.subscribeOn(Schedulers.io()) |
|
@ -79,16 +83,15 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public WebRequestModel getWebRequestDataForAddingAccount(String preferredLanguage) { |
|
|
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) { |
|
|
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 |
|
|
@Override |
|
|
protected Type setType() { |
|
|
protected Type setType() { |
|
|
return TypeToken.getParameterized(GenericResponseDataModel.class, AutoDebitModel.class).getType(); |
|
|
return TypeToken.getParameterized(GenericResponseDataModel.class, AutoDebitModel.class).getType(); |
|
@ -96,33 +99,48 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
protected void onSuccess(GenericResponseDataModel<AutoDebitModel> t) { |
|
|
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 |
|
|
@Override |
|
|
public void onFailed(String message) { |
|
|
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 |
|
|
@Override |
|
|
protected void onConnectionNotEstablished(String message) { |
|
|
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 |
|
|
@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; |
|
|
private final AutoDebitAccount accountToBeDeleted; |
|
|
|
|
|
|
|
|
AutoDebitAccountDeleteObserver(AutoDebitAccount accountData) { |
|
|
AutoDebitAccountDeleteObserver(AutoDebitAccount accountData) { |
|
|
this.accountToBeDeleted=accountData; |
|
|
|
|
|
|
|
|
this.accountToBeDeleted = accountData; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
protected Type setType() { |
|
|
protected Type setType() { |
|
|
return TypeToken.getParameterized(GenericResponseDataModel.class,MessageResponseDataModel.class).getType(); |
|
|
|
|
|
|
|
|
return TypeToken.getParameterized(GenericResponseDataModel.class, MessageResponseDataModel.class).getType(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
|
|
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.showToastMessage(t.getData().getMsg()); |
|
|
view.onAutoDebitAccountDeletedSuccessfully(accountToBeDeleted); |
|
|
view.onAutoDebitAccountDeletedSuccessfully(accountToBeDeleted); |
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
view.showPopUpMessage(t.getMsg(),CustomAlertDialog.AlertType.FAILED,null); |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void onFailed(String message) { |
|
|
public void onFailed(String message) { |
|
|
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,null); |
|
|
|
|
|
|
|
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
protected void onConnectionNotEstablished(String message) { |
|
|
protected void onConnectionNotEstablished(String message) { |
|
|
view.showPopUpMessage(message,CustomAlertDialog.AlertType.NO_INTERNET,null); |
|
|
|
|
|
|
|
|
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|