瀏覽代碼

[공유][New] 이메일 share 클래스 추가

hyodong.min 6 年之前
父節點
當前提交
6171fa5fe5

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/tool/ShareClipBoard.java

@@ -62,7 +62,7 @@ public class ShareClipBoard extends Share<Context> {
     try {
       if (clipboardManager != null) {
         clipboardManager.setPrimaryClip(clipData);
-        listener.onSuccess("");
+        listener.onSuccess(text);
       }
     } catch (Exception e) {
       e.printStackTrace();

+ 61 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/tool/ShareEmail.java

@@ -0,0 +1,61 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.tool;
+
+import android.content.Context;
+
+import kr.co.zumo.app.lifeplus.bean.api.ContentsItemBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventDetailBean;
+
+/**
+ * ShareEmail
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 11. 9.]   [최초 작성]
+ * @since 2018. 11. 9.
+ */
+public class ShareEmail extends Share<Context> {
+  public ShareEmail(Context context) {
+    super(context);
+  }
+
+  @Override
+  public void shareEvent(EventDetailBean eventDetailBean, IShareListener listener) {
+    onDynamicLinkClick(eventDetailBean, getDeepLink(eventDetailBean, ShareKakaoTalk.LINK_TYPE_EVENT_DETAIL), new IShareListener() {
+      @Override
+      public void onSuccess(String result) {
+        listener.onSuccess(result);
+      }
+
+      @Override
+      public void onFailure(int errorCode, String result) {
+        listener.onFailure(errorCode, result);
+      }
+    });
+  }
+
+  @Override
+  public void shareContents(ContentsItemBean contentsBean, int pageIndex, IShareListener listener) {
+    listener.onSuccess(contentsBean.getContentsUrlWithParamForShare(pageIndex));
+  }
+
+  @Override
+  public void shareRecommendCode(String code, IShareListener listener) {
+    // nothing
+  }
+
+  @Override
+  public void shareUrl(ContentsItemBean contentsBean, String webUrl, int pageIndex, IShareListener listener) {
+    listener.onSuccess(webUrl);
+  }
+
+
+  @Override
+  protected void disposeInternal() {
+
+  }
+}

+ 18 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsBasePresenter.java

@@ -14,6 +14,7 @@ import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.tool.IShareListener;
 import kr.co.zumo.app.lifeplus.tool.Share;
 import kr.co.zumo.app.lifeplus.tool.ShareClipBoard;
+import kr.co.zumo.app.lifeplus.tool.ShareEmail;
 import kr.co.zumo.app.lifeplus.tool.ShareFacebook;
 import kr.co.zumo.app.lifeplus.tool.ShareKakaoTalk;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
@@ -279,11 +280,23 @@ public abstract class ContentsBasePresenter<M extends ContentsBaseModel, V exten
 
   protected void sendEmail() {
     loadShareCoin(Share.TYPE_EMAIL);
-    String subject;
-    subject = ResourceUtil.getString(R.string.share_title, model.getShareContents().getTitle());
-    String url = model.getShareContents().getContentsUrlWithParamForShare(model.getSharePageIndex());
-    String contents = ResourceUtil.getString(R.string.share_current_page_contents, subject, url);
-    onCommand(new EmailSendingCommand("", subject, contents));
+
+    share = new ShareEmail(view.getActivity());
+    share.shareContents(model.getShareContents(), model.getSharePageIndex(), new IShareListener() {
+        @Override
+        public void onSuccess(String result) {
+          String subject;
+          subject = ResourceUtil.getString(R.string.share_title, model.getShareContents().getTitle());
+          String url = result;
+          String contents = ResourceUtil.getString(R.string.share_current_page_contents, subject, url);
+          onCommand(new EmailSendingCommand("", subject, contents));
+        }
+
+      @Override
+      public void onFailure(int errorCode, String result) {
+        //
+      }
+    });
   }
 
   protected void showShareToast(String title, String detail, @Nullable int copyToastFlag) {

+ 3 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/entry/EventDetailEntryPresenter.java

@@ -13,6 +13,7 @@ import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.tool.IShareListener;
 import kr.co.zumo.app.lifeplus.tool.Share;
 import kr.co.zumo.app.lifeplus.tool.ShareClipBoard;
+import kr.co.zumo.app.lifeplus.tool.ShareEmail;
 import kr.co.zumo.app.lifeplus.tool.ShareFacebook;
 import kr.co.zumo.app.lifeplus.tool.ShareKakaoTalk;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
@@ -357,10 +358,9 @@ public class EventDetailEntryPresenter extends Presenter<EventDetailEntryModel,
 
   protected void sendEmail() {
 
-    // fixme 임시로 클립보드 이용
     // deep link 생성하는 시간동안 웨이터 표시
     showWaiter();
-    share = new ShareClipBoard(view.getActivity());
+    share = new ShareEmail(view.getActivity());
     share.shareEvent(model.getEventDetailBean(), new IShareListener() {
       @Override
       public void onSuccess(String result) {
@@ -370,9 +370,8 @@ public class EventDetailEntryPresenter extends Presenter<EventDetailEntryModel,
         subject = ResourceUtil.getString(R.string.share_title, model.getEventDetailBean().getTitle());
         String url = result;
         String contents = ResourceUtil.getString(R.string.share_event_contents, subject, url);
+        Log.d("APP# EventDetailEntryPresenter | onSuccess", "|" + contents);
         onCommand(new EmailSendingCommand("", subject, contents));
-
-        showShareToast("", ResourceUtil.getString(R.string.url_copy_message), 1);
       }
 
       @Override

+ 18 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/web/WebFromContentsPresenter.java

@@ -12,6 +12,7 @@ import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.tool.IShareListener;
 import kr.co.zumo.app.lifeplus.tool.Share;
 import kr.co.zumo.app.lifeplus.tool.ShareClipBoard;
+import kr.co.zumo.app.lifeplus.tool.ShareEmail;
 import kr.co.zumo.app.lifeplus.tool.ShareFacebook;
 import kr.co.zumo.app.lifeplus.tool.ShareKakaoTalk;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
@@ -233,11 +234,23 @@ public class WebFromContentsPresenter extends Presenter<WebFromContentsModel, IW
 
 
   protected void sendEmail() {
-    String subject;
-    subject = ResourceUtil.getString(R.string.lifeplus_app);
-    String url = model.getUrl();
-    String contents = ResourceUtil.getString(R.string.share_current_page_contents, subject, url);
-    onCommand(new EmailSendingCommand("", subject, contents));
+
+    share = new ShareEmail(view.getActivity());
+    share.shareUrl(model.getShareContents(), model.getUrl(), model.getSharePageIndex(), new IShareListener() {
+      @Override
+      public void onSuccess(String result) {
+        String subject;
+        subject = ResourceUtil.getString(R.string.lifeplus_app);
+        String url = result;
+        String contents = ResourceUtil.getString(R.string.share_current_page_contents, subject, url);
+        onCommand(new EmailSendingCommand("", subject, contents));
+      }
+
+      @Override
+      public void onFailure(int errorCode, String result) {
+        //
+      }
+    });
   }
 
   protected void showShareToast(String title, String detail, @Nullable int copyToastFlag) {