Browse Source

[가입][Bug] 인증 번호 요청/인증 번호 확인 API 에러 시 팝업 표시

hyodong.min 7 years ago
parent
commit
f18829897e

+ 25 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/auth/MobileAuthPresenter.java

@@ -366,7 +366,20 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
           @Override
           public void onApiError(String errorMessage) {
             // 실패
-            countFailWithPopup();
+            showConfirmDialog(errorMessage, new ICustomDialogListener<ConfirmDialog>() {
+              @Override
+              public void onDialogResult(ConfirmDialog dialog, Event event) {
+                if (event.getEventId() == Event.CONFIRM) {
+                  dialog.dispose();
+                }
+                view.setEnabledRequestConfirmButton(true);
+              }
+
+              @Override
+              public void onDialogCanceled(ConfirmDialog dialog) {
+                view.setEnabledRequestConfirmButton(true);
+              }
+            });
           }
         })
       );
@@ -434,10 +447,14 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
   }
 
   private void showConfirmDialog(@StringRes int stringId, ICustomDialogListener<ConfirmDialog> listener) {
+    showConfirmDialog(ResourceUtil.getString(stringId), listener);
+  }
+
+  private void showConfirmDialog(String stringId, ICustomDialogListener<ConfirmDialog> listener) {
     dialog = new DialogBuilder<ConfirmDialog, ICustomDialogListener>(DialogID.CONFIRM)
       .listener(listener)
       .attribute((IAttribute<ConfirmDialog>) dialog -> {
-        dialog.setText(ResourceUtil.getString(stringId));
+        dialog.setText(stringId);
       })
       .show();
   }
@@ -522,24 +539,24 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
         new APIAuthNumberModule(isSimpleRequest).call(bean, new IAPIModuleListener<LifeplusAPIBean>() {
           @Override
           public void onApiSuccess(LifeplusAPIBean resultBean) {
-            doSomeWhenSendingSuccess();
+            onSendingSuccess();
           }
 
           @Override
           public void onApiReason(LifeplusAPIBean resultBean) {
-            doSomeWhenSendingFail();
+            onSendingFail();
           }
 
           @Override
           public void onApiError(String errorMessage) {
-            doSomeWhenSendingFail();
+            onSendingFail();
           }
         })
       );
     }
   }
 
-  private void doSomeWhenSendingFail() {
+  private void onSendingFail() {
     verifyRequestNumberButton(true);
     view.setEnabledRequestConfirmTextView(false);
     view.setEnabledRequestConfirmButton(false);
@@ -557,11 +574,11 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
     });
   }
 
-  private void doSomeWhenSendingSuccess() {
+  private void onSendingSuccess() {
     // 인증 받은 정보를 보관해둔다.
     succeedUserBean = userBean.getClone();
 
-    Log.i("APP# MobileAuthPresenter | doSomeWhenSendingSuccess", "| succeedUserBean: " + succeedUserBean.toPrettyJson());
+    Log.i("APP# MobileAuthPresenter | onSendingSuccess", "| succeedUserBean: " + succeedUserBean.toPrettyJson());
 
     view.setEnabledInput(false);
     setEnabledConfirmView(true);