Просмотр исходного кода

[컨텐츠][New] 카톡 앱으로 보기 추가

hyodong.min 7 лет назад
Родитель
Сommit
ef0a089742

+ 14 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -11,11 +11,14 @@ import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 
 import com.bumptech.glide.Glide;
+import com.google.gson.Gson;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.application.App;
+import kr.co.zumo.app.lifeplus.bean.ContentsBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.helper.ActionButtonHelper;
+import kr.co.zumo.app.lifeplus.helper.DeliveryHelper;
 import kr.co.zumo.app.lifeplus.helper.FacebookHelper;
 import kr.co.zumo.app.lifeplus.helper.Helper;
 import kr.co.zumo.app.lifeplus.helper.ScreenChangerHelper;
@@ -23,6 +26,7 @@ import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.supervisor.DialogHelper;
 import kr.co.zumo.app.lifeplus.supervisor.FragmentSkipBackChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChanger;
+import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenIDMapper;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.screen.factory.BasicFragmentFactory;
@@ -82,6 +86,16 @@ public class MainActivity extends AppCompatActivity {
     // ScreenStarter 에서 설정된 프래그먼트를 선택한다.
     int fragmentFlag = getIntent().getIntExtra(ScreenStarter.FLAG_FRAGMENT, ScreenStarter.START_FROM_MAIN);
     int screenId = new ScreenStarterIDMapper().getScreenId(fragmentFlag);
+    String contentsString = getIntent().getStringExtra(ScreenStarter.SHARE_PARAMETER);
+    if(null != contentsString) {
+      ContentsBean contentsBean = new Gson().fromJson(contentsString, ContentsBean.class);
+      if(null != contentsBean) {
+        DeliveryHelper deliveryHelper = getHelper(DeliveryHelper.class);
+        deliveryHelper.setPackaging(contentsBean);
+
+        screenId = ScreenID.CONTENTS;
+      }
+    }
     screenChanger.changeTo(screenId);
 
   }

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ScreenStarter.java

@@ -36,6 +36,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.ICustomDialogListener;
 public class ScreenStarter {
 
   public static final String FLAG_FRAGMENT = "flagFragment";
+  public static final String SHARE_PARAMETER = "shareParameter";
 
   public static final int START_FROM_MAIN = 0;
   public static final int START_FROM_NETWORK_ERROR = 1;

Разница между файлами не показана из-за своего большого размера
+ 22 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/activity/SplashActivity.java


+ 12 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/tool/ShareKakaoTalk.java

@@ -6,6 +6,7 @@ package kr.co.zumo.app.lifeplus.tool;
 import android.content.Context;
 import android.util.Log;
 
+import com.google.gson.Gson;
 import com.kakao.kakaolink.v2.KakaoLinkResponse;
 import com.kakao.kakaolink.v2.KakaoLinkService;
 import com.kakao.message.template.ButtonObject;
@@ -19,6 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.bean.ContentsBean;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 
 /**
@@ -34,6 +36,7 @@ import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 public class ShareKakaoTalk extends Share<Context> {
 
   public static final String RECOMMEND_KEY = "recommendKey";
+  public static final String CONTENTS_KEY = "contentsKey";
   public static final int CLIENT_ERROR_CODE = -777;
 
   public ShareKakaoTalk(Context context) {
@@ -42,13 +45,18 @@ public class ShareKakaoTalk extends Share<Context> {
 
   @Override
   public void shareContents(String contentsUrl, IShareListener listener) {
-    String url = contentsUrl;
+    String jsonString = contentsUrl;
+    // contentsBean 의 모든 데이터를 가져온다.
+    // contentsUrl json 스트링으로 들어있다.
+    ContentsBean contentsBean = new Gson().fromJson(jsonString, ContentsBean.class);
+    String url = contentsBean.getContentUrl();
+
     FeedTemplate params = FeedTemplate
       .newBuilder(ContentObject.newBuilder(ResourceUtil.getString(R.string.life_plus),
         ResourceUtil.getString(R.string.lifeplus_share_image_url),
         LinkObject.newBuilder().setWebUrl(url)
           .setMobileWebUrl(url).build())
-        .setDescrption(contentsUrl)
+        .setDescrption(url)
         .build())
       //.setSocial(SocialObject.newBuilder().setLikeCount(10).setCommentCount(20)
       //.setSharedCount(30).setViewCount(40).build())
@@ -59,8 +67,8 @@ public class ShareKakaoTalk extends Share<Context> {
       .addButton(new ButtonObject(ResourceUtil.getString(R.string.view_in_app), LinkObject.newBuilder()
         .setWebUrl(url)
         .setMobileWebUrl(url)
-//        .setAndroidExecutionParams(new StringBuilder(RECOMMEND_KEY).append("=").append(code).toString()) //kakao95448ff031e92087b5dbc44d56cff7bb://kakaolink?key=test
-//        .setIosExecutionParams(new StringBuilder(RECOMMEND_KEY).append("=").append(code).toString())
+        .setAndroidExecutionParams(new StringBuilder(CONTENTS_KEY).append("=").append(jsonString).toString()) //kakao95448ff031e92087b5dbc44d56cff7bb://kakaolink?key=test
+        .setIosExecutionParams(new StringBuilder(CONTENTS_KEY).append("=").append(jsonString).toString())
         .build()))
       .build();