|
|
@@ -24,6 +24,7 @@ import kr.co.zumo.app.lifeplus.tool.GuestContentsShowCounter;
|
|
|
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.IEventListener;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.WebCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.dialog.ConfirmDialog;
|
|
|
import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
|
|
|
@@ -112,10 +113,16 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
String listType = contentsItemBean.getListType();
|
|
|
view.draw(model.getContentsNo(), listType, model.getContentsDetailListBean());
|
|
|
|
|
|
+ // 로그 초기화
|
|
|
+ model.initLog();
|
|
|
+
|
|
|
if (model.getCurrentPageIndex() > 0) {
|
|
|
+ // 특정 페이지에서 시작
|
|
|
view.setScrollToPosition(model.getCurrentPageIndex());
|
|
|
}
|
|
|
else {
|
|
|
+ // 커버에서 시작
|
|
|
+ model.log(0); // 커버 로그 추가
|
|
|
showWaiter(); // 커버 이지미 로딩 완료 전까지 표시
|
|
|
view.setLiked(model.isItemLiked(), false);
|
|
|
view.setBookmarked(model.isItemBookmarked(), false);
|
|
|
@@ -206,7 +213,9 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
@Override
|
|
|
protected boolean onBackPressedInternal() {
|
|
|
if (false == view.dispatchBackPressed()) {
|
|
|
- back();
|
|
|
+ flushLogAndContinue(event -> {
|
|
|
+ back();
|
|
|
+ });
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
@@ -218,14 +227,17 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
showMoreInfoPopup(event.getIndex());
|
|
|
break;
|
|
|
case Event.CLICK:
|
|
|
- model.setSeriesSelectedIndex(event.getIndex());
|
|
|
-
|
|
|
- // Series 는 itemNo 가 Series 를 가리키고 seriesItemNo 가 contents 의 itemNo 이므로
|
|
|
- // 그대로 contentsView 에 전달하면 공유 등 문제가 있다.
|
|
|
- // 이를 clone()하여 새로운 bean 으로 전달한다.
|
|
|
- LifeplusContentsBean bean = model.getSelectedSeriesItemBean().clone();
|
|
|
- model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(bean).build());
|
|
|
- go(ScreenID.CONTENTS);
|
|
|
+ // 시리즈 클릭
|
|
|
+ flushLogAndContinue(e -> {
|
|
|
+ model.setSeriesSelectedIndex(event.getIndex());
|
|
|
+
|
|
|
+ // Series 는 itemNo 가 Series 를 가리키고 seriesItemNo 가 contents 의 itemNo 이므로
|
|
|
+ // 그대로 contentsView 에 전달하면 공유 등 문제가 있다.
|
|
|
+ // 이를 clone()하여 새로운 bean 으로 전달한다.
|
|
|
+ LifeplusContentsBean bean = model.getSelectedSeriesItemBean().clone();
|
|
|
+ model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(bean).build());
|
|
|
+ go(ScreenID.CONTENTS);
|
|
|
+ });
|
|
|
break;
|
|
|
case Event.LIKE:
|
|
|
// series like
|
|
|
@@ -257,38 +269,47 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
break;
|
|
|
case Event.CLICK_HTML:
|
|
|
// html 의 자바스크립트를 통해서 전달된 데이터
|
|
|
- HtmlBean htmlBean = event.fromJson(HtmlBean.class);
|
|
|
- if (htmlBean.getType() == HtmlBean.TYPE_APP) {
|
|
|
- shipToWeb(htmlBean.getUrl(), ScreenID.WEB_FROM_CONTENTS);
|
|
|
- go(ScreenID.WEB_FROM_CONTENTS);
|
|
|
- }
|
|
|
- else if (htmlBean.getType() == HtmlBean.TYPE_LINK) {
|
|
|
- onCommand(new WebCommand(htmlBean.getUrl()));
|
|
|
- }
|
|
|
+ flushLogAndContinue(e -> {
|
|
|
+ HtmlBean htmlBean = event.fromJson(HtmlBean.class);
|
|
|
+ if (htmlBean.getType() == HtmlBean.TYPE_APP) {
|
|
|
+ shipToWeb(htmlBean.getUrl(), ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ go(ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ }
|
|
|
+ else if (htmlBean.getType() == HtmlBean.TYPE_LINK) {
|
|
|
+ onCommand(new WebCommand(htmlBean.getUrl()));
|
|
|
+ }
|
|
|
+ });
|
|
|
break;
|
|
|
case Event.NEXT:
|
|
|
view.setSmoothScrollToPosition(1);
|
|
|
break;
|
|
|
case Event.RECT:
|
|
|
- Log.e("APP# ContentsPresenter | onEventInternal", "|" + event.getString());
|
|
|
- shipToWeb(event.getString(), ScreenID.WEB_FROM_CONTENTS);
|
|
|
- go(ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ // 클릭 영역
|
|
|
+ flushLogAndContinue(e -> {
|
|
|
+ Log.e("APP# ContentsPresenter | onEventInternal", "|" + event.getString());
|
|
|
+ shipToWeb(event.getString(), ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ go(ScreenID.WEB_FROM_CONTENTS);
|
|
|
+ });
|
|
|
break;
|
|
|
case Event.POINT:
|
|
|
- // todo tool tip 표시 필요
|
|
|
- Log.e("APP# ContentsPresenter | onEventInternal", "|" + event.getString());
|
|
|
- shipToWeb(event.getString(), ScreenID.WEB_PURCHASE);
|
|
|
- go(ScreenID.WEB_PURCHASE);
|
|
|
+ flushLogAndContinue(e -> {
|
|
|
+ // todo tool tip 표시 필요
|
|
|
+ Log.e("APP# ContentsPresenter | onEventInternal", "|" + event.getString());
|
|
|
+ shipToWeb(event.getString(), ScreenID.WEB_PURCHASE);
|
|
|
+ go(ScreenID.WEB_PURCHASE);
|
|
|
+ });
|
|
|
break;
|
|
|
case Event.OVER_VIEW:
|
|
|
model.setDeliveryPackaging(new ContentsOverviewDeliveryBean(model.getContentsBean(), model.getContentsDetailListBean()));
|
|
|
go(ScreenID.OVER_VIEW);
|
|
|
break;
|
|
|
case Event.WITH_SHOWN:
|
|
|
- // 함께 본 컨텐츠
|
|
|
- WithShownItemBean withShownItemBean = model.getContentsDetailListBean().getWithItemList().get(event.getIndex());
|
|
|
- model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(withShownItemBean).build());
|
|
|
- go(ScreenID.CONTENTS);
|
|
|
+ flushLogAndContinue(e -> {
|
|
|
+ // 함께 본 컨텐츠
|
|
|
+ WithShownItemBean withShownItemBean = model.getContentsDetailListBean().getWithItemList().get(event.getIndex());
|
|
|
+ model.setDeliveryPackaging(new ContentsDeliveryBean.Builder(withShownItemBean).build());
|
|
|
+ go(ScreenID.CONTENTS);
|
|
|
+ });
|
|
|
break;
|
|
|
case Event.COVER:
|
|
|
// 커버 로딩 완료
|
|
|
@@ -299,6 +320,10 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void flushLogAndContinue(IEventListener listener) {
|
|
|
+ model.flushLog(listener);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onScreenReady() {
|
|
|
|
|
|
@@ -397,6 +422,7 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
public void onChangedPageIndex(int currentIndex) {
|
|
|
model.setCurrentPageIndex(currentIndex);
|
|
|
|
|
|
+ model.log(currentIndex);
|
|
|
Log.w("APP# ContentsPresenter | onChangedPageIndex", "|" + " currentIndex: " + currentIndex);
|
|
|
|
|
|
/**
|
|
|
@@ -590,4 +616,11 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
|
|
|
})
|
|
|
.show();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onNavigationClickHome(NavigationBar navigationBar) {
|
|
|
+ flushLogAndContinue(event -> {
|
|
|
+ super.onNavigationClickHome(navigationBar);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|