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.app.Dialog; |
||||
import android.os.Bundle; |
import android.os.Bundle; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue