Browse Source

[마이][New] 베스트 버킷 선택 내용 -> 버킷 추가 연동

hyodong.min 7 năm trước cách đây
mục cha
commit
64c3ec6616

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

@@ -189,6 +189,7 @@ public class AddMyBucketListFragment extends FragmentBase<AddMyBucketListPresent
   @Override
   public void setContentsText(String str) {
     editTextMyBucketTitle.setText(str);
+    editTextMyBucketTitle.setSelection(str.length());
   }
 
   @Override

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

@@ -9,8 +9,10 @@ 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.bean.api.TagBean;
+import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 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.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
@@ -102,6 +104,15 @@ public class AddMyBucketListPresenter extends Presenter<AddMyBucketListModel, IA
 
     renderButtonText();
     renderForEdit();
+
+    // 베스트 버킷으로부터 전달된 값이 있는지 확인
+    DeliveryHelper helper = getHelper(DeliveryHelper.class);
+    String title = helper.getPackaging(String.class);
+    if (StringUtil.isFull(title)) {
+      view.setContentsText(title);
+
+      helper.clearPackaging();
+    }
   }
 
   /**

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

@@ -56,7 +56,7 @@ public class MyBucketListBannerPagerAdapter extends PagerAdapter {
   public Object instantiateItem(@NonNull ViewGroup container, int position) {
     view = layoutInflater.inflate(R.layout.my_bucket_list_banner_view, container, false);
     ImageView imageViewAddBucketList = view.findViewById(R.id.image_view_add_bucket_list);
-    imageViewAddBucketList.setOnClickListener(view -> { listener.onEvent(new Event.Builder(Event.ADD_BUCKET).build());});
+    imageViewAddBucketList.setOnClickListener(view -> { listener.onEvent(new Event.Builder(Event.ADD_BUCKET).index(position).build());});
 
     TextView textViewBucketListTitle = view.findViewById(R.id.text_view_bucket_list_title);
     ImageView imageViewShowBucketList = view.findViewById(R.id.image_show_bucket_list);

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

@@ -1,5 +1,6 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.bucketlist;
 
+import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
@@ -73,6 +74,8 @@ public class MyBucketListPresenter extends Presenter<MyBucketListModel, IMyBucke
         go(ScreenID.BUCKET_DETAIL);
         break;
       case Event.ADD_BUCKET:
+        int index = event.getIndex();
+        getHelper(DeliveryHelper.class).setPackaging(model.getBestBeans().get(index).getTitle());
         go(ScreenID.ADD_MY_BUCKET);
         break;
       case Event.MY_BUCKET:

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainFragment.java

@@ -49,7 +49,6 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
 
   protected ConstraintLayout layoutMemberHeader;
   protected ConstraintLayout layoutGuestHeader;
-  protected ViewGroup layoutGuest;
   protected View arrowBookmark;
   protected View arrowBucket;
   protected TextView textBucketLabel;

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

@@ -13,6 +13,7 @@ import kr.co.zumo.app.lifeplus.bean.api.BucketMyListResultBean;
 import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.UserNoRequestBean;
 import kr.co.zumo.app.lifeplus.model.Model;
+import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIBookmarkBestModule;
 import kr.co.zumo.app.lifeplus.model.module.APIBookmarkMyModule;
 import kr.co.zumo.app.lifeplus.model.module.APIBucketBestModule;
@@ -190,4 +191,7 @@ public class MyMainModel extends Model {
     }
   }
 
+  public boolean isMember() {
+    return SuperModel.getInstance().isMember();
+  }
 }

+ 34 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainPresenter.java

@@ -1,9 +1,16 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.main;
 
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 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.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.dialog.CustomAlertDialog;
+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.ICustomDialogListener;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 /**
@@ -88,7 +95,33 @@ public class MyMainPresenter extends Presenter<MyMainModel, IMyMainView> {
         go(ScreenID.MY_PURCHASE_HISTORY);
         break;
       case Event.ADD_BUCKET:
-        go(ScreenID.ADD_MY_BUCKET);
+        if (model.isMember()) {
+          int index = event.getIndex();
+          getHelper(DeliveryHelper.class).setPackaging(model.getBestBeans().get(index).getTitle());
+          go(ScreenID.ADD_MY_BUCKET);
+        }
+        else {
+          // 비회원 가입 유도
+          new DialogBuilder<CustomAlertDialog, ICustomDialogListener>(DialogID.ALERT)
+            .listener(new ICustomDialogListener<CustomAlertDialog>() {
+              @Override
+              public void onDialogResult(CustomAlertDialog dialog, Event event) {
+                if (event.getEventId() == Event.CONFIRM) {
+                  dialog.dispose();
+                  go(ScreenID.SIGN_UP_START);
+                }
+              }
+
+              @Override
+              public void onDialogCanceled(CustomAlertDialog dialog) {
+                dialog.dispose();
+              }
+            })
+            .attribute(dialog -> {
+              dialog.setText(ResourceUtil.getString(R.string.best_bucket_guest_guide));
+            })
+            .show();
+        }
         break;
       case Event.MY_BUCKET:
         if (model.getBucketList().size() == 0) {

+ 1 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/common/SettingMemberInfoPresenter.java

@@ -175,7 +175,6 @@ public class SettingMemberInfoPresenter extends Presenter<SettingMemberInfoModel
     view.setPhoneNumber(StringUtil.formatPhoneNumber(bean.getPhoneNumber()));
     view.setBirthDate(bean.getBirthDate());
 
-    // todo 데이터 로딩 없이 갱신하도록 수정하고 싶음
     // 현재 약관 첫 번째 체크박스가 오동작해서, 화면 진입 시마다 api를 호출하도록 해뒀음.
     // 전화번호 재설정 후 되돌아왔는지 확인
     DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
@@ -187,7 +186,7 @@ public class SettingMemberInfoPresenter extends Presenter<SettingMemberInfoModel
 
       view.setPhoneNumber(StringUtil.formatPhoneNumber(bean.getPhoneNumber()));
 
-      deliveryHelper.setPackaging(null);
+      deliveryHelper.clearPackaging();
     }
 
 

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -637,6 +637,8 @@
   <string name="next_time">다음 기회에</string>
   <string name="app_review_write">앱 리뷰 쓰기</string>
 
+  <string name="best_bucket_guest_guide">서비스 이용을 위해서 Lifeplus 회원 확인이 필요합니다.</string>
+
   <string name="inside">실내</string>
   <string name="outside">실외</string>
 </resources>