Bläddra i källkod

[마이][New] 버킷 리스트 추가 버튼

hyodong.min 7 år sedan
förälder
incheckning
1a6eb44736

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/helper/NavigationBar.java

@@ -109,6 +109,7 @@ public class NavigationBar {
     setClickListener(buttonBookmark);
     setClickListener(buttonDotDotDot);
     setClickListener(imageBi);
+    setClickListener(buttonEdit);
 
   }
 

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/Presenter.java

@@ -494,7 +494,7 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
   }
 
   /**
-   * 휴지통 클릭
+   * 수정 클릭
    *
    * @param navigationBar
    */

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

@@ -11,7 +11,10 @@ import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
 
+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.screen.FragmentBase;
 
@@ -78,19 +81,49 @@ public class BucketListDefaultDetailFragment extends FragmentBase<BucketListDefa
 
 
   @Override
-  public void setBucketTitle(String title) {
-    textViewBucketTitle.setText(title);
+  public void setVisibleButton(boolean isVisible) {
+    // nothing
   }
 
   @Override
-  public void setCompleted(boolean isCompleted) {
-    imageViewBucketCheck.setVisibility(isCompleted ? View.VISIBLE : View.GONE);
+  public void setButtonText(String str) {
+    // nothing
+  }
+
+  @Override
+  public void setLayoutSize(boolean isBig) {
+    // nothing
   }
 
   @Override
-  public void setBucketBackground(String imageUrl) {
+  public void changeBackground(String imageUrl) {
     Glide.with(imageViewBucketBackground)
       .asBitmap().load(imageUrl).into(imageViewBucketBackground);
+  }
+
+  @Override
+  public void changeDescription(String str) {
+    // nothing
+  }
+
+  @Override
+  public void init(List<LifeplusImageBean> myBucketListData) {
+    // nothing
+  }
+
+  @Override
+  public void setContentsText(String str) {
+    textViewBucketTitle.setText(str);
+  }
 
+  @Override
+  public void setSelectedIndex(int index) {
+    // nothing
+  }
+
+  @Override
+  public void setNavigationBarCompleted(boolean isCompleted) {
+    imageViewBucketCheck.setVisibility(isCompleted ? View.VISIBLE : View.GONE);
+    getHelper(ActionBarHelper.class).setCompleted(isCompleted);
   }
 }

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

@@ -6,10 +6,13 @@ 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.view.Event;
+import kr.co.zumo.app.lifeplus.view.dialog.AlertDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.ConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
+import kr.co.zumo.app.lifeplus.view.dialog.IAttribute;
 import kr.co.zumo.app.lifeplus.view.dialog.ICustomConfirmListener;
+import kr.co.zumo.app.lifeplus.view.dialog.ICustomDialogListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 /**
@@ -24,11 +27,16 @@ import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
  */
 public class BucketListDefaultDetailPresenter extends Presenter<BucketListDefaultDetailModel, IBucketListDefaultDetailView> {
 
-  private BucketWithTagBean bucketWithTagBean;
-
   public BucketListDefaultDetailPresenter(BucketListDefaultDetailModel model, IBucketListDefaultDetailView view) {
     super(model, view);
-    bucketWithTagBean = model.getDeliveryPackaging(BucketWithTagBean.class);
+
+    // 수정 할 나의 버킷 정보 가져옴 from 버킷 상세
+    BucketWithTagBean bucketMyBean = model.getDeliveryPackaging(BucketWithTagBean.class);
+    if (null != bucketMyBean) {
+      model.setBucketMyBeanForEditing(bucketMyBean);
+
+      model.clearDeliveryPackaging();
+    }
   }
 
   @Override
@@ -84,20 +92,26 @@ public class BucketListDefaultDetailPresenter extends Presenter<BucketListDefaul
 
   @Override
   public void onScreenReady() {
-
-    view.setBucketTitle(bucketWithTagBean.getTitle());
-    view.setCompleted(bucketWithTagBean.isCompleted());
-    view.setBucketBackground(bucketWithTagBean.getImageUrl());
+    BucketWithTagBean bean = model.getBucketMyBeanForEditing();
+    view.setContentsText(bean.getTitle());
+    view.setNavigationBarCompleted(bean.isCompleted());
+    view.changeBackground(bean.getImageUrl());
   }
 
   @Override
   public void onResult(Event event) {
-
-  }
-
-  @Override
-  public void onNavigationClickBack(NavigationBar navigationBar) {
-    super.onNavigationClickBack(navigationBar);
+    switch (event.getEventId()) {
+      case Event.COMPLETED:
+        // 달성 갱신 완료;
+        view.setNavigationBarCompleted(model.getBucketMyBeanForEditing().isCompleted());
+        break;
+      case Event.DELETE:
+        // 삭제 완료
+        showDeleteResultDialog();
+        break;
+      default:
+        break;
+    }
   }
 
   @Override
@@ -134,7 +148,37 @@ public class BucketListDefaultDetailPresenter extends Presenter<BucketListDefaul
 
   @Override
   public void onNavigationClickEdit(NavigationBar navigationBar) {
-    model.setDeliveryPackaging(bucketWithTagBean);
+    model.setDeliveryPackaging(model.getBucketMyBeanForEditing());
     go(ScreenID.BUCKET_MY_EDIT);
   }
+
+  protected void showDeleteResultDialog() {
+    new DialogBuilder<AlertDialog, ICustomDialogListener>(getFragmentManager(), DialogID.ALERT)
+      .listener(new ICustomDialogListener<AlertDialog>() {
+        @Override
+        public void onDialogResult(AlertDialog dialog, Event event) {
+          if (event.getEventId() == Event.CONFIRM) {
+            dialog.dispose();
+            if (BucketListModelHelper.getInstance().getCountOfBucket() == 0) {
+              jump(ScreenID.MY_MAIN);
+            }
+            else {
+              back(ScreenID.MY_BUCKET_LIST);
+            }
+          }
+        }
+
+        @Override
+        public void onDialogCanceled(AlertDialog dialog) {
+          dialog.dispose();
+        }
+      })
+      .attribute(new IAttribute<AlertDialog>() {
+        @Override
+        public void onAttribute(AlertDialog dialog) {
+          dialog.setText(R.string.delete_message);
+        }
+      })
+      .show();
+  }
 }

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

@@ -70,6 +70,16 @@ public class EditMyBucketListPresenter extends AddMyBucketListPresenter {
     model.completeBucket();
   }
 
+  /**
+   * 수정 클릭
+   *
+   * @param navigationBar
+   */
+  public void onNavigationClickEdit(NavigationBar navigationBar) {
+    // 수정 완료
+    onViewClickConfirm();
+  }
+
   /**
    * 휴지통 클릭
    *
@@ -129,7 +139,7 @@ public class EditMyBucketListPresenter extends AddMyBucketListPresenter {
     model.updateBucket();
   }
 
-  public void showDeleteResultDialog() {
+  protected void showDeleteResultDialog() {
     new DialogBuilder<AlertDialog, ICustomDialogListener>(getFragmentManager(), DialogID.ALERT)
       .listener(new ICustomDialogListener<AlertDialog>() {
         @Override

+ 5 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/IBucketListDefaultDetailView.java

@@ -1,7 +1,5 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.bucketlist;
 
-import kr.co.zumo.app.lifeplus.view.IView;
-
 /**
  * IBucketListDefaultDetailView
  * <pre>
@@ -12,9 +10,9 @@ import kr.co.zumo.app.lifeplus.view.IView;
  * @history 하세미   [2018-11-26]   [최초 작성]
  * @since 2018-11-26
  */
-public interface IBucketListDefaultDetailView extends IView {
-
-  void setBucketTitle(String title);
-  void setCompleted(boolean isCompleted);
-  void setBucketBackground(String imageUrl);
+public interface IBucketListDefaultDetailView extends IAddMyBucketListView {
+//
+//  void setBucketTitle(String title);
+//  void setCompleted(boolean isCompleted);
+//  void setBucketBackground(String imageUrl);
 }