Просмотр исходного кода

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

hyodong.min 7 лет назад
Родитель
Сommit
94723cdb76

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

@@ -24,15 +24,16 @@ public class EventDetailAdapter extends RecyclerView.Adapter<EventDetailView> {
 
   private static final int TYPE_EVENT_COVER = 0; //커버는 모든 이벤트 유형 공통사용
 
-  private static final int TYPE_EVENT_ENTER_CONTENTS = 1; //응모형 내용
-  private static final int TYPE_EVENT_ENTER_LAST = 2; //응모형 내용
+  private static final int TYPE_EVENT_ENTER_IMAGE = 1; //응모형 상세(이미지)
+  private static final int TYPE_EVENT_ENTER_VIDEO = 2; //응모형 상세(이미지 + 비디오)
+  private static final int TYPE_EVENT_ENTER_LAST = 3; //응모형 (마지막)
 
-  private static final int TYPE_EVENT_SELECT_COMBINED = 3; //항목 선택형 복합형
-  private static final int TYPE_EVENT_SELECT_TEXT = 4; //항목선택형 글자형
-  private static final int TYPE_EVENT_SELECT_RESULT = 5; //항목선택형 결과
+  private static final int TYPE_EVENT_SELECT_COMBINED = 4; //항목 선택형 복합형
+  private static final int TYPE_EVENT_SELECT_TEXT = 5; //항목선택형 글자형
+  private static final int TYPE_EVENT_SELECT_RESULT = 6; //항목선택형 결과
 
-  private static final int TYPE_EVENT_RECOMMEND_DEFAULT = 6; //추천컨텐츠 기본형
-  private static final int TYPE_EVENT_RECOMMEND_TAG = 7; //추천컨텐츠 태그형
+  private static final int TYPE_EVENT_RECOMMEND_DEFAULT = 7; //추천컨텐츠 기본형
+  private static final int TYPE_EVENT_RECOMMEND_TAG = 8; //추천컨텐츠 태그형
 
   private Context context;
   private IEventListener listener;
@@ -55,9 +56,12 @@ public class EventDetailAdapter extends RecyclerView.Adapter<EventDetailView> {
       case TYPE_EVENT_COVER:
         view = inflater.inflate(R.layout.event_enter_type_cover, parent, false);
         return new EventDetailCoverHolder(view);
-      case TYPE_EVENT_ENTER_CONTENTS:
-        view = inflater.inflate(R.layout.event_enter_type_detail, parent, false);
-        return new EventEnterContentsHolder(view);
+      case TYPE_EVENT_ENTER_IMAGE:
+        view = inflater.inflate(R.layout.event_enter_type_image, parent, false);
+        return new EventEnterContentsImageHolder(view);
+      case TYPE_EVENT_ENTER_VIDEO:
+        view = inflater.inflate(R.layout.event_enter_type_video, parent, false);
+        return new EventEnterContentsVideoHolder(view);
       case TYPE_EVENT_ENTER_LAST:
         view = inflater.inflate(R.layout.event_enter_type_last, parent, false);
         return new EventEnterLastHolder(view);
@@ -101,10 +105,12 @@ public class EventDetailAdapter extends RecyclerView.Adapter<EventDetailView> {
 
     if (type == 0) { //첫번째 인덱스는 응모형 임시구현
       switch (position) {
+        case 2:
+          return TYPE_EVENT_ENTER_VIDEO;
         case 4:
           return TYPE_EVENT_ENTER_LAST;
         default:
-          return TYPE_EVENT_ENTER_CONTENTS;
+          return TYPE_EVENT_ENTER_IMAGE;
       }
     }
     else if (type == 1) { //두번째 인덱스는 항목선택 복합형 임시구현

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

@@ -98,6 +98,7 @@ public class EventDetailPresenter extends Presenter<EventDetailModel, IEventDeta
         }
         break;
       case Event.RECOMMEND:
+        // TODO: 사용자 선택 값에 따른 추천 컨텐츠 보여주기 
         view.setScrollToPosition(event.getIndex() + 1);
         break;
       case Event.DETAIL:
@@ -120,6 +121,9 @@ public class EventDetailPresenter extends Presenter<EventDetailModel, IEventDeta
           showPopupForGuest();
         }
         break;
+      case Event.NEXT:
+        view.setScrollToPosition(event.getIndex() + 1);
+        break;
       default:
         break;
     }

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

@@ -16,11 +16,11 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @history 하세미   [2019-01-04]   [최초 작성]
  * @since 2019-01-04
  */
-public class EventEnterContentsHolder extends EventDetailView {
+public class EventEnterContentsImageHolder extends EventDetailView {
 
   private ImageView imageViewDetail;
 
-  public EventEnterContentsHolder(View itemView) {
+  public EventEnterContentsImageHolder(View itemView) {
     super(itemView);
     imageViewDetail = itemView.findViewById(R.id.image_view_event_detail);
   }

+ 36 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventEnterContentsVideoHolder.java

@@ -0,0 +1,36 @@
+package kr.co.zumo.app.lifeplus.view.screen.event;
+
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.VideoView;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.view.IEventListener;
+
+/**
+ * EventEnterContentsVedioHolder
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2019-01-11]   [최초 작성]
+ * @since 2019-01-11
+ */
+public class EventEnterContentsVideoHolder extends EventDetailView {
+
+  private ImageView imageViewBackGround;
+  private VideoView videoView;
+
+  public EventEnterContentsVideoHolder(View view) {
+    super(view);
+    imageViewBackGround = view.findViewById(R.id.image_view_background);
+    videoView = view.findViewById(R.id.video_view);
+  }
+
+  @Override
+  public void init(IEventListener listener) {
+    imageViewBackGround.setImageDrawable(itemView.getResources().getDrawable(R.drawable.img_my_reservation));
+
+  }
+}

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventSelectRecommendTagHolder.java

@@ -56,7 +56,7 @@ public class EventSelectRecommendTagHolder extends EventDetailView {
     recyclerViewEventList.addItemDecoration(new RecyclerView.ItemDecoration() {
       @Override
       public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
-        outRect.top = ResourceUtil.dpToPx(10);
+        outRect.top = parent.getChildAdapterPosition(view) == 0? ResourceUtil.dpToPx(6) : ResourceUtil.dpToPx(10);
         outRect.bottom = ResourceUtil.dpToPx(10);
       }
     });

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

@@ -1,6 +1,5 @@
 package kr.co.zumo.app.lifeplus.view.screen.event;
 
-import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
@@ -55,7 +54,7 @@ public class EventSelectTextHolder extends EventDetailView {
       selectView.init(itemView.getContext(), "#조용한");
       layoutSelectArea.addView(selectView);
       selectView.setOnClickListener(view -> {
-        Log.e("APP#  EventSelectTextHolder | init", "|" + selectView.isChecked() + selectView.getText());
+        listener.onEvent(new Event.Builder(Event.NEXT).index(getAdapterPosition()).build());
       });
     }
 

app/src/main/res/layout/event_enter_type_detail.xml → app/src/main/res/layout/event_enter_type_image.xml


+ 28 - 0
app/src/main/res/layout/event_enter_type_video.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent">
+
+  <ImageView
+    android:id="@+id/image_view_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scaleType="centerCrop"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"
+    tools:background="@color/C999999"/>
+
+  <VideoView
+    android:id="@+id/video_view"
+    android:layout_width="match_parent"
+    android:layout_height="300dp"
+    app:layout_constraintBottom_toBottomOf="parent"
+    app:layout_constraintEnd_toEndOf="parent"
+    app:layout_constraintStart_toStartOf="parent"
+    app:layout_constraintTop_toTopOf="parent"/>
+</android.support.constraint.ConstraintLayout>

+ 2 - 1
app/src/main/res/layout/event_select_type_recommend_tag.xml

@@ -156,8 +156,9 @@
       android:layout_marginTop="17dp"
       android:clipToPadding="false"
       android:paddingStart="25dp"
-      android:paddingTop="15dp"
+      android:paddingTop="2dp"
       android:paddingEnd="25dp"
+      android:paddingBottom="25dp"
       app:layout_behavior="@string/appbar_scrolling_view_behavior"
       />