Pārlūkot izejas kodu

[회원가입][Bug] 모바일 인증 후 토스트
- TODO: 전화번호 포맷 지정 필요

hyodong.min 7 gadi atpakaļ
vecāks
revīzija
dc57bfa0a9

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/MobileAuthorizationBean.java

@@ -20,6 +20,8 @@ import java.util.List;
  */
 public class MobileAuthorizationBean extends JsonBeanBase {
 
+  public static final String BIRTH_DATE_FORMAT = "yyyymmdd";
+
   public static final String GENDER_MALE = "남자";
   public static final String GENDER_FEMALE = "여자";
 

+ 38 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/util/Formatter.java

@@ -3,6 +3,10 @@
  */
 package kr.co.zumo.app.lifeplus.util;
 
+import android.text.TextUtils;
+
+import java.text.DateFormat;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Locale;
 
@@ -27,4 +31,38 @@ public class Formatter {
   public static String format(long timeInMillis, String pattern) {
     return new SimpleDateFormat(pattern, Locale.getDefault()).format(timeInMillis);
   }
+
+  /**
+   * 시간 문자열을 다른 포맷으로 변경
+   *
+   * @param timeStr     2018-01-10 12:34:56
+   * @param fromPattern yyyy-MM-dd HH:mm:ss
+   * @param toPattern   yyyy/MM/dd
+   * @return 2018-01-10
+   */
+  public static String format(String timeStr, String fromPattern, String toPattern) {
+    long timeInMillis = dateStringToMillis(fromPattern, timeStr);
+    return format(timeInMillis, toPattern);
+  }
+
+  /**
+   * Date String 을 millisecond 로 변환
+   *
+   * @param pattern yyyy-MM-dd
+   * @param dateStr 2016-10-21
+   * @return millisecond
+   */
+  public static long dateStringToMillis(String pattern, String dateStr) {
+    if (TextUtils.isEmpty(dateStr)) {
+      return 0;
+    }
+
+    DateFormat format = new SimpleDateFormat(pattern, Locale.getDefault());
+    try {
+      return format.parse(dateStr).getTime();
+    } catch (ParseException e) {
+      e.printStackTrace();
+      return 0;
+    }
+  }
 }

+ 27 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/signup/SignUpMobileAuthorizationPresenter.java

@@ -3,15 +3,25 @@
  */
 package kr.co.zumo.app.lifeplus.view.presenter.signup;
 
+import android.content.Context;
+import android.telephony.PhoneNumberUtils;
 import android.util.Log;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+import android.widget.Toast;
 
 import com.google.gson.Gson;
 
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.application.App;
 import kr.co.zumo.app.lifeplus.bean.MobileAuthorizationBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.model.SignUpModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
+import kr.co.zumo.app.lifeplus.util.Formatter;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.ISignUpView;
 import kr.co.zumo.app.lifeplus.view.command.FragmentChangeCommand;
@@ -119,6 +129,23 @@ public class SignUpMobileAuthorizationPresenter extends SignUpFragmentPresenter
       // todo 30일 이내 재가입
     }
     else {
+      Context context = App.getInstance().getContext();
+      Toast toast = new Toast(context);
+      toast.setDuration(Toast.LENGTH_LONG);
+      toast.setGravity(Gravity.FILL, 0, 0);
+      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+      View view = inflater.inflate(R.layout.sign_up_authorization_result_dialog, null);
+      ((TextView) view.findViewById(R.id.text_view_authorization_result_name)).setText(mobileAuthorizationBean.getName());
+      ((TextView) view.findViewById(R.id.text_view_authorization_result_gender)).setText(mobileAuthorizationBean.getGender());
+      ((TextView) view.findViewById(R.id.text_view_authorization_result_birth_date)).setText(
+        Formatter.format(mobileAuthorizationBean.getBirthDate(), MobileAuthorizationBean.BIRTH_DATE_FORMAT, "yyyy.mm.dd")
+      );
+      ((TextView) view.findViewById(R.id.text_view_authorization_result_phone_number)).setText(
+        PhoneNumberUtils.formatNumber(mobileAuthorizationBean.getFirstPhoneNumber() + mobileAuthorizationBean.getPhoneNumber())
+      );
+      toast.setView(view);
+      toast.show();
+
       // 신규 가입
       model.setMobileAuthorizationBean(mobileAuthorizationBean);
       model.checkMobileAuthorized();

+ 6 - 5
app/src/main/res/layout/sign_up_authorization_result_dialog.xml

@@ -2,7 +2,8 @@
 <RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
-  android:layout_height="match_parent">
+  android:layout_height="match_parent"
+  xmlns:tools="http://schemas.android.com/tools">
 
   <LinearLayout
     android:layout_width="match_parent"
@@ -52,7 +53,7 @@
         android:lineSpacingExtra="7.5sp"
         android:gravity="end"
         android:layout_marginBottom="5dp"
-        android:text="@string/sign_up_completed_name"
+        tools:text="@string/sign_up_completed_name"
         />
 
       <TextView
@@ -64,7 +65,7 @@
         android:lineSpacingExtra="7.5sp"
         android:gravity="end"
         android:layout_marginBottom="5dp"
-        android:text="@string/sign_up_completed_gender"
+        tools:text="@string/sign_up_completed_gender"
         />
 
       <TextView
@@ -76,7 +77,7 @@
         android:lineSpacingExtra="7.5sp"
         android:gravity="end"
         android:layout_marginBottom="5dp"
-        android:text="@string/sign_up_completed_birth_date"
+        tools:text="@string/sign_up_completed_birth_date"
         />
 
       <TextView
@@ -88,7 +89,7 @@
         android:lineSpacingExtra="7.5sp"
         android:gravity="end"
         android:layout_marginBottom="17.5dp"
-        android:text="@string/sign_up_completed_phone_number"
+        tools:text="@string/sign_up_completed_phone_number"
         />
     </LinearLayout>
 

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -126,6 +126,7 @@
   <string name="phone_identify_number_need">인증번호를 입력해주세요.</string>
   <string name="phone_identify_number_fail_1">입력하신 인증번호가 정확하지 않습니다. 다시 시도해주세요.</string>
   <string name="phone_identify_number_fail_2">본인인증에 실패했습니다. 인증번호를 재발송해주세요.</string>
+  <string name="phone_identify_completed">본인인증이 완료되었습니다.</string>
   <string name="phone_identify_confirm">확 인</string>
   <string name="phone_identify_time">남은 시간: </string>
   <string name="phone_identify_time_delay">시간 연장</string>