preyearegmi
6 years ago
14 changed files with 258 additions and 15 deletions
-
BIN.idea/caches/build_file_checksums.ser
-
BIN.idea/caches/gradle_models.ser
-
9.idea/gradle.xml
-
2app/src/main/AndroidManifest.xml
-
8app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/SendMoneyV2Activity.java
-
22app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/gateway/TransactionPasswordPromptV2Gateway.java
-
15app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/presenter/TransactionPasswordPromptV2InteractorInterface.java
-
95app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/presenter/TransactionPasswordPromptV2Presenter.java
-
13app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/presenter/TransactionPasswordPromptV2PresenterInterface.java
-
92app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/view/TransactionPasswordPromptActivity.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionpasspromt/view/TransactionPasswordPromptDialog.java
-
1app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
-
10app/src/main/res/layout/activity_transaction_password_prompt.xml
@ -0,0 +1,22 @@ |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt.gateway; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; |
|||
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.presenter.TransactionPasswordPromptV2InteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public class TransactionPasswordPromptV2Gateway extends PrivilegedGateway implements TransactionPasswordPromptV2InteractorInterface.TransactionPasswordPromptV2GatewayInterface { |
|||
|
|||
private final TransactionPasswordPromptV2InteractorInterface interactor; |
|||
|
|||
public TransactionPasswordPromptV2Gateway(TransactionPasswordPromptV2InteractorInterface interactor) { |
|||
this.interactor=interactor; |
|||
} |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> requestOtp(String auth, String Uid) { |
|||
return HttpClientV2.getInstance().requestOTPForSendMoney(auth,Uid); |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt.presenter; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public interface TransactionPasswordPromptV2InteractorInterface extends BaseInteractorInterface { |
|||
|
|||
interface TransactionPasswordPromptV2GatewayInterface extends PrivilegedGatewayInterface |
|||
{ |
|||
Observable<ResponseBody> requestOtp(String auth, String Uid); |
|||
} |
|||
} |
@ -0,0 +1,95 @@ |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt.presenter; |
|||
|
|||
import android.os.Handler; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; |
|||
import com.gmeremit.online.gmeremittance_native.transactionpasspromt.gateway.TransactionPasswordPromptV2Gateway; |
|||
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.google.gson.reflect.TypeToken; |
|||
|
|||
import java.lang.reflect.Type; |
|||
|
|||
import io.reactivex.android.schedulers.AndroidSchedulers; |
|||
import io.reactivex.disposables.CompositeDisposable; |
|||
import io.reactivex.schedulers.Schedulers; |
|||
|
|||
public class TransactionPasswordPromptV2Presenter extends BasePresenter implements TransactionPasswordPromptV2PresenterInterface,TransactionPasswordPromptV2InteractorInterface { |
|||
|
|||
private final TransactionPasswordPromptV2PresenterInterface.TransactionPasswordPromptV2ContractInterface view; |
|||
private final TransactionPasswordPromptV2InteractorInterface.TransactionPasswordPromptV2GatewayInterface gateway; |
|||
private final CompositeDisposable compositeDisposable; |
|||
|
|||
public TransactionPasswordPromptV2Presenter(TransactionPasswordPromptV2PresenterInterface.TransactionPasswordPromptV2ContractInterface view) { |
|||
this.view=view; |
|||
this.gateway=new TransactionPasswordPromptV2Gateway(this); |
|||
this.compositeDisposable = new CompositeDisposable(); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void getOtp() { |
|||
this.compositeDisposable.add( |
|||
this.gateway.requestOtp(this.gateway.getAuth(),this.gateway.getUserID()) |
|||
.doOnSubscribe(disposable -> view.showProgressBar(true, "Requesting OTP...")) |
|||
.doFinally(() -> view.showProgressBar(false, "")) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.subscribeWith(new ResendRequestObserver()) |
|||
); |
|||
|
|||
// new Handler().postDelayed(()->{ |
|||
// view.showPopUpMessage("Please check your mobile for OTP", CustomAlertDialog.AlertType.SUCCESS, alertType -> { |
|||
// view.showResendRequestView(false); |
|||
// view.startCountdownView(120000); |
|||
// }); |
|||
// },2000); |
|||
} |
|||
|
|||
|
|||
class ResendRequestObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> |
|||
{ |
|||
|
|||
@Override |
|||
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.showResendRequestView(false); |
|||
view.startCountdownView(120000); |
|||
}); |
|||
} |
|||
else { |
|||
view.showPopUpMessage(response.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> { |
|||
view.showResendRequestView(true); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void onFailed(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); |
|||
} |
|||
|
|||
@Override |
|||
protected void onConnectionNotEstablished(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, null); |
|||
view.showResendRequestView(true); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
protected void unauthorizedAccess(String message) { |
|||
gateway.clearAllUserData(); |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT, alertType -> view.logout()); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt.presenter; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface; |
|||
|
|||
public interface TransactionPasswordPromptV2PresenterInterface extends BasePresenterInterface { |
|||
void getOtp(); |
|||
|
|||
interface TransactionPasswordPromptV2ContractInterface extends BaseContractInterface { |
|||
void startCountdownView(int durationMillisecond); |
|||
void showResendRequestView(boolean action); |
|||
} |
|||
} |
@ -1,4 +1,4 @@ |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt; |
|||
package com.gmeremit.online.gmeremittance_native.transactionpasspromt.view; |
|||
|
|||
import android.app.Dialog; |
|||
import android.os.Bundle; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue