|
|
@@ -1,9 +1,15 @@
|
|
|
package kr.co.zumo.app.lifeplus.view.screen.my.coin;
|
|
|
|
|
|
+import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.ContentsWebDeliveryBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.UtilityActivityBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.LinkBean;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
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.LinkInvoker;
|
|
|
import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
|
|
|
|
|
|
/**
|
|
|
@@ -65,6 +71,7 @@ public class MyCoinMainPresenter extends Presenter<MyCoinMainModel, IMyCoinMainV
|
|
|
model.loadRecommendGoods();
|
|
|
model.loadCoinInfo();
|
|
|
model.loadBanner();
|
|
|
+ model.loadMyBucket();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -96,9 +103,9 @@ public class MyCoinMainPresenter extends Presenter<MyCoinMainModel, IMyCoinMainV
|
|
|
break;
|
|
|
case Event.BANNER:
|
|
|
// 하단 배너
|
|
|
-// if (LinkInvoker.invoke(MyCoinMainPresenter.this, model.getCoinBannerBeans().get(event.getIndex())) == false) {
|
|
|
-// showToast("Invalid Link");
|
|
|
-// }
|
|
|
+ if (invoke(model.getCoinBannerBeans().get(event.getIndex())) == false) {
|
|
|
+ showToast("Invalid Link");
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
@@ -106,22 +113,96 @@ public class MyCoinMainPresenter extends Presenter<MyCoinMainModel, IMyCoinMainV
|
|
|
|
|
|
}
|
|
|
|
|
|
+ protected boolean invoke(LinkBean linkBean) {
|
|
|
+ boolean isSuccess = true;
|
|
|
+ /*
|
|
|
+ 링크 구분 코드
|
|
|
+ 01:외부URL, 02:컨텐츠, 03:이벤트, 04:특정메뉴
|
|
|
+ */
|
|
|
+ switch (linkBean.getLinkType()) {
|
|
|
+ case LinkBean.TYPE_CONTENTS:
|
|
|
+ LifeplusContentsBean bean = new LifeplusContentsBean();
|
|
|
+ bean.setContentsNo(linkBean.getLink());
|
|
|
+ ContentsDeliveryBean contentsDeliveryBean = new ContentsDeliveryBean.Builder(bean).build();
|
|
|
+
|
|
|
+ model.setDeliveryPackaging(contentsDeliveryBean);
|
|
|
+ go(ScreenID.CONTENTS);
|
|
|
+ break;
|
|
|
+ case LinkBean.TYPE_URL:
|
|
|
+ ContentsWebDeliveryBean contentsWebDeliveryBean = new ContentsWebDeliveryBean(null, -1, linkBean.getLink());
|
|
|
+
|
|
|
+ model.setDeliveryPackaging(contentsWebDeliveryBean);
|
|
|
+ go(ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ break;
|
|
|
+ case LinkBean.TYPE_EVENT:
|
|
|
+ go(ScreenID.EVENT);
|
|
|
+ break;
|
|
|
+ case LinkBean.TYPE_MENU:
|
|
|
+ @ScreenID.ID int screenId = LinkInvoker.getScreenIdByApiId(linkBean.getLink());
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Main 에서 직접 프래그먼트를 전환하면 정상 작동이 되지 않으므로 액티비티에 담아서 프래그먼트를 표시한다.
|
|
|
+ */
|
|
|
+ UtilityActivityBean utilityActivityBean = new UtilityActivityBean();
|
|
|
+ switch (screenId) {
|
|
|
+ case ScreenID.MY_MAIN:
|
|
|
+ case ScreenID.MY_COIN_MAIN:
|
|
|
+ utilityActivityBean.setScreenId(screenId);
|
|
|
+ model.setDeliveryPackaging(utilityActivityBean);
|
|
|
+ go(ScreenID.UTILITY_ACTIVITY);
|
|
|
+ break;
|
|
|
+ case ScreenID.BUCKET_ACTIVITY:
|
|
|
+ if (model.getBucketCount() == 0) {
|
|
|
+ utilityActivityBean.setScreenId(ScreenID.BUCKET_BEST);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ utilityActivityBean.setScreenId(ScreenID.MY_BUCKET_LIST);
|
|
|
+ }
|
|
|
+ model.setDeliveryPackaging(utilityActivityBean);
|
|
|
+ go(ScreenID.UTILITY_ACTIVITY);
|
|
|
+ break;
|
|
|
+ case ScreenID.SETTING_MEMBER_INFO:
|
|
|
+ confirmPin(() -> {
|
|
|
+ utilityActivityBean.setScreenId(ScreenID.SETTING_MEMBER_INFO);
|
|
|
+ model.setDeliveryPackaging(utilityActivityBean);
|
|
|
+ go(ScreenID.UTILITY_ACTIVITY);
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case ScreenID.SETTING_CODE:
|
|
|
+ utilityActivityBean.setScreenId(ScreenID.SETTING_CODE);
|
|
|
+ model.setDeliveryPackaging(utilityActivityBean);
|
|
|
+ go(ScreenID.UTILITY_ACTIVITY);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ // 원래 액티비티로 표시되는 화면들.
|
|
|
+ go(screenId);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ isSuccess = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return isSuccess;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onResult(Event event) {
|
|
|
switch (event.getEventId()) {
|
|
|
case Event.RESULT:
|
|
|
- if (event.getInteger() == Event.COIN_LOADING) {
|
|
|
+ if (event.getInteger() == Event.LOADING_COIN) {
|
|
|
doubleCheckerCoin.checkSecond();
|
|
|
}
|
|
|
else if (event.getInteger() == Event.LOADED_BANNER) {
|
|
|
doubleCheckerBanner.checkSecond();
|
|
|
}
|
|
|
- else {
|
|
|
+ else if (event.getInteger() == Event.LOADED_GOODS) {
|
|
|
doubleChecker.checkSecond();
|
|
|
}
|
|
|
break;
|
|
|
case Event.ERROR:
|
|
|
- if (event.getInteger() == Event.COIN_LOADING) {
|
|
|
+ if (event.getInteger() == Event.LOADING_COIN) {
|
|
|
doubleCheckerCoin.checkSecond();
|
|
|
}
|
|
|
else {
|