Browse Source

Merge remote-tracking branch 'origin/master'

jinochoi 8 years ago
parent
commit
37c34a3d29

+ 2 - 0
onecable/src/main/java/com/ntels/onecable/common/Constants.java

@@ -993,6 +993,8 @@ public interface Constants {
   public static final String KEY_ONLINE_LAST_MODIFIED_TIME = "online_last_modified_time";
   public static final String KEY_LIMIT_CNT = "limit_cnt";
   public static final String KEY_CTRT_GRP_MEMBER_LIST = "ctrt_grp_member_list";
+  public static final String KEY_QUIZ_LIST = "quiz_list";
+  public static final String KEY_QUIZ = "quiz";
 
   /**
    * WebSocket API 분류 코드

+ 26 - 0
onecable/src/main/java/com/ntels/onecable/common/http/HttpSend.java

@@ -532,6 +532,32 @@ public class HttpSend {
         }
     }
 
+    /**
+     * [GET]퀴즈 문제 리스트 조회.
+     */
+    public void getHomeGroupMembersQuizList() {
+
+        String url = "";
+        String interfaceId = "";
+        String sendType = "";
+        String body = "";
+        String fileParamName = "";
+        String filePath = "";
+        ArrayList<HashMap<String, Object>> alPost = new ArrayList<HashMap<String, Object>>();
+        ArrayList<String> alFilePath = new ArrayList<String>();
+        try {
+            interfaceId = util.getString(context, R.string.API_VERSION) + util.getString(context, R.string.SEND_G_homegrp_members_quiz_list);
+            sendType = Constants.SEND_TYPE_GET;
+            //            /* 이름 */
+            //            interfaceId = util.convGetRestReplace(interfaceId, Constants.KEY_member_id, key_member_id);
+            //            /* 이름 */
+            //            addParameter(alPost, Constants.KEY_, key_);
+            setHttp(url, interfaceId, sendType, alPost, body, fileParamName, filePath, alFilePath);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * [DELETE]홈그룹 멤버 강퇴/초대 취소(홈그룹으로 초대받은 멤버의 정보를 변경한다.)
      *

+ 12 - 0
onecable/src/main/java/com/ntels/onecable/common/util/Util.java

@@ -3986,4 +3986,16 @@ public class Util {
         }
     }
 
+    /**
+     * 휴대폰번호 패턴 체크.
+     *
+     * @param number 체크할 휴대폰 번호
+     * @return 패턴 정상 여부
+     */
+    public boolean isCellphone(String number) {
+
+        //010, 011, 016, 017, 018, 019
+        Dlog.v(number + " = " + number.matches("(01[016789])(\\d{3,4})(\\d{4})"));
+        return number.matches("(01[016789])(\\d{3,4})(\\d{4})");
+    }
 }

+ 74 - 23
onecable/src/main/java/com/ntels/onecable/view/homemember/HomeMemberAdd.java

@@ -16,6 +16,7 @@ import com.ntels.onecable.common.widget.CustomScrollView;
 import com.ntels.onecable.view.dialog.CustomDialog;
 import com.ntels.onecable.view.dialog.DialogDate;
 
+import org.json.JSONArray;
 import org.json.JSONObject;
 
 import android.app.Activity;
@@ -39,6 +40,7 @@ import android.widget.ScrollView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -63,6 +65,7 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
 
     private static final int MSG_COM_P_HOMEGRP_MEMBERS = 1;
     private static final int MSG_COM_P_HOMEGRP_MEMBERS_VALIDATION = 2;
+    private static final int MSG_COM_G_HOMEGRP_MEMBERS_QUIZ_LIST = 3;
 
     Handler comHandler = new Handler(new IncomingHandlerCallBack());
     private Util util = new Util();
@@ -76,11 +79,12 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
     @BindView(R.id.tvQuestion) TextView mQuestion;
     @BindView(R.id.llSlidingMenu) LinearLayout mSlidingMenu;
     @BindView(R.id.rcvList) RecyclerView mQuizList;
-    LinearLayoutManager mLinearLayoutManager;
-    HomeMemberAddMenuAdapter mHomeMemberAddMenuAdapter;
+    private LinearLayoutManager mLinearLayoutManager;
+    private HomeMemberAddMenuAdapter mHomeMemberAddMenuAdapter;
     @BindView(R.id.llQuiz) LinearLayout mQuizLayout;
     @BindView(R.id.edtQuiz) EditText mQuizEditText;
     @BindView(R.id.svBody) CustomScrollView mCustomScrollView;
+    private List<String> mQuizData = new ArrayList<>();
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -98,6 +102,7 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
 
         setToolbar();
         displayListView();
+        comHandler.sendMessageDelayed(comHandler.obtainMessage(MSG_COM_G_HOMEGRP_MEMBERS_QUIZ_LIST), Constants.HANDLER_DELAY_MILLIS);
     }
 
     /**
@@ -132,7 +137,7 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
         util.getView(act, R.id.tvValueDate).setOnClickListener(this);
 
         util.setKeyboardHide(act, util.getLinearLayout(act, R.id.llSvbody));
-        util.getEditText(act, R.id.edtEmail)
+        util.getEditText(act, R.id.edtCellphone)
                 .setOnEditorActionListener(new TextView.OnEditorActionListener() {
                     @Override
                     public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
@@ -147,19 +152,9 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
                         return false;
                     }
                 });
-
-        // TODO: 2017-04-05 하드코딩 변경 필요
-        List<String> quizList = Arrays.asList(
-                "초대한 사람의 생일은?",
-                "초대받은 사람의 생일은?",
-                "우리 집 막내 생일은?",
-                "우리 아버지 생일은?",
-                "우리 결혼기념일은?",
-                "퀴즈 직접 입력하기"
-        );
         mLinearLayoutManager = new LinearLayoutManager(this);
         mQuizList.setLayoutManager(mLinearLayoutManager);
-        mHomeMemberAddMenuAdapter = new HomeMemberAddMenuAdapter(this, quizList, mQuizOnClickListener);
+        mHomeMemberAddMenuAdapter = new HomeMemberAddMenuAdapter(this, mQuizData, mQuizOnClickListener);
         mQuizList.setAdapter(mHomeMemberAddMenuAdapter);
     }
 
@@ -245,9 +240,9 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
                     return;
                 }
 
-                String targetEmail = util.getEditTextVal(act, R.id.edtEmail);
-                if ("".equals(targetEmail)) {
-                    util.setShowToast(act, util.getString(act, R.string.MSG885), Toast.LENGTH_SHORT);
+                String targetCellphone = util.getEditTextVal(act, R.id.edtCellphone);
+                if ("".equals(targetCellphone) || !util.isCellphone(targetCellphone)) {
+                    customDialog.msgAlert(act, Constants.MSG885);
                     return;
                 }
 
@@ -309,7 +304,7 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
                 }
             });
 
-            httpSend.P_homegrp_members_validation(util.getEditTextVal(act, R.id.edtEmail));
+            httpSend.P_homegrp_members_validation(util.getEditTextVal(act, R.id.edtCellphone));
         } catch (Exception ex) {
             ex.printStackTrace();
         }
@@ -324,17 +319,17 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
 
         try {
             if (response.getStatusCode() == 200) {
-                String targetEmail = util.getEditTextVal(act, R.id.edtEmail);
-                if ("".equals(targetEmail)) {
+                String targetCellphone = util.getEditTextVal(act, R.id.edtCellphone);
+                if ("".equals(targetCellphone)) {
                     util.setShowToast(act, util.getString(act, R.string.MSG885), Toast.LENGTH_SHORT);
                     return;
                 }
                 String gradeCode = "SIM";
                 HashMap<String, Object> tempMap = new HashMap<String, Object>();
-                tempMap.put(Constants.KEY_TARGET_EMAIL, targetEmail);
+                tempMap.put(Constants.KEY_TARGET_EMAIL, targetCellphone);
                 tempMap.put(Constants.KEY_GRADE_CODE, gradeCode);
                 totalList.add(tempMap);
-                util.getEditText(act, R.id.edtEmail).setText("");
+                util.getEditText(act, R.id.edtCellphone).setText("");
                 setDispContents();
                 scrollToEnd();
             } else {
@@ -348,7 +343,7 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
                 } else if (errorCode.equals("401-106")) {
                     customDialog.msgAlert(act, Constants.MSG997, errorMsg);
                 } else {
-                    util.getEditText(act, R.id.edtEmail).requestFocus();
+                    util.getEditText(act, R.id.edtCellphone).requestFocus();
                     util.setShowToast(act, errorMsg, Toast.LENGTH_SHORT);
                 }
             }
@@ -434,6 +429,59 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
         }
     }
 
+    private void sendGetHomegrpMembersQuizList() {
+        try {
+            HttpSend httpSend;
+            httpSend = new HttpSend(act);
+            httpSend.setOnDataSendToReslutEvent(new OnDataSendToReslut() {
+                @Override
+                public void resultResponse(Response result) {
+
+                    resultGetHomegrpMemberQuizList(result);
+                }
+            });
+
+            HashMap<String, Object> tempMap = new HashMap<String, Object>();
+            tempMap.put(Constants.KEY_AUTHORIZATION_QUESTION, authorizationQuestion);
+            tempMap.put(Constants.KEY_AUTHORIZATION_REPLY, authorizationReply);
+            tempMap.put(Constants.KEY_INVITATION_LIST, totalList);
+
+            Dlog.v(util.MapToJson(tempMap));
+
+            httpSend.getHomeGroupMembersQuizList();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+    }
+
+    private void resultGetHomegrpMemberQuizList(Response response) {
+        try {
+            if (response.getStatusCode() == 200) {
+                JSONArray jaResult = new JSONObject(response.getContent()).getJSONArray(Constants.KEY_QUIZ_LIST);
+                for (int i = 0; i < jaResult.length(); i++) {
+                    mQuizData.add(jaResult.getJSONObject(i).getString(Constants.KEY_QUIZ));
+                }
+                mHomeMemberAddMenuAdapter.notifyDataSetChanged();
+            } else {
+                JSONObject joResult = new JSONObject(response.getContent());
+                Dlog.v(joResult.toString());
+                String errorCode = util.null2string(joResult.get(Constants.KEY_ERR_CODE));
+                String errorMsg = util.null2string(joResult.get(Constants.KEY_ERR_MSG));
+
+                if (errorCode.equals("401")) {
+                    customDialog.msgAlert(act, Constants.MSG998, errorMsg);
+                } else if (errorCode.equals("401-106")) {
+                    customDialog.msgAlert(act, Constants.MSG997, errorMsg);
+                } else {
+
+                }
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            customDialog.msgAlert(act, Constants.MSG807);
+        }
+    }
+
     /**
      * Activity 종료 처리.
      */
@@ -563,6 +611,9 @@ public class HomeMemberAdd extends CustomActivity implements View.OnClickListene
                 case MSG_COM_P_HOMEGRP_MEMBERS_VALIDATION:
                     sendGetHomegrpMembersValidation();
                     break;
+                case MSG_COM_G_HOMEGRP_MEMBERS_QUIZ_LIST:
+                    sendGetHomegrpMembersQuizList();
+                    break;
                 default:
                     break;
             }

+ 1 - 1
onecable/src/main/res/layout/homemember_add.xml

@@ -77,7 +77,7 @@
                             android:paddingRight="15dp">
 
                         <EditText
-                                android:id="@+id/edtEmail"
+                                android:id="@+id/edtCellphone"
                                 android:layout_width="match_parent"
                                 android:layout_height="wrap_content"
                                 android:layout_gravity="center_vertical"

+ 1 - 1
onecable/src/main/res/layout/row_footer_things_list.xml

@@ -41,7 +41,7 @@
           android:layout_height="wrap_content"
           android:gravity="center"
           android:orientation="vertical"
-          android:minHeight="202dp"
+          android:minHeight="210dp"
           android:layout_margin="2dp"
           android:background="@drawable/list_add_bg"
           android:visibility="visible">

+ 1 - 1
onecable/src/main/res/layout/row_things_list.xml

@@ -15,7 +15,7 @@
             android:id="@+id/rlRowBody"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:minHeight="202dp"
+            android:minHeight="210dp"
             android:background="@drawable/d_list_bg"
             android:layout_margin="2dp">
 

+ 1 - 1
onecable/src/main/res/values-en/strings_msg.xml

@@ -128,7 +128,7 @@
   <string name="MSG882"><![CDATA["You have become a new member"]]></string>
   <string name="MSG883"><![CDATA["Maybe next time"]]></string>
   <string name="MSG884"><![CDATA["Do you want to reject the invitation?"]]></string>
-  <string name="MSG885"><![CDATA["Enter the email of the person to invite"]]></string>
+  <string name="MSG885"><![CDATA["올바른 휴대폰 번호를 입력해주세요."]]></string>
   <string name="MSG886"><![CDATA["Write a quiz question"]]></string>
   <string name="MSG887"><![CDATA["Invitation was sent"]]></string>
   <string name="MSG888">

+ 1 - 1
onecable/src/main/res/values/strings_msg.xml

@@ -115,7 +115,7 @@
     <string name="MSG882"><![CDATA["멤버가 되었습니다"]]></string>
     <string name="MSG883"><![CDATA["아쉽지만 다음에\n다시 초대할께요"]]></string>
     <string name="MSG884"><![CDATA["홈 초대를 거절하시겠습니까?"]]></string>
-    <string name="MSG885"><![CDATA["초대할 이메일 주소를 입력하세요"]]></string>
+    <string name="MSG885"><![CDATA["올바른 휴대폰 번호를 입력해주세요."]]></string>
     <string name="MSG886"><![CDATA["퀴즈 내용을 입력하세요"]]></string>
     <string name="MSG887"><![CDATA["초대장을 보냈습니다"]]></string>
     <string name="MSG888"><![CDATA["현재 사용중인 단말입니다.\n등록해제 하시겠습니까?"]]></string>

+ 2 - 0
onecable/src/main/res/values/strings_send_url.xml

@@ -38,6 +38,8 @@
     <string name="SEND_P_homegrp_members" translatable="false">/homegrp_members</string>
     <!--R.8.4 홈그룹 멤버 강퇴 / 초대 취소 DELETE /customer/{cust_id}/group/{ctrt_grp_id}/member (소속된)홈그룹의 멤버를 강퇴하거나 초대를 취소한다.-->
     <string name="SEND_D_homegrp_members" translatable="false">/customer/%1$s/group/%2$s/member</string>
+  <!--R.7.11 인증퀴즈 목록 조회 GET /quiz 전체 인증퀴즈 목록을 조회한다.-->
+  <string name="SEND_G_homegrp_members_quiz_list" translatable="false">/quiz</string>
     <!--3.2.1.6 홈그룹 초대 알림 POST /v3/homegrp_members/invitations 홈초대 알림 화면에서 승락/거절 처리를 한다. (+ 초대 수락 처리 후에 나머지 요청은 거절한다.)-->
     <string name="SEND_P_homegrp_members_invitations" translatable="false">
     /homegrp_members/invitations