Browse Source

[공통][New] 폰 번호 포맷 유틸 추가

hyodong.min 7 years ago
parent
commit
4b20d1878e

+ 1 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/util/Formatter.java

@@ -3,8 +3,6 @@
  */
 package kr.co.zumo.app.lifeplus.util;
 
-import android.text.TextUtils;
-
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -53,7 +51,7 @@ public class Formatter {
    * @return millisecond
    */
   public static long dateStringToMillis(String pattern, String dateStr) {
-    if (TextUtils.isEmpty(dateStr)) {
+    if (StringUtil.isEmpty(dateStr)) {
       return 0;
     }
 

+ 20 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/util/StringUtil.java

@@ -3,13 +3,16 @@
  */
 package kr.co.zumo.app.lifeplus.util;
 
+import android.os.Build;
 import android.support.annotation.Nullable;
+import android.telephony.PhoneNumberUtils;
 import android.text.Html;
 import android.text.Spanned;
 
 import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import java.util.Locale;
 
 /**
  * String 관련 유틸리티 클래스
@@ -199,4 +202,21 @@ public class StringUtil {
       return Html.fromHtml(str);
     }
   }
+
+  /**
+   * 폰 번호 스타일 반환 (국내 전용)
+   *
+   * @param phoneNumber 01037037037, 0112345678
+   * @return 010-3703-7037, 011-234-5678
+   */
+  public static String formatPhoneNumber(String phoneNumber) {
+    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+      phoneNumber = PhoneNumberUtils.formatNumber(phoneNumber, Locale.KOREA.getCountry());
+    }
+    else {
+      phoneNumber = PhoneNumberUtils.formatNumber(phoneNumber);
+    }
+
+    return phoneNumber;
+  }
 }

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

@@ -4,7 +4,6 @@
 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;
@@ -22,6 +21,7 @@ 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.util.StringUtil;
 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;
@@ -140,8 +140,11 @@ public class SignUpMobileAuthorizationPresenter extends SignUpFragmentPresenter
       ((TextView) view.findViewById(R.id.text_view_authorization_result_birth_date)).setText(
         Formatter.format(mobileAuthorizationBean.getBirthDate(), MobileAuthorizationBean.BIRTH_DATE_FORMAT, "yyyy.mm.dd")
       );
+      String phoneNumber = mobileAuthorizationBean.getFirstPhoneNumber() + mobileAuthorizationBean.getPhoneNumber();
+      Log.i("APP# SignUpMobileAuthorizationPresenter | onAuthResult", "| b: " + phoneNumber);
+      Log.i("APP# SignUpMobileAuthorizationPresenter | onAuthResult", "| a: " + StringUtil.formatPhoneNumber(phoneNumber));
       ((TextView) view.findViewById(R.id.text_view_authorization_result_phone_number)).setText(
-        PhoneNumberUtils.formatNumber(mobileAuthorizationBean.getFirstPhoneNumber() + mobileAuthorizationBean.getPhoneNumber())
+        StringUtil.formatPhoneNumber(phoneNumber)
       );
       toast.setView(view);
       toast.show();

+ 32 - 0
app/src/test/java/kr/co/zumo/app/lifeplus/util/StringUtilTestForRobolectric.java

@@ -0,0 +1,32 @@
+package kr.co.zumo.app.lifeplus.util;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * StringUtilTestForRobolectric
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 10. 2.]   [최초 작성]
+ * @since 2018. 10. 2.
+ */
+@RunWith(RobolectricTestRunner.class)
+public class StringUtilTestForRobolectric {
+
+  @Test
+  public void fromHtml() {
+  }
+
+
+  @Test
+  public void formatPhoneNumber() {
+    assertEquals("010-3703-7037", StringUtil.formatPhoneNumber("01037037037"));
+    assertEquals("011-234-5678", StringUtil.formatPhoneNumber("0112345678"));
+  }
+}