Przeglądaj źródła

[이벤트][New] '마이 이벤트' 진입 경로에 따라서 이전/다음 이동 구분

hyodong.min 6 lat temu
rodzic
commit
1d1cd71d59

+ 8 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MyEventActivity.java

@@ -2,6 +2,7 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
 
+import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 
 /**
@@ -17,7 +18,13 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 public class MyEventActivity extends ActivityBaseScreen {
   @Override
   protected void render() {
-    launchScreen(ScreenID.MY_EVENT);
+    // 상황에 따라서 id 를 변경해준다.
+    Integer id = ActivityDeliveryHelper.getInstance().getPackaging(Integer.class);
+    if (null == id) {
+      id = ScreenID.MY_EVENT;
+    }
+    // 첫 화면 표시
+    launchScreen(id);
   }
 
   @Override

+ 3 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/ScreenID.java

@@ -107,6 +107,7 @@ public class ScreenID {
   public static final int MY_COIN_DETAIL_GUEST = 86;
   public static final int PIN_RESET_AUTH_FROM_MULTI_DEVICE = 87;
   public static final int PIN_RESET_INPUT_FROM_MULTI_DEVICE = 88;
+  public static final int MY_EVENT_FROM_LIST = 89;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({MAIN, SETTING, FAQ, NETWORK_ERROR, PIN, PIN_RESET, SIGN_UP_START_FROM_ZUMO, ON_BOARDING, PERMISSION_INFO,
@@ -118,7 +119,8 @@ public class ScreenID {
     SETTING_MEMBER_QUIT_FINISH, SETTING_TERMS, SETTING_MEMBER_QUIT_FAIL, MAIN_PIN_UNLOCK, PIN_RESET_AUTH, PIN_RESET_INPUT, PIN_RESET_AUTH_FROM_SETTING,
     PIN_RESET_INPUT_FROM_SETTING, /*PIN_RESET_AUTH_FROM_ALREADY_MEMBER,*/ PIN_RESET_INPUT_FROM_ALREADY_MEMBER, CONTENTS, EVENT_LIST, PHONE_NUMBER_RESET, BUCKET_MY_EDIT, BUCKET_DETAIL,
     NETWORK_ERROR_STARTING, OVER_VIEW, ACTIVITY, SERIES, SIGN_UP_START_FROM_ZUMO_ON_BOARDING, WEB_FROM_CONTENTS, BUCKET_ACTIVITY, MAP, MY_EVENT, WINNER_ANNOUNCEMENT,
-    EVENT_DETAIL, SEARCH, EVENT_PARTICIPATION, SYSTEM_CHECK, UTILITY_ACTIVITY, SEARCH_RESULT, MY_COIN_DETAIL_GUEST, PIN_RESET_AUTH_FROM_MULTI_DEVICE, PIN_RESET_INPUT_FROM_MULTI_DEVICE
+    EVENT_DETAIL, SEARCH, EVENT_PARTICIPATION, SYSTEM_CHECK, UTILITY_ACTIVITY, SEARCH_RESULT, MY_COIN_DETAIL_GUEST, PIN_RESET_AUTH_FROM_MULTI_DEVICE, PIN_RESET_INPUT_FROM_MULTI_DEVICE,
+    MY_EVENT_FROM_LIST
   })
   public @interface ID {}
 

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/screen/ActivityScreen.java

@@ -106,6 +106,8 @@ public class ActivityScreen extends Screen {
         break;
 
       case ScreenID.MY_EVENT:
+      case ScreenID.MY_EVENT_FROM_LIST:
+        shipToActivity(id);
         intent = new Intent(activity, MyEventActivity.class);
         break;
 

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/screen/ScreenManager.java

@@ -103,6 +103,7 @@ public class ScreenManager implements IScreen {
           screen = new ActivityScreen(helper, id, direction, method);
           break;
         case ScreenID.MY_EVENT:
+        case ScreenID.MY_EVENT_FROM_LIST:
           screen = new ActivityScreen(helper, id, direction, method);
           break;
         case ScreenID.SEARCH:

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

@@ -77,7 +77,7 @@ public class EventListPresenter extends Presenter<EventListModel, IEventView> {
     switch (event.getEventId()) {
       case Event.MY_EVENT:
         if (model.isActiveMember()) {
-          go(ScreenID.MY_EVENT);
+          go(ScreenID.MY_EVENT_FROM_LIST);
         }
         else {
           showPopupForGuest();

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

@@ -0,0 +1,34 @@
+package kr.co.zumo.app.lifeplus.view.screen.event;
+
+import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
+
+/**
+ * MyEventFragment
+ * <pre>
+ * </pre>
+ *
+ * @author 하세미
+ * @version 1.0
+ * @history 하세미   [2019-01-02]   [최초 작성]
+ * @since 2019-01-02
+ */
+public class MyEventFromListFragment extends MyEventFragment {
+
+  @Override
+  protected MyEventPresenter definePresenter() {
+    return new MyEventPresenter(getModel(MyEventModel.class), this) {
+
+      /**
+       * '진행 중인 이벤트' 버튼은 진입 경로에 따라서 결정된다
+       * - 이벤트 리스트 에서 진입한 경우 -> 이전 화면으로 이동
+       * - 마이 메인 에서 진입한 경우 -> 이벤트 리스트
+       */
+      @Override
+      protected void onEventListClick() {
+        //진행중인 이벤트 - 이벤트 리스트에서 진입
+        back(ScreenID.EVENT_LIST);
+      }
+    };
+  }
+
+}

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

@@ -82,8 +82,7 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
   protected void onEventInternal(Event event) {
     switch (event.getEventId()) {
       case Event.ING_EVENT:
-        //진행중인 이벤트
-        go(ScreenID.EVENT_LIST);
+        onEventListClick();
         break;
       case Event.WINNER_ANNOUNCEMENT:
         //당첨자 발표
@@ -102,6 +101,16 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
     }
   }
 
+  /**
+   * '진행 중인 이벤트' 버튼은 진입 경로에 따라서 결정된다
+   * - 이벤트 리스트 에서 진입한 경우 -> 이전 화면으로 이동
+   * - 마이 메인 에서 진입한 경우 -> 이벤트 리스트
+   */
+  protected void onEventListClick() {
+    //진행중인 이벤트 - 마이 메인에서 진입
+    go(ScreenID.EVENT_LIST);
+  }
+
   private void linkEvent(int index) {
     /* todo 이벤트 클릭
     -> 진행 중

+ 6 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/factory/BasicFragmentFactory.java

@@ -23,6 +23,7 @@ import kr.co.zumo.app.lifeplus.view.screen.event.EventDetailEntryFragment;
 import kr.co.zumo.app.lifeplus.view.screen.event.EventListFragment;
 import kr.co.zumo.app.lifeplus.view.screen.event.EventParticipationFragment;
 import kr.co.zumo.app.lifeplus.view.screen.event.MyEventFragment;
+import kr.co.zumo.app.lifeplus.view.screen.event.MyEventFromListFragment;
 import kr.co.zumo.app.lifeplus.view.screen.event.WinnerAnnouncementFragment;
 import kr.co.zumo.app.lifeplus.view.screen.faq.FAQFragment;
 import kr.co.zumo.app.lifeplus.view.screen.faq.FAQWriteFragment;
@@ -43,8 +44,8 @@ import kr.co.zumo.app.lifeplus.view.screen.my.bucketlist.BucketListDefaultDetail
 import kr.co.zumo.app.lifeplus.view.screen.my.bucketlist.BucketListWithTagDetailFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.bucketlist.EditMyBucketListFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.bucketlist.MyBucketListFragment;
-import kr.co.zumo.app.lifeplus.view.screen.my.coin.MyCoinDetailMemberFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.coin.MyCoinDetailGuestFragment;
+import kr.co.zumo.app.lifeplus.view.screen.my.coin.MyCoinDetailMemberFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.coin.MyCoinExtinctionFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.coin.MyCoinMainFragment;
 import kr.co.zumo.app.lifeplus.view.screen.my.main.MyMainGuestFragment;
@@ -58,8 +59,8 @@ import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetFromAlreadyMemberIn
 import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetFromMultiDeviceAuthFragment;
 import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetFromMultiDeviceInputFragment;
 import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetFromSettingAuthFragment;
-import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetInputFragment;
 import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetFromSettingInputFragment;
+import kr.co.zumo.app.lifeplus.view.screen.pin.reset.PinResetInputFragment;
 import kr.co.zumo.app.lifeplus.view.screen.search.SearchFragment;
 import kr.co.zumo.app.lifeplus.view.screen.search.SearchResultFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.SettingFragment;
@@ -322,6 +323,9 @@ public class BasicFragmentFactory extends FragmentFactory {
       case ScreenID.MY_EVENT:
         fragment = new MyEventFragment();
         break;
+      case ScreenID.MY_EVENT_FROM_LIST:
+        fragment = new MyEventFromListFragment();
+        break;
       case ScreenID.EVENT_PARTICIPATION:
         fragment = new EventParticipationFragment();
         break;