基线备份:thirdparty 变体完成 + Android 4.2 兼容改造前

包含内容:
- thirdparty flavor 独立 applicationId + Intent 入口(ThirdPartyEntryActivity)
- 58 后端接口适配(单 /api 路径、code 0/200、camelCase 字段、UNBOUND 轮询)
- MAC 硬件锚定校验(防一凭证多设备共用)
- EPG mac 覆盖 SDK init(sMacOverride)+ ChannelManger 初始化对齐
- 提示文案优化(设备未注册/权益未绑定)
This commit is contained in:
zhaogd
2026-08-25 11:16:40 +08:00
commit d11464d466
1287 changed files with 154945 additions and 0 deletions

View File

@@ -0,0 +1,163 @@
package com.pukka.jiecheng.utils;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.google.gson.Gson;
import com.migu.bean.GetLayoutBean;
import com.pukka.jiecheng.filter.FilterActivity;
import com.pukka.jiecheng.index.IndexAmberManager;
import com.pukka.jiecheng.index.IndexConstant;
import com.pukka.jiecheng.video.VideoDetailActivity;
import com.pukka.libcore.base.BaseUrl;
import com.pukka.libcore.base.BuildConfig;
import com.pukka.libcore.utils.AppUtils;
import com.pukka.libcore.utils.JsonUtils;
import com.pukka.libcore.utils.LogUtils;
import com.pukka.libcore.utils.StringUtils;
import org.json.JSONObject;
import java.util.HashMap;
/**
* Author: wxf
* Date: 2023/3/15 16:19
* Description:首页点击处理
*/
public class ItemOnClickUtils {
// 首页推荐位点击处理
@SuppressLint("WrongConstant")
public static void indexItemOnClick(View view, GetLayoutBean.DataBean floor, int position, Context mContext) {
GetLayoutBean.DataBean.ExtraDataBean mItemData = floor.getExtraData().get(position);
if (mItemData == null) {
return;
}
IndexAmberManager.recommendClick(mItemData,(position+1)+"");
String targetType = mItemData.getType();
LogUtils.d("getType-----" + targetType);
switch (targetType) {
// 点播详情页
case "1":
String showType = mItemData.getShowtype();
if(StringUtils.isEmpty(showType) || showType.equals("1")){
LogUtils.d("视频推荐位==");
String reserved = mItemData.getReserved1();
if(!StringUtils.isEmpty(reserved)) {
try {
JSONObject jsonObject = new JSONObject(reserved);
String code = jsonObject.getString("code");
LogUtils.d("vod reserved getContentcode=" + code);
if (!TextUtils.isEmpty(code)) {
MgRoute.go2DetailActivity(mContext, code);
} else {
Toast.makeText(mContext, "未找到内容id", Toast.LENGTH_LONG).show();
}
}catch (Exception exception){
exception.printStackTrace();
}
} else {
LogUtils.d("vod getContentcode=" + mItemData.getContentcode());
if (!TextUtils.isEmpty(mItemData.getContentcode())) {
MgRoute.go2DetailActivity(mContext, mItemData.getContentcode());
} else {
Toast.makeText(mContext, "未找到内容id", Toast.LENGTH_LONG).show();
}
}
} else {
LogUtils.d("普通推荐位 vod getContentcode=" + mItemData.getContentcode());
if (!TextUtils.isEmpty(mItemData.getContentcode())) {
MgRoute.go2DetailActivity(mContext, mItemData.getContentcode());
} else {
Toast.makeText(mContext, "未找到内容id", Toast.LENGTH_LONG).show();
}
}
break;
// 点播播放页
case "2":
if(!StringUtils.isEmpty(mItemData.getReserved1())) {
try {
JSONObject jsonObject = new JSONObject(mItemData.getReserved1());
String code1 = jsonObject.getString("code");
LogUtils.d("vod reserved getContentcode=" + code1);
if (!TextUtils.isEmpty(code1)) {
MgRoute.go2DetailActivity(mContext, code1);
} else {
Toast.makeText(mContext, "未找到内容id", Toast.LENGTH_LONG).show();
}
}catch (Exception exception){
exception.printStackTrace();
}
}else {
LogUtils.d("vod getContentcode=" + mItemData.getContentcode());
if (!TextUtils.isEmpty(mItemData.getContentcode())) {
MgRoute.go2FullPlayerActivity(mContext, mItemData.getContentcode());
} else {
Toast.makeText(mContext, "未找到内容id", Toast.LENGTH_LONG).show();
}
}
break;
// 列表页
case "3":
String listParam = mItemData.getPlayurl();
if (!TextUtils.isEmpty(listParam)) {
String[] split = listParam.split("&");
String listId="";
String parentId="";
if (split.length>=2){
// 子栏目id
listId = split[0];
// 父栏目id
parentId = split[1];
}else if (split.length == 1){
parentId = listParam;
}
MgRoute.go2ListActivity(mContext,parentId,listId);
} else {
Toast.makeText(mContext, "未找到栏目id", Toast.LENGTH_LONG).show();
}
break;
// 外链
case "5":
String url =mItemData.getPlayurl();
if(!StringUtils.isEmpty(url)) {
MgRoute.go2SimpleWebActivity(mContext, url);
}else{
Toast.makeText(mContext, "没有配置外链地址", Toast.LENGTH_LONG).show();
}
break;
// 跳转APK
case "6":
String playurl = mItemData.getPlayurl();
if(!StringUtils.isEmpty(playurl)){
LogUtils.d("playUrl="+playurl);
String[] strings = playurl.split("&&");
if(strings.length>1){
String packageName = strings[0];
String className = strings[1];
LogUtils.d("packageName="+packageName+" className="+className);
AppUtils.startApkByPackageAndClass(mContext,packageName,className);
}else{
AppUtils.startApkByPackageAndClass(mContext,playurl,"");
}
}else{
Toast.makeText(mContext, "配置包名和类名为空", Toast.LENGTH_LONG).show();
}
break;
// 无动作
case "7":
break;
case "8":
FilterActivity.start(mContext);
break;
default:
LogUtils.d("do nothing");
break;
}
}
}