|
|
@@ -3,8 +3,13 @@
|
|
|
*/
|
|
|
package kr.co.zumo.app.lifeplus.view.screen.pin.reset;
|
|
|
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
import kr.co.zumo.app.lifeplus.bean.MobileAuthBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.MemberPhoneNumberRequestBean;
|
|
|
import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
|
|
|
+import kr.co.zumo.app.lifeplus.model.module.APIMemberMobileUpdateModule;
|
|
|
+import kr.co.zumo.app.lifeplus.model.module.IAPIModuleListener;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
|
|
|
/**
|
|
|
@@ -19,10 +24,22 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
*/
|
|
|
public class PhoneNumberAuthPresenter extends PinResetAuthPresenter {
|
|
|
|
|
|
+ private Disposable disposable;
|
|
|
+
|
|
|
public PhoneNumberAuthPresenter(PinResetAuthModel model, IPinResetAuthView view) {
|
|
|
super(model, view);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ protected void destroyInternal() {
|
|
|
+ super.destroyInternal();
|
|
|
+
|
|
|
+ if (null != disposable) {
|
|
|
+ disposable.dispose();
|
|
|
+ disposable = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Template method
|
|
|
* - 진입 화면이 다르므로 이전 화면도 지정해준다.
|
|
|
@@ -38,12 +55,40 @@ public class PhoneNumberAuthPresenter extends PinResetAuthPresenter {
|
|
|
* - 각 진입 화면마다 Fragment 와 Presenter 를 extends 하여 지정해준다.
|
|
|
*/
|
|
|
protected void moveToBack() {
|
|
|
- DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
|
|
|
+ back(ScreenID.SETTING_MEMBER_INFO);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Template method - 인증 완료돼었을 때
|
|
|
+ * - 진입 화면이 다르므로 이전 화면도 지정해준다.
|
|
|
+ * - 각 진입 화면마다 Fragment 와 Presenter 를 extends 하여 지정해준다.
|
|
|
+ */
|
|
|
+ protected void onAuthComplete() {
|
|
|
MobileAuthBean bean = model.getMobileAuthBean();
|
|
|
if (null != bean) {
|
|
|
String phoneNumber = model.getMobileAuthBean().getFullPhoneNumber();
|
|
|
- deliveryHelper.setPackaging(phoneNumber);
|
|
|
+ disposable = new APIMemberMobileUpdateModule().call(new MemberPhoneNumberRequestBean(model.getUserId(), model.getUserName(), phoneNumber), new IAPIModuleListener<LifeplusAPIBean>() {
|
|
|
+ @Override
|
|
|
+ public void onApiSuccess(LifeplusAPIBean resultBean) {
|
|
|
+ DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
|
|
|
+ String phoneNumber = model.getMobileAuthBean().getFullPhoneNumber();
|
|
|
+ deliveryHelper.setPackaging(phoneNumber);
|
|
|
+ moveToBack();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onApiReason(LifeplusAPIBean resultBean) {
|
|
|
+ showErrorDialog(resultBean.getReturnMessage(), () -> moveToBack());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onApiError(String errorMessage) {
|
|
|
+ showErrorDialog(errorMessage, () -> moveToBack());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ showErrorDialog("Invalid result.", () -> moveToBack());
|
|
|
}
|
|
|
- back(ScreenID.SETTING_MEMBER_INFO);
|
|
|
}
|
|
|
}
|