package com.tejia.lijin.app.util;
|
|
import android.app.Activity;
|
import android.app.Dialog;
|
import android.content.Context;
|
import android.content.Intent;
|
import android.net.Uri;
|
import android.os.Handler;
|
import android.util.Log;
|
import android.view.View;
|
import android.webkit.WebChromeClient;
|
import android.webkit.WebViewClient;
|
|
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
|
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
|
import com.alibaba.baichuan.android.trade.model.OpenType;
|
import com.alibaba.baichuan.trade.biz.AlibcConstants;
|
import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
|
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
|
import com.kepler.jd.Listener.OpenAppAction;
|
import com.kepler.jd.login.KeplerApiManager;
|
import com.kepler.jd.sdk.bean.KeplerAttachParameter;
|
import com.tejia.lijin.app.entity.TbPidInfo;
|
import com.tejia.lijin.app.entity.common.GoodsConvertLinkJumpLink;
|
import com.tejia.lijin.app.entity.user.UserLijinLevelInfoVO;
|
import com.tejia.lijin.app.ui.dialog.GoodsDetailJumpLoaingDialog;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
|
import com.tejia.lijin.app.util.baichuan.AlibcTradeUtil;
|
import com.tejia.lijin.app.util.downutil.StringUtils;
|
import com.tejia.lijin.app.util.goods.GoodsBuyUtil;
|
import com.tejia.lijin.app.util.ui.dialog.DialogUtil;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 去购买的跳转链接
|
*/
|
public class GoodsBuyJumpUtil {
|
|
|
public static void jumpTB(final Activity activity, final TbPidInfo tInfo, final String clickUrl, final String couponUrl, UserLijinLevelInfoVO userLevel, final GoodsBuyUtil.IBuyGoodsResultListener buyGoodsResultListener) {
|
|
if (userLevel != null && userLevel.getUpgradeRights() != null) {
|
showADLoading(activity, Constant.GOODS_TYPE_TB, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
|
@Override
|
public void onClose(boolean auto) {
|
jumpTB(activity, tInfo, clickUrl, couponUrl, buyGoodsResultListener);
|
}
|
});
|
} else {
|
final Dialog dialog = getLoadingDialog(activity, Constant.GOODS_TYPE_TB);
|
jumpTB(activity, tInfo, clickUrl, couponUrl, new GoodsBuyUtil.IBuyGoodsResultListener() {
|
@Override
|
public void onConvertLinkStart() {
|
|
}
|
|
@Override
|
public void onConvertLinkSuccess() {
|
|
}
|
|
@Override
|
public void onConvertLinkFail(String msg) {
|
|
}
|
|
@Override
|
public void onConvertLinkComplete() {
|
|
}
|
|
@Override
|
public void onJumpThirdAppStart() {
|
DialogUtil.show(dialog);
|
new Handler().postDelayed(new Runnable() {
|
public void run() {
|
DialogUtil.dismiss(dialog);
|
}
|
|
}, 3 * 1000);
|
|
}
|
|
@Override
|
public void onJumpThirdAppSuccess() {
|
DialogUtil.dismiss(dialog);
|
}
|
|
@Override
|
public void onJumpThirdAppFail() {
|
DialogUtil.dismiss(dialog);
|
}
|
});
|
}
|
|
}
|
|
private static void jumpTB(Activity activity, TbPidInfo tInfo, String clickUrl, String couponUrl, final GoodsBuyUtil.IBuyGoodsResultListener buyGoodsResultListener) {
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Auto);
|
alibcShowParams.setBackUrl("alisdk://");
|
alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER);
|
AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
if (tInfo != null) {
|
alibcTaokeParams = new AlibcTaokeParams("", "", "");
|
alibcTaokeParams.setPid(tInfo.getPid());
|
alibcTaokeParams.setAdzoneid(tInfo.getAdZoneId());
|
alibcTaokeParams.pid = tInfo.getPid();
|
alibcTaokeParams.adzoneid = tInfo.getAdZoneId();
|
alibcTaokeParams.extraParams = new HashMap<>();
|
alibcTaokeParams.extraParams.put("taokeAppkey", tInfo.getAppKey());
|
}
|
Map<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
if (!com.wpc.library.util.common.StringUtils.isEmpty(clickUrl) || !com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) {
|
String url = (!com.wpc.library.util.common.StringUtils.isEmpty(couponUrl)) ? couponUrl : clickUrl;
|
AlibcTradeSDK.setTaokeParams(alibcTaokeParams);
|
if (buyGoodsResultListener != null)
|
buyGoodsResultListener.onJumpThirdAppStart();
|
AlibcTradeUtil.openByUrl(activity,
|
url, null, new WebViewClient(), new WebChromeClient(),
|
alibcShowParams, alibcTaokeParams, null);
|
}
|
|
}
|
|
|
public static void jumpPDD(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
|
if (userLevel != null && userLevel.getUpgradeRights() != null) {
|
showADLoading(context, Constant.GOODS_TYPE_PDD, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
|
@Override
|
public void onClose(boolean auto) {
|
jumpPDD(context, link);
|
}
|
});
|
} else {
|
final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_PDD);
|
DialogUtil.show(dialog);
|
jumpPDD(context, link);
|
new Handler().postDelayed(new Runnable() {
|
public void run() {
|
DialogUtil.dismiss(dialog);
|
}
|
|
}, 3 * 1000);
|
}
|
|
}
|
|
private static void jumpPDD(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
//先检查是否安装了pddAPP
|
if (ApkUtil.checkAPP(context, "com.xunmeng.pinduoduo") && !StringUtils.isNullOrEmpty(link.getNativeJumpLink())) {
|
String goodsUrl = link.getNativeJumpLink();
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(goodsUrl));
|
context.startActivity(intent);
|
return;
|
}
|
//然后检查是否安装了微信
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
context.startActivity(intent);
|
}
|
}
|
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
context.startActivity(intent);
|
}
|
|
|
public static void jumpJD(final View view, final Dialog dialog, GoodsConvertLinkJumpLink link) {
|
if (view == null)
|
return;
|
if (link == null)
|
return;
|
|
Context context = view.getContext();
|
|
OpenAppAction mOpenAppAction = new OpenAppAction() {
|
@Override
|
public void onStatus(final int status, final String url) {
|
view.post(new Runnable() {
|
@Override
|
public void run() {
|
if (status == OpenAppAction.OpenAppAction_result_APP) {
|
//呼京东成功
|
Log.e("mResult", "呼京东成功");
|
if (dialog != null)
|
dialog.dismiss();
|
} else if (status == OpenAppAction.OpenAppAction_start) {
|
//开始状态未必一定执行,
|
Log.e("mResult", "开始呼起京东");
|
} else {
|
//唤起京东失败
|
Log.e("mResult", "唤起京东失败" + status);
|
Intent intent = new Intent(view.getContext(), ShareBrowserActivity.class);
|
intent.putExtra("url", url);
|
intent.putExtra("interceptGoodsDetail", false);
|
view.getContext().startActivity(intent);
|
if (dialog != null)
|
dialog.dismiss();
|
}
|
}
|
});
|
}
|
};
|
|
|
try {
|
|
if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.jingdong.app.mall")) {
|
KeplerApiManager.getWebViewService().openAppWebViewPage(context, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
}
|
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
} finally {
|
if (dialog != null && dialog.isShowing())
|
dialog.dismiss();
|
}
|
}
|
|
|
public static void jumpJD(final Activity activity, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel, final IJumpResult jumpResult) {
|
|
if (userLevel != null && userLevel.getUpgradeRights() != null) {
|
showADLoading(activity, Constant.GOODS_TYPE_JD, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
|
@Override
|
public void onClose(boolean auto) {
|
jumpJD(activity, link, null);
|
}
|
});
|
} else {
|
final Dialog dialog = getLoadingDialog(activity, Constant.GOODS_TYPE_JD);
|
DialogUtil.show(dialog);
|
jumpJD(activity, link, new IJumpResult() {
|
@Override
|
public void onSuccess() {
|
}
|
|
@Override
|
public void onFail(String msg) {
|
}
|
});
|
new Handler().postDelayed(new Runnable() {
|
public void run() {
|
DialogUtil.dismiss(dialog);
|
}
|
|
}, 3 * 1000);
|
}
|
|
}
|
|
|
private static void jumpJD(final Activity activity, GoodsConvertLinkJumpLink link, final IJumpResult jumpResult) {
|
if (link == null)
|
return;
|
|
if (activity == null) {
|
return;
|
}
|
|
OpenAppAction mOpenAppAction = new OpenAppAction() {
|
@Override
|
public void onStatus(final int status, final String url) {
|
if (activity != null)
|
activity.runOnUiThread(new Runnable() {
|
@Override
|
public void run() {
|
if (status == OpenAppAction.OpenAppAction_result_APP) {
|
//呼京东成功
|
Log.e("mResult", "呼京东成功");
|
if (jumpResult != null)
|
jumpResult.onSuccess();
|
} else if (status == OpenAppAction.OpenAppAction_start) {
|
//开始状态未必一定执行,
|
Log.e("mResult", "开始呼起京东");
|
} else {
|
//唤起京东失败
|
Log.e("mResult", "唤起京东失败" + status);
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", url);
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
if (jumpResult != null)
|
jumpResult.onFail("唤起京东失败");
|
}
|
}
|
});
|
}
|
};
|
|
|
try {
|
|
if (link.is_native() && !StringUtils.isNullOrEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(activity, "com.jingdong.app.mall")) {
|
KeplerApiManager.getWebViewService().openAppWebViewPage(activity, link.getNativeJumpLink(), new KeplerAttachParameter(), mOpenAppAction);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(activity, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
return;
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
}
|
}
|
|
|
Intent intent = new Intent(activity, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
activity.startActivity(intent);
|
} finally {
|
if (jumpResult != null)
|
jumpResult.onSuccess();
|
}
|
|
}
|
|
|
public static void jumpVIPShop(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
|
if (userLevel != null && userLevel.getUpgradeRights() != null) {
|
showADLoading(context, Constant.GOODS_TYPE_VIP, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
|
@Override
|
public void onClose(boolean auto) {
|
jumpVIPShop(context, link);
|
}
|
});
|
} else {
|
final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_VIP);
|
DialogUtil.show(dialog);
|
jumpVIPShop(context, link);
|
new Handler().postDelayed(new Runnable() {
|
public void run() {
|
DialogUtil.dismiss(dialog);
|
}
|
}, 3 * 1000);
|
}
|
}
|
|
|
private static void jumpVIPShop(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
|
if (link.is_native() && !com.wpc.library.util.common.StringUtils.isEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.achievo.vipshop")) {
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link.getNativeJumpLink()));
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
context.startActivity(intent);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
return;
|
}
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
|
|
public static void jumpSuning(final Activity context, final GoodsConvertLinkJumpLink link, UserLijinLevelInfoVO userLevel) {
|
|
if (userLevel != null && userLevel.getUpgradeRights() != null) {
|
showADLoading(context, Constant.GOODS_TYPE_SUNING, userLevel, new GoodsDetailJumpLoaingDialog.Builder.IDialogClose() {
|
@Override
|
public void onClose(boolean auto) {
|
jumpSuning(context, link);
|
}
|
});
|
} else {
|
final Dialog dialog = getLoadingDialog(context, Constant.GOODS_TYPE_SUNING);
|
DialogUtil.show(dialog);
|
jumpSuning(context, link);
|
new Handler().postDelayed(new Runnable() {
|
public void run() {
|
DialogUtil.dismiss(dialog);
|
}
|
}, 3 * 1000);
|
}
|
|
|
}
|
|
|
private static void jumpSuning(Context context, GoodsConvertLinkJumpLink link) {
|
if (context == null)
|
return;
|
if (link == null)
|
return;
|
|
|
if (link.is_native() && !com.wpc.library.util.common.StringUtils.isEmpty(link.getNativeJumpLink()) && ApkUtil.checkAPP(context, "com.suning.mobile.ebuy")) {
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link.getNativeJumpLink()));
|
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
context.startActivity(intent);
|
return;
|
}
|
|
if (link.getWxxcxJumpInfo() != null) {
|
try {
|
WXUtil.jumpWXXCX(context, link.getWxxcxJumpInfo().getUserName(), link.getWxxcxJumpInfo().getPath());
|
} catch (Exception e) {
|
//最后跳转网页
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
return;
|
}
|
|
Intent intent = new Intent(context, ShareBrowserActivity.class);
|
intent.putExtra("url", link.getJumpLink());
|
intent.putExtra("interceptGoodsDetail", false);
|
context.startActivity(intent);
|
}
|
|
|
private static Dialog showADLoading(Activity activity, int platform, UserLijinLevelInfoVO userLevel, GoodsDetailJumpLoaingDialog.Builder.IDialogClose dialogCloseListener) {
|
|
GoodsDetailJumpLoaingDialog.Builder builder = new GoodsDetailJumpLoaingDialog.Builder(activity).setPlatform(platform).setOnCloseListener(dialogCloseListener);
|
|
if (userLevel != null) {
|
if (userLevel.getLoadingAdInfo() != null) {
|
builder = builder.setHasAd(true).setAdInfo(userLevel.getLoadingAdInfo().getType(), userLevel.getLoadingAdInfo().getPid());
|
}
|
|
if (userLevel.getUpgradeRights() != null) {
|
builder = builder.setNotify(userLevel.getUpgradeRights().getDesc(), userLevel.getUpgradeRights().getLink());
|
}
|
}
|
Dialog dialog = builder.create();
|
dialog.show();
|
return dialog;
|
}
|
|
private static Dialog getLoadingDialog(Activity activity, int platform) {
|
GoodsDetailJumpLoaingDialog.Builder builder = new GoodsDetailJumpLoaingDialog.Builder(activity).setPlatform(platform);
|
Dialog dialog = builder.create();
|
return dialog;
|
}
|
|
|
public static interface IJumpResult {
|
public void onSuccess();
|
|
public void onFail(String msg);
|
|
}
|
|
}
|