Преглед изворни кода

[인증][New] 회원 정보 불일치 시 아무런 입력을 할 수 없던 상태 수정
- 재인증을 할 수 있도록 입력창 활성화

hyodong.min пре 6 година
родитељ
комит
525a621cd8

+ 6 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/auth/IMobileAuthContract.java

@@ -139,7 +139,7 @@ public interface IMobileAuthContract {
     /**
      * 인증 번호 입력 칸 클리어
      */
-    void doClearRequestConfirmTextView();
+    void clearRequestConfirmTextView();
 
     /**
      * 동의하기 아코디언 구성
@@ -332,6 +332,11 @@ public interface IMobileAuthContract {
      */
     void onAuthorizationNumberSendButtonClick();
 
+    /**
+     * 회원 불일치
+     */
+    void onMemberMissMatch();
+
     void dispose();
   }
 

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

@@ -451,7 +451,7 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
     confirmRetryCount = 0;
     view.setEnabledRequestConfirmTextView(false);
     view.setEnabledRequestConfirmButton(false);
-    view.doClearRequestConfirmTextView();
+    view.clearRequestConfirmTextView();
     view.doClearAuthorizedNumberValidationTextView();
     view.showRemainTime(false);
     view.renderRemainTime("");
@@ -645,7 +645,7 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
   }
 
   private void setEnabledConfirmView(boolean isEnabled) {
-    view.doClearRequestConfirmTextView();
+    view.clearRequestConfirmTextView();
     view.setEnabledRequestConfirmTextView(isEnabled);
     view.showRemainTime(isEnabled);
     view.setEnabledExpansionTimeButton(isEnabled);
@@ -655,6 +655,26 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
     }
   }
 
+  /**
+   * 회원 불일치 시
+   */
+  public void onMemberMissMatch() {
+    /*
+    전체 초기화
+     */
+    succeedUserBean = null;
+
+    // 입력 활성화
+    view.setEnabledInput(true);
+    // 확인 관련 UI 비활성
+    setEnabledConfirmView(false);
+
+    // 번호 요청 다시 활성
+    numberRequestingCount = 0;
+    // 번요 오청 버튼 활성
+    view.setEnabledRequestNumberButton(IMobileAuthContract.View.BUTTON_FLAG_ENABLED);
+  }
+
   /**
    * 인증번호 시간 지연 버튼 클릭
    */

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/auth/MobileAuthView.java

@@ -367,7 +367,7 @@ public class MobileAuthView extends ConstraintLayout implements IMobileAuthContr
   }
 
   @Override
-  public void doClearRequestConfirmTextView() {
+  public void clearRequestConfirmTextView() {
     editTextAuthorizedNumber.setText("");
   }
 

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/pin/IPinResetAuthView.java

@@ -16,4 +16,5 @@ import kr.co.zumo.app.lifeplus.view.IView;
  * @since 2018-11-03
  */
 public interface IPinResetAuthView extends IView {
+  void onMemberMissMatch();
 }

+ 9 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/pin/PinResetAuthFragment.java

@@ -17,6 +17,7 @@ import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.custom.auth.IMobileAuthContract;
 import kr.co.zumo.app.lifeplus.view.custom.auth.MobileAuthPresenter;
 import kr.co.zumo.app.lifeplus.view.custom.auth.MobileAuthView;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
@@ -33,8 +34,7 @@ import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
  */
 public class PinResetAuthFragment extends FragmentBase<PinResetAuthPresenter> implements IPinResetAuthView {
 
-  private MobileAuthView authView;
-  //private IMobileAuthContract.Presenter authPresenter;
+  private IMobileAuthContract.Presenter authPresenter;
 
   @Override
   protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -50,8 +50,8 @@ public class PinResetAuthFragment extends FragmentBase<PinResetAuthPresenter> im
     mobileAuthBean.setGender(MobileAuthBean.GENDER_MALE);
     mobileAuthBean.setNationality(MobileAuthBean.NATIONALITY_DOMESTIC);
 
-    authView = new MobileAuthView(getContext(), false);
-    new MobileAuthPresenter(authView, mobileAuthBean, true, getFragmentManager(), event -> {
+    MobileAuthView authView = new MobileAuthView(getContext(), false);
+    authPresenter = new MobileAuthPresenter(authView, mobileAuthBean, true, getFragmentManager(), event -> {
       if (Event.SUCCESS == event.getEventId()) {
         presenter.onEvent(event);
       }
@@ -100,4 +100,9 @@ public class PinResetAuthFragment extends FragmentBase<PinResetAuthPresenter> im
   protected boolean isSkipScreenWhenBack() {
     return true;
   }
+
+  @Override
+  public void onMemberMissMatch() {
+    authPresenter.onMemberMissMatch();
+  }
 }

+ 3 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/pin/PinResetAuthPresenter.java

@@ -126,10 +126,11 @@ public abstract class PinResetAuthPresenter<M extends PinResetAuthModel, V exten
           showErrorDialog(ResourceUtil.getString(R.string.undefined_error));
         }
         else if (event.getInteger() == Event.MEMBER_MISS_MATCH) {
-          showErrorDialog(ResourceUtil.getString(R.string.member_miss_match_error));
+          showErrorDialog(ResourceUtil.getString(R.string.member_miss_match_error), () -> view.onMemberMissMatch());
         }
         else if (event.getInteger() == Event.SETTING_LOAD) {
-          showErrorDialog(ResourceUtil.getString(R.string.member_miss_match_error));
+//          showErrorDialog(ResourceUtil.getString(R.string.member_miss_match_error));
+          showErrorDialog(event.getString());
         }
         else {
           onResultInternal(event);

+ 1 - 1
app/src/test/java/kr/co/zumo/app/lifeplus/view/custom/auth/MobileAuthPresenterTest.java

@@ -88,7 +88,7 @@ public class MobileAuthPresenterTest {
     verify(view).setPresenter(any(MobileAuthPresenter.class));
     verify(view).setEnabledRequestConfirmTextView(eq(false));
     verify(view).setEnabledRequestConfirmButton(eq(false));
-    verify(view).doClearRequestConfirmTextView();
+    verify(view).clearRequestConfirmTextView();
     verify(view).doClearAuthorizedNumberValidationTextView();
     verify(view).showRemainTime(eq(false));
     verify(view).renderRemainTime(eq(""));