Browse Source

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

hyodong.min 7 years ago
parent
commit
846918dc2b

+ 3 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsFragment.java

@@ -74,15 +74,12 @@ public class ContentsFragment extends FragmentBase<ContentsPresenter> implements
       @Override
       public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent motionEvent) {
         if (null != layoutManager && layoutManager.findFirstVisibleItemPosition() == adapter.getItemCount() - 1) {
-          if (touchEventWithDirection.getDirection(motionEvent).equals(TouchEventWithDirection.DIRECTION_LEFT)) {
-            direction = TouchEventWithDirection.DIRECTION_LEFT;
-          }
-          else if (null != direction && direction.equals(TouchEventWithDirection.DIRECTION_LEFT)
-            && touchEventWithDirection.getDirection(motionEvent).equals(TouchEventWithDirection.DIRECTION_NONE)) {
+          if (null != direction && direction.equals(TouchEventWithDirection.DIRECTION_LEFT) && motionEvent.getAction() == MotionEvent.ACTION_UP) {
             presenter.onEvent(new Event.Builder(Event.LAST).build());
             direction = null;
           }
-
+          String currentDirection = touchEventWithDirection.getDirection(motionEvent);
+          direction = currentDirection;
         }
         return false;
       }

+ 5 - 52
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainContentsCategoryHolder.java

@@ -30,7 +30,7 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
  * @since 2018. 10. 15.
  */
 public class MainContentsCategoryHolder extends MainContentsHolder {
-
+  private String direction = TouchEventWithDirection.DIRECTION_NONE;
   private RecyclerView recyclerView;
   private MainCategoryContentsAdapter adapter;
   private TextView textView;
@@ -160,6 +160,8 @@ public class MainContentsCategoryHolder extends MainContentsHolder {
       }
     });
 
+    TouchEventWithDirection touchEventWithDirection = new TouchEventWithDirection(50);
+
     if (index == 1) {
       recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
         @Override
@@ -172,7 +174,7 @@ public class MainContentsCategoryHolder extends MainContentsHolder {
                * 스크롤 시킬 조건
                * - 1번 카테고리가 화면에서 벗어나 있을 때, (아래 쪽이 잘렸을 때)
                */
-              if (DIRECTION_LEFT.equals(direction) || DIRECTION_RIGHT.equals(direction)) {
+              if (TouchEventWithDirection.DIRECTION_LEFT.equals(direction) || TouchEventWithDirection.DIRECTION_RIGHT.equals(direction)) {
                 listener.onEvent(new Event.Builder(Event.SCROLL).index(index).build());
               }
               break;
@@ -180,7 +182,7 @@ public class MainContentsCategoryHolder extends MainContentsHolder {
               break;
           }
 
-          direction = getDirection(e);
+          direction = touchEventWithDirection.getDirection(e);
           return false;
         }
 
@@ -200,55 +202,6 @@ public class MainContentsCategoryHolder extends MainContentsHolder {
 //    recyclerView.getLayoutManager().onRestoreInstanceState(state);
   }
 
-  int oldX;
-  int oldY;
-  String direction;
-
-  private static final String DIRECTION_NONE = "none";
-  private static final String DIRECTION_UP = "up";
-  private static final String DIRECTION_DOWN = "down";
-  private static final String DIRECTION_RIGHT = "right";
-  private static final String DIRECTION_LEFT = "left";
-
-  private String getDirection(MotionEvent e) {
-    String direction = DIRECTION_NONE;
-    int action = e.getAction();
-    switch (action) {
-      case MotionEvent.ACTION_DOWN:
-        oldX = (int) e.getX();
-        oldY = (int) e.getY();
-        break;
-      case MotionEvent.ACTION_MOVE:
-        int newX = (int) e.getX();
-        int newY = (int) e.getY();
-
-        int dx = oldX - newX;
-        int dy = oldY - newY;
-
-        // Use dx and dy to determine the direction of the move
-        if (Math.abs(dx) > Math.abs(dy)) {
-          if (dx > 0) {
-            direction = DIRECTION_RIGHT;
-          }
-          else {
-            direction = DIRECTION_LEFT;
-          }
-        }
-        else {
-          if (dy > 0) {
-            direction = DIRECTION_DOWN;
-          }
-          else {
-            direction = DIRECTION_UP;
-          }
-        }
-        break;
-      default:
-        // nothing
-        break;
-    }
-    return direction;
-  }
 
   @Override
   public void dispose() {

+ 11 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BucketListDefaultDetailFragment.java

@@ -1,5 +1,6 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.bucketlist;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -16,6 +17,7 @@ import java.util.List;
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusImageBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
+import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 
 /**
@@ -31,7 +33,6 @@ import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 public class BucketListDefaultDetailFragment extends FragmentBase<BucketListDefaultDetailPresenter> implements IBucketListDefaultDetailView {
 
   private TextView textViewBucketTitle;
-  private ImageView imageViewBucketCheck;
   private ImageView imageViewBucketBackground;
 
   @Override
@@ -43,12 +44,13 @@ public class BucketListDefaultDetailFragment extends FragmentBase<BucketListDefa
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
     textViewBucketTitle = findViewById(R.id.text_view_bucket_title);
-    imageViewBucketCheck = findViewById(R.id.image_checker);
     imageViewBucketBackground = findViewById(R.id.image_view_bucket_background);
+    textViewBucketTitle.setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.UPDATE).build());});
   }
 
   @Override
   protected void defineActionBar(ActionBarHelper actionBarHelper) {
+
     actionBarHelper.begin()
       .back(navigationBar -> presenter.onNavigationClickBack(navigationBar))
       .confirm(navigationBar -> presenter.onNavigationClickConfirm(navigationBar))
@@ -125,7 +127,13 @@ public class BucketListDefaultDetailFragment extends FragmentBase<BucketListDefa
 
   @Override
   public void setNavigationBarCompleted(boolean isCompleted) {
-    imageViewBucketCheck.setVisibility(isCompleted ? View.VISIBLE : View.GONE);
+    Drawable checkImageResource = getActivity().getResources().getDrawable(R.drawable.icon_bucket_complete_white);
+    if (isCompleted) {
+      textViewBucketTitle.setCompoundDrawablesWithIntrinsicBounds(checkImageResource, null, null, null);
+    }
+    else {
+      textViewBucketTitle.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
+    }
     getHelper(ActionBarHelper.class).setCompleted(isCompleted);
   }
 }

+ 10 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/BucketListDefaultDetailPresenter.java

@@ -5,6 +5,7 @@ import kr.co.zumo.app.lifeplus.bean.api.BucketWithTagBean;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.ConfirmDialog;
@@ -87,13 +88,21 @@ public class BucketListDefaultDetailPresenter extends Presenter<BucketListDefaul
 
   @Override
   protected void onEventInternal(Event event) {
+    switch (event.getEventId()) {
+      case Event.UPDATE:
+        model.setDeliveryPackaging(model.getBucketMyBeanForEditing());
+        go(ScreenID.BUCKET_MY_EDIT);
+        break;
+      default:
+        break;
+    }
 
   }
 
   @Override
   public void onScreenReady() {
     BucketWithTagBean bean = model.getBucketMyBeanForEditing();
-    view.setContentsText(bean.getTitle());
+    view.setContentsText(StringUtil.trim(bean.getTitle()));
     view.setNavigationBarCompleted(bean.isCompleted());
     view.changeBackground(bean.getImageUrl());
   }

+ 1 - 0
app/src/main/res/drawable/custom_rectangle_radio_off.xml

@@ -2,6 +2,7 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
     <shape android:shape="rectangle">
+      <corners android:radius="2dp"/>
       <stroke android:color="@color/CE5E5E5" android:width="1dp" />
     </shape>
   </item>

+ 1 - 0
app/src/main/res/drawable/custom_rectangle_radio_on.xml

@@ -2,6 +2,7 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item>
   <shape android:shape="rectangle">
+    <corners android:radius="2dp"/>
     <stroke android:color="@color/C000000" android:width="1dp" />
   </shape>
 </item>

+ 1 - 0
app/src/main/res/drawable/faq_answer_border.xml

@@ -3,6 +3,7 @@
   <item>
     <shape android:shape="rectangle">
       <stroke android:color="#e5e5e5" android:width="1dp" />
+      <corners android:radius="2dp"/>
     </shape>
   </item>
 </selector>

+ 1 - 0
app/src/main/res/drawable/rectangle_border_ce5e5e5.xml

@@ -4,6 +4,7 @@
     <shape android:shape="rectangle">
       <stroke android:color="#e5e5e5" android:width="1dp"/>
       <solid android:color="@color/CFFFFFF"/>
+      <corners android:radius="2dp"/>
     </shape>
   </item>
 </selector>

+ 1 - 0
app/src/main/res/drawable/rectangle_border_cf8f8f8.xml

@@ -4,6 +4,7 @@
     <shape android:shape="rectangle">
       <stroke android:color="@color/CE5E5E5" android:width="1dp"/>
       <solid android:color="@color/CF8F8F8"/>
+      <corners android:radius="2dp"/>
     </shape>
   </item>
 </selector>

+ 8 - 21
app/src/main/res/layout/fragment_bucket_list_default_detail.xml

@@ -21,44 +21,31 @@
     />
 
   <ImageView
+    android:id="@+id/imageView"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:src="@drawable/rectangle_dim_black_50"
-    app:layout_constraintTop_toTopOf="@+id/image_view_bucket_background"
-    />
-
-  <ImageView
-    android:layout_marginStart="50dp"
-    android:id="@+id/image_checker"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_marginTop="10dp"
-    app:layout_constraintEnd_toStartOf="@+id/text_view_bucket_title"
-    app:layout_constraintHorizontal_chainStyle="packed"
-    app:layout_constraintStart_toStartOf="parent"
-    app:layout_constraintTop_toTopOf="@+id/text_view_bucket_title"
-    app:srcCompat="@drawable/icon_bucket_complete_white"
-    tools:visibility="visible"/>
+    app:layout_constraintTop_toTopOf="@+id/image_view_bucket_background"/>
 
   <TextView
     android:id="@+id/text_view_bucket_title"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:layout_marginStart="5dp"
+    android:layout_marginStart="70dp"
+    android:layout_marginEnd="70dp"
     android:ellipsize="end"
     android:gravity="center"
     android:lineSpacingExtra="8sp"
     android:maxLines="3"
+    android:drawableStart="@drawable/icon_bucket_complete_white"
+    android:drawablePadding="5dp"
     android:textColor="@color/CFFFFFF"
     android:textSize="21sp"
-    android:layout_marginEnd="50dp"
     app:layout_constrainedWidth="true"
     app:layout_constraintBottom_toBottomOf="parent"
     app:layout_constraintEnd_toEndOf="parent"
-    app:layout_constraintHorizontal_chainStyle="packed"
-    app:layout_constraintStart_toEndOf="@+id/image_checker"
+    app:layout_constraintStart_toStartOf="@+id/imageView"
     app:layout_constraintTop_toTopOf="parent"
     app:layout_goneMarginStart="50dp"
-    tools:text="OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
-    />
+    tools:text="나를 위한 선물, 명풍\n구매하기나를 위한 선물, 명풍\n구매하기나를 위한 선물, 명풍\n구매하기"/>
 </android.support.constraint.ConstraintLayout>

+ 1 - 0
app/src/main/res/layout/fragment_my_bucket_list.xml

@@ -113,6 +113,7 @@
             android:layout_marginTop="20dp"
             android:layout_marginEnd="17dp"
             android:layout_marginBottom="28dp"
+            android:descendantFocusability="blocksDescendants"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"