소스 검색

[공통[New] DeliveryHelper.shipTo() 추가

hyodong.min 7 년 전
부모
커밋
60ca303d39

+ 8 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ContentsActivity.java

@@ -5,7 +5,6 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
 
-import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
 import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
@@ -25,12 +24,16 @@ public class ContentsActivity extends ActivityBaseScreen {
   @Override
   protected void render() {
 
-    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+    // fixme 호환되는지 테스트
 
-    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
-    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
+    ActivityDeliveryHelper.getInstance().shipTo(getHelper(DeliveryHelper.class));
 
-    ActivityDeliveryHelper.getInstance().clearPackaging();
+//    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+//
+//    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
+//    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
+//
+//    ActivityDeliveryHelper.getInstance().clearPackaging();
 
     // 첫 화면 표시
     launchScreen(ScreenID.CONTENTS);

+ 9 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ContentsOverviewActivity.java

@@ -5,7 +5,6 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
 
-import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
 import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
@@ -25,10 +24,16 @@ public class ContentsOverviewActivity extends ActivityBaseScreen {
   @Override
   protected void render() {
 
-    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+    // fixme 호환되는지 테스트
 
-    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
-    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
+    ActivityDeliveryHelper.getInstance().shipTo(getHelper(DeliveryHelper.class));
+
+//    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+//
+//    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
+//    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
+//
+//    ActivityDeliveryHelper.getInstance().clearPackaging();
 
     // 첫 화면 표시
     launchScreen(ScreenID.OVER_VIEW);

+ 8 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ContentsWebActivity.java

@@ -5,7 +5,6 @@ package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
 
-import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
 import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
@@ -25,12 +24,15 @@ public class ContentsWebActivity extends ActivityBaseScreen {
   @Override
   protected void render() {
 
-    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+    // fixme 호환되는지 테스트
+    ActivityDeliveryHelper.getInstance().shipTo(getHelper(DeliveryHelper.class));
 
-    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
-    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
-
-    ActivityDeliveryHelper.getInstance().clearPackaging();
+//    ContentsDeliveryBean contentsDeliveryBean = ActivityDeliveryHelper.getInstance().getPackaging(ContentsDeliveryBean.class);
+//
+//    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
+//    deliveryHelper.setPackaging(new ContentsDeliveryBean.Builder(contentsDeliveryBean.getContentsBean()).build());
+//
+//    ActivityDeliveryHelper.getInstance().clearPackaging();
 
     // 첫 화면 표시
     launchScreen(ScreenID.CONTENTS_WEB);

+ 1 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/activity/CoopActivity.java

@@ -20,13 +20,7 @@ public class CoopActivity extends ActivityBaseScreen {
 
   @Override
   protected void render() {
-
-    String goodsUrl = ActivityDeliveryHelper.getInstance().getPackaging(String.class);
-
-    DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
-    deliveryHelper.setPackaging(goodsUrl);
-    
-    ActivityDeliveryHelper.getInstance().clearPackaging();
+    ActivityDeliveryHelper.getInstance().shipTo(getHelper(DeliveryHelper.class));
 
     launchScreen(ScreenID.COUPON_MALL);
   }

+ 11 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/helper/DeliveryHelper.java

@@ -59,4 +59,15 @@ public class DeliveryHelper extends Helper {
   protected void onCleared() {
     clearPackaging();
   }
+
+  /**
+   * 다른 DeliveryHelper 에게 객체를 전달한다.
+   * - ActivityDeliveryHelper 와 DeliveryHelper 간 데이터 전달에 사용된다.
+   *
+   * @param deliveryHelper
+   */
+  public void shipTo(DeliveryHelper deliveryHelper) {
+    deliveryHelper.setPackaging(packaging);
+    clearPackaging();
+  }
 }

+ 9 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/Model.java

@@ -17,6 +17,7 @@ import kr.co.zumo.app.lifeplus.helper.Helper;
 import kr.co.zumo.app.lifeplus.helper.IHelperProvider;
 import kr.co.zumo.app.lifeplus.network.INetworkReceiverListener;
 import kr.co.zumo.app.lifeplus.network.NetworkWatcher;
+import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.view.Event;
 
@@ -233,6 +234,14 @@ public abstract class Model extends ViewModel implements ILifeCycle, IHelperProv
     helper.clearPackaging();
   }
 
+  /**
+   * DeliveryHelper 의 객체를 ActivityDeliveryHelper 로 전달한다.
+   */
+  public void shipToActivity() {
+    DeliveryHelper helper = getHelper(DeliveryHelper.class);
+    helper.shipTo(ActivityDeliveryHelper.getInstance());
+  }
+
   /***********************************
    * ILifeCycle
    ***********************************/

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

@@ -18,11 +18,9 @@ import kr.co.zumo.app.lifeplus.activity.MyCoinActivity;
 import kr.co.zumo.app.lifeplus.activity.NotiActivity;
 import kr.co.zumo.app.lifeplus.activity.SignUpActivity;
 import kr.co.zumo.app.lifeplus.bean.CategoryDeliveryBean;
-import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
 import kr.co.zumo.app.lifeplus.helper.ScreenManagerHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ActivityDeliveryHelper;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
-import kr.co.zumo.app.lifeplus.util.StringUtil;
 
 /**
  * ActivityScreen
@@ -52,38 +50,46 @@ public class ActivityScreen extends Screen {
       case ScreenID.FOURTH_CATEGORY:
       case ScreenID.FIFTH_CATEGORY:
         intent = new Intent(activity, CategoryActivity.class);
-        ActivityDeliveryHelper.getInstance().setPackaging(new CategoryDeliveryBean(id));
+        shipToActivity(new CategoryDeliveryBean(id));
         break;
+
       case ScreenID.ALL_MENU:
 //        type = ActivityBase.SLIDE_TYPE_DIALOG;
         intent = new Intent(activity, MenuActivity.class);
         break;
+
       case ScreenID.CONTENTS:
         intent = new Intent(activity, ContentsActivity.class);
-        setContentsPackage();
+        shipToActivity();
         break;
+
       case ScreenID.CONTENTS_WEB:
         intent = new Intent(activity, ContentsWebActivity.class);
-        setContentsPackage();
+        shipToActivity();
         break;
+
       case ScreenID.NOTIFICATION:
         intent = new Intent(activity, NotiActivity.class);
         break;
+
       case ScreenID.FAQ:
         intent = new Intent(activity, FAQActivity.class);
         break;
+
       case ScreenID.COUPON_MALL:
         intent = new Intent(activity, CoopActivity.class);
-        String goodsUrl = helper.getModel().getDeliveryPackaging(String.class);
-        ActivityDeliveryHelper.getInstance().setPackaging(goodsUrl);
+        shipToActivity();
         break;
+
       case ScreenID.MY_COIN_MAIN:
         intent = new Intent(activity, MyCoinActivity.class);
         break;
+
       case ScreenID.OVER_VIEW:
         intent = new Intent(activity, ContentsOverviewActivity.class);
-        setContentsPackage();
+        shipToActivity();
         break;
+
       case ScreenID.SIGN_UP_START:
         intent = new Intent(activity, SignUpActivity.class);
         if (helper.getModel().isUpdateUser()) {
@@ -102,9 +108,9 @@ public class ActivityScreen extends Screen {
         else {
           id = ScreenID.SIGN_UP_START;
         }
-        ActivityDeliveryHelper.getInstance().setPackaging(id);
-
+        shipToActivity(id);
         break;
+
       default:
         Log.w("APP# ActivityScreen | change", "|" + "activity id bad...");
         break;
@@ -115,17 +121,11 @@ public class ActivityScreen extends Screen {
     }
   }
 
-  private void setContentsPackage() {
-
-    ContentsDeliveryBean contentsDeliveryBean;
-
-    contentsDeliveryBean = helper.getModel().getDeliveryPackaging(ContentsDeliveryBean.class);
-
-    if (null != contentsDeliveryBean.getContentsBean()) {
-      Log.w("APP# ActivityScreen | change", "|" + contentsDeliveryBean.getContentsBean().toPrettyJson());
+  private void shipToActivity() {
+    helper.getModel().shipToActivity();
+  }
 
-      ActivityDeliveryHelper.getInstance().setPackaging(contentsDeliveryBean);
-      helper.getModel().clearDeliveryPackaging();
-    }
+  private void shipToActivity(Object packaging) {
+    ActivityDeliveryHelper.getInstance().setPackaging(packaging);
   }
 }