Kaynağa Gözat

[회원가입][Bug] 모바일 인증: 인증번호 요청 후 유저데이터 복사해서 보관

hyodong.min 7 yıl önce
ebeveyn
işleme
3cf056eadf

+ 19 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/MobileAuthBean.java

@@ -117,4 +117,23 @@ public class MobileAuthBean extends JsonBeanBase {
     return firstPhoneNumber + phoneNumber;
   }
 
+  /**
+   * 데이터를 복사하여 반환
+   *
+   * @return
+   */
+  public MobileAuthBean getClone() {
+    MobileAuthBean bean = new MobileAuthBean();
+    bean.name = this.name;
+    bean.nationality = this.nationality;
+    bean.birthDate = this.birthDate;
+    bean.gender = this.gender;
+    bean.mobileCompany = this.mobileCompany;
+    bean.firstPhoneNumber = this.firstPhoneNumber;
+    bean.phoneNumber = this.phoneNumber;
+    bean.agreeList = new ArrayList<>();
+    bean.agreeList.addAll(this.agreeList);
+
+    return bean;
+  }
 }

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

@@ -48,6 +48,7 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
   private Disposable remainTimeDisposable;
 
   private MobileAuthBean userBean;
+  private MobileAuthBean succeedUserBean;
   private IMobileAuthContract.View view;
   private IMobileAuthContract.Listener listener;
 
@@ -450,7 +451,7 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
     view.clearFocusAll();
     view.setDisabledAll();
 
-    listener.onAuthResult(new Event.Builder(Event.SUCCESS).string(bean.toJson()).json(userBean.toJson()).build());
+    listener.onAuthResult(new Event.Builder(Event.SUCCESS).string(bean.toJson()).json(succeedUserBean.toJson()).build());
   }
 
   private void showInvalidateConfirmPopup(@StringRes int stringId) {
@@ -566,6 +567,11 @@ public class MobileAuthPresenter implements IMobileAuthContract.Presenter {
   }
 
   private void doSomeWhenSendingSuccess() {
+    // 인증 받은 정보를 보관해둔다.
+    succeedUserBean = userBean.getClone();
+
+    Log.i("APP# MobileAuthPresenter | doSomeWhenSendingFail", "| succeedUserBean: " + succeedUserBean.toPrettyJson());
+
     setEnabledConfirmView(true);
     timeExpansionCount = 0;
     countRemainTime();

+ 30 - 0
app/src/test/java/kr/co/zumo/app/lifeplus/bean/MobileAuthBeanTest.java

@@ -158,4 +158,34 @@ public class MobileAuthBeanTest {
     assertEquals(true, bean.getAgreeList().get(2));
     assertEquals(false, bean.getAgreeList().get(3));
   }
+
+  @Test
+  public void getClone() {
+    MobileAuthBean bean = new MobileAuthBean();
+    bean.setAgree(0, false);
+    bean.setAgree(1, true);
+    bean.setAgree(2, true);
+    bean.setAgree(3, false);
+    bean.setFirstPhoneNumber("010");
+    bean.setPhoneNumber("22228888");
+    bean.setMobileCompany("LGT");
+    bean.setGender(MobileAuthBean.GENDER_FEMALE);
+    bean.setBirthDate("19990909");
+    bean.setNationality(MobileAuthBean.NATIONALITY_DOMESTIC);
+    bean.setName("name");
+    bean.setFirstPhoneNumber("010");
+
+    MobileAuthBean cloneBean = bean.getClone();
+
+    assertEquals(cloneBean.getFirstPhoneNumber(), bean.getFirstPhoneNumber());
+    assertEquals(cloneBean.getName(), bean.getName());
+    assertEquals(cloneBean.getBirthDate(), bean.getBirthDate());
+    assertEquals(cloneBean.getGender(), bean.getGender());
+    assertEquals(cloneBean.getMobileCompany(), bean.getMobileCompany());
+    assertEquals(cloneBean.getPhoneNumber(), bean.getPhoneNumber());
+    assertEquals(cloneBean.getAgreeList().get(0), bean.getAgreeList().get(0));
+    assertEquals(cloneBean.getAgreeList().get(1), bean.getAgreeList().get(1));
+    assertEquals(cloneBean.getAgreeList().get(2), bean.getAgreeList().get(2));
+    assertEquals(cloneBean.getAgreeList().get(3), bean.getAgreeList().get(3));
+  }
 }