Browse Source

Merge branch 'develop' of https://github.com/swict/LifeplusAndroid into develop

Hasemi 6 years ago
parent
commit
9cdff90121

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

@@ -1,7 +1,7 @@
 /*
  * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
  */
-package kr.co.zumo.app.lifeplus.view.custom;
+package kr.co.zumo.app.lifeplus.view.screen.event;
 
 import android.content.Context;
 import android.support.annotation.Nullable;

+ 11 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionAgreeView.java

@@ -2,7 +2,6 @@ package kr.co.zumo.app.lifeplus.view.screen.event;
 
 import android.content.Context;
 import android.graphics.drawable.StateListDrawable;
-import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.CheckBox;
@@ -12,6 +11,7 @@ import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.EventPolicyBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventQuestionBean;
 import kr.co.zumo.app.lifeplus.view.CheckBoxAllDriver;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
@@ -26,7 +26,7 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-class EventQuestionAgreeView extends RecyclerView.ViewHolder {
+class EventQuestionAgreeViewHolder extends EventQuestionViewHolder {
 
   private LinearLayout layoutContainer;
   private CheckBox checkBoxAll;
@@ -34,7 +34,7 @@ class EventQuestionAgreeView extends RecyclerView.ViewHolder {
   private CheckBox checkBox;
   private LayoutInflater inflater;
 
-  public EventQuestionAgreeView(View itemView, List<EventPolicyBean> policyBeans) {
+  public EventQuestionAgreeViewHolder(View itemView, List<EventPolicyBean> policyBeans) {
     super(itemView);
     this.policyBeans = policyBeans;
     inflater = (LayoutInflater) itemView.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
@@ -42,7 +42,8 @@ class EventQuestionAgreeView extends RecyclerView.ViewHolder {
     layoutContainer = itemView.findViewById(R.id.checkbox_agree_container);
   }
 
-  public void draw(int index, IEventListener listener) {
+  @Override
+  public void draw(int index, IEventListener listener, EventQuestionBean bean) {
 
     checkBoxAll.setButtonDrawable(getStateListDrawable());
     CheckBoxAllDriver checkBoxAllDriver = new CheckBoxAllDriver(checkBoxAll);
@@ -56,11 +57,11 @@ class EventQuestionAgreeView extends RecyclerView.ViewHolder {
 
     // 약관 동의
     for (int i = 0; i < policyBeans.size(); ++i) {
-      EventPolicyBean bean = policyBeans.get(i);
+      EventPolicyBean policyBean = policyBeans.get(i);
       View view = inflater.inflate(R.layout.setting_agree_check, null);
       CheckBox checkBox = view.findViewById(R.id.agree_check);
       checkBox.setButtonDrawable(getStateListDrawable());
-      checkBox.setText(bean.getTitle());
+      checkBox.setText(policyBean.getTitle());
 
       checkBoxAllDriver.addChildBox(checkBox);
       // agree
@@ -87,4 +88,8 @@ class EventQuestionAgreeView extends RecyclerView.ViewHolder {
   }
 
 
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
 }

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionAnswerView.java

@@ -18,13 +18,13 @@ import kr.co.zumo.app.lifeplus.view.custom.ClearEditText;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-public class EventQuestionAnswerView extends EventQuestionView {
+public class EventQuestionAnswerViewHolder extends EventQuestionViewHolder {
 
   private ClearEditText editTextAnswer;
   private TextView textViewValidation;
   private TextView textViewQuestion;
 
-  public EventQuestionAnswerView(View itemView) {
+  public EventQuestionAnswerViewHolder(View itemView) {
     super(itemView);
     editTextAnswer = itemView.findViewById(R.id.edit_text_email);
     textViewQuestion = itemView.findViewById(R.id.text_view_question);
@@ -36,4 +36,9 @@ public class EventQuestionAnswerView extends EventQuestionView {
     super.draw(index, listener, bean);
     textViewQuestion.setText(bean.getQuestionName());
   }
+
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
 }

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionButtonView.java

@@ -16,11 +16,11 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-public class EventQuestionButtonView extends EventQuestionView {
+public class EventQuestionButtonViewHolder extends EventQuestionViewHolder {
 
   private ConstraintLayout layoutButton;
 
-  public EventQuestionButtonView(View view) {
+  public EventQuestionButtonViewHolder(View view) {
     super(view);
     layoutButton = view.findViewById(R.id.layout_button);
   }
@@ -28,4 +28,9 @@ public class EventQuestionButtonView extends EventQuestionView {
   @Override
   public void setUploadImage(Bitmap image) {
   }
+
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
 }

+ 23 - 15
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionFragment.java

@@ -27,6 +27,8 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 
 import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.EventBean;
@@ -54,7 +56,6 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
   private Bitmap uploadImage;
   private LinearLayout layoutContainer;
   private LayoutInflater inflater;
-  private EventQuestionImageView eventQuestionImageView;
   private View layoutSubmit;
   private static final int PERMISSION_CHECK = 0;
 
@@ -128,6 +129,8 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
     startActivity(intent);
   }
 
+  private List<EventQuestionViewHolder> eventQuestionViewHolders;
+
   @Override
   public void drawList(EventDetailBean detailBean) {
 
@@ -151,39 +154,44 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
     ((TextView) titleView.findViewById(R.id.text_view_sub_title)).setText(builder.toString());
     layoutContainer.addView(titleView);
 
+    eventQuestionViewHolders = new ArrayList<>();
+
     for (int i = 0; i < detailBean.getEventQuestionList().size(); ++i) {
       View questionItemView = null;
+      EventQuestionViewHolder eventQuestionViewHolder = null;
       EventQuestionBean eventQuestionBean = detailBean.getEventQuestionList().get(i);
       if (EventQuestionBean.QUESTION_TYPE_SINGLE.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_single_choice, null);
-        EventQuestionSingleView eventQuestionSingleView = new EventQuestionSingleView(questionItemView);
-        eventQuestionSingleView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
-        layoutContainer.addView(questionItemView);
+        eventQuestionViewHolder = new EventQuestionSingleViewHolder(questionItemView);
+        eventQuestionViewHolder.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
       }
       else if (EventQuestionBean.QUESTION_TYPE_MULTI.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_multiple_choice, null);
-        EventQuestionMultiView eventQuestionMultiView = new EventQuestionMultiView(questionItemView);
-        eventQuestionMultiView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
-        layoutContainer.addView(questionItemView);
+        eventQuestionViewHolder = new EventQuestionMultiViewHolder(questionItemView);
+        eventQuestionViewHolder.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
       }
       else if (EventQuestionBean.QUESTION_TYPE_ANSWER.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_answer, null);
-        EventQuestionAnswerView eventQuestionAnswerView = new EventQuestionAnswerView(questionItemView);
-        eventQuestionAnswerView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
-        layoutContainer.addView(questionItemView);
+        eventQuestionViewHolder = new EventQuestionAnswerViewHolder(questionItemView);
+        eventQuestionViewHolder.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
       }
       else if (EventQuestionBean.QUESTION_TYPE_IMAGE.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_image, null);
-        eventQuestionImageView = new EventQuestionImageView(questionItemView);
-        eventQuestionImageView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
+        eventQuestionViewHolder = new EventQuestionImageViewHolder(questionItemView);
+        eventQuestionViewHolder.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
+      }
+
+      if (null != questionItemView && null != eventQuestionViewHolder) {
+        eventQuestionViewHolders.add(eventQuestionViewHolder);
         layoutContainer.addView(questionItemView);
       }
     }
 
     //동의 영역
     View agreeView = inflater.inflate(R.layout.event_participation_item_agree, null);
-    EventQuestionAgreeView eventQuestionAgreeView = new EventQuestionAgreeView(agreeView, detailBean.getEventPolicyList());
-    eventQuestionAgreeView.draw(-1, event -> presenter.onEvent(event));
+    EventQuestionAgreeViewHolder eventQuestionAgreeView = new EventQuestionAgreeViewHolder(agreeView, detailBean.getEventPolicyList());
+    eventQuestionAgreeView.draw(eventQuestionViewHolders.size(), event -> presenter.onEvent(event), null);
+    eventQuestionViewHolders.add(eventQuestionAgreeView);
     layoutContainer.addView(agreeView);
 
     //버튼
@@ -225,7 +233,7 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
   @Override
   public void uploadAlbumImage() {
     if (null != uploadImage) {
-      eventQuestionImageView.setUploadImage(uploadImage);
+//      eventQuestionImageView.setUploadImage(uploadImage);
     }
   }
 

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionImageView.java

@@ -26,14 +26,14 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-public class EventQuestionImageView extends EventQuestionView {
+public class EventQuestionImageViewHolder extends EventQuestionViewHolder {
 
   private ConstraintLayout layoutCamera;
   private FlowLayout container;
   private IEventListener listener;
   private int count;
 
-  public EventQuestionImageView(View itemView) {
+  public EventQuestionImageViewHolder(View itemView) {
     super(itemView);
     layoutCamera = itemView.findViewById(R.id.layout_camera);
     container = itemView.findViewById(R.id.layout_container);
@@ -82,6 +82,11 @@ public class EventQuestionImageView extends EventQuestionView {
 
   }
 
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
+
   private void setUploadButtonVisible() {
     if (count >= 10) {
       layoutCamera.setVisibility(View.GONE);

+ 7 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionMultiView.java

@@ -13,7 +13,6 @@ import kr.co.zumo.app.lifeplus.bean.api.EventQuestionBean;
 import kr.co.zumo.app.lifeplus.bean.api.EventQuestionItemBean;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
-import kr.co.zumo.app.lifeplus.view.custom.EventMultiCheckBox;
 
 /**
  * EventParticipationMultipleChoiceViewHolder
@@ -25,13 +24,13 @@ import kr.co.zumo.app.lifeplus.view.custom.EventMultiCheckBox;
  * @history 하세미   [2019-01-16]   [최초 작성]
  * @since 2019-01-16
  */
-class EventQuestionMultiView extends EventQuestionView {
+class EventQuestionMultiViewHolder extends EventQuestionViewHolder {
 
   private TextView textViewTitle;
   private LinearLayout layoutChoiceView;
 
 
-  public EventQuestionMultiView(View itemView) {
+  public EventQuestionMultiViewHolder(View itemView) {
     super(itemView);
     textViewTitle = itemView.findViewById(R.id.text_view_title);
     layoutChoiceView = itemView.findViewById(R.id.choice_view);
@@ -58,4 +57,9 @@ class EventQuestionMultiView extends EventQuestionView {
   @Override
   public void setUploadImage(Bitmap image) {
   }
+
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
 }

+ 7 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionSingleView.java

@@ -29,13 +29,13 @@ import kr.co.zumo.app.lifeplus.view.SingleSelector;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-public class EventQuestionSingleView extends EventQuestionView {
+public class EventQuestionSingleViewHolder extends EventQuestionViewHolder {
 
   private LinearLayout layoutContainer;
   private TextView textViewQuestion;
   private LayoutInflater inflater;
 
-  public EventQuestionSingleView(View view) {
+  public EventQuestionSingleViewHolder(View view) {
     super(view);
     textViewQuestion = view.findViewById(R.id.text_view_question);
     layoutContainer = view.findViewById(R.id.layout_container);
@@ -89,4 +89,9 @@ public class EventQuestionSingleView extends EventQuestionView {
   public void setUploadImage(Bitmap image) {
   }
 
+  @Override
+  public void validate(boolean isValidate) {
+
+  }
+
 }

+ 4 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionView.java

@@ -17,11 +17,11 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @history 하세미   [2019-01-09]   [최초 작성]
  * @since 2019-01-09
  */
-public class EventQuestionView extends RecyclerView.ViewHolder {
+public abstract class EventQuestionViewHolder extends RecyclerView.ViewHolder {
 
   protected EventQuestionBean bean;
 
-  public EventQuestionView(View itemView) {
+  public EventQuestionViewHolder(View itemView) {
     super(itemView);
   }
 
@@ -33,4 +33,6 @@ public class EventQuestionView extends RecyclerView.ViewHolder {
   public void setUploadImage(Bitmap image) {
 
   }
+
+  public abstract void validate(boolean isValidate);
 }

+ 1 - 1
app/src/main/res/layout/event_participation_item_answer.xml

@@ -43,7 +43,7 @@
     android:layout_height="wrap_content"
     android:layout_marginTop="37dp"
     android:lineSpacingExtra="4sp"
-    android:textColor="@color/C666666"
+    android:textColor="@color/CF13F15"
     android:textSize="11sp"
     android:visibility="gone"
     app:layout_constraintStart_toStartOf="@+id/edit_text_email"

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

@@ -817,7 +817,7 @@
   <!--이벤트 참여-->
   <string name="event_participation_email">응모자 이메일 주소</string>
   <string name="event_participation_email_hint">이메일 주소를 입력해주세요.</string>
-  <string name="event_participation_email_validation">이메일 주소를 정확히 입력해주세요.</string>
+  <string name="event_participation_email_validation">2글자 이상 입력해주세요.</string>
   <string name="event_participation_name">응모자 이름</string>
   <string name="event_participation_name_hint">이름을 입력해주세요.</string>
   <string name="event_participation_name_validation">이름을 2자 이상 입력해주세요.</string>