基线备份: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,387 @@
package com.migu.bean;
import java.util.List;
/**
* create by xujiangyun at 2025/1/17
*/
public class ShortVideoBean {
/**
* resultCode : 0
* message : success
* data : [{"programId":595260,"programCode":"10019434336","contentCode":"10019434336","name":"向往的生活7 老友记","duration":null,"thumbImg":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230515/20024396279_ai_c_fabf15f77c626246665971ddedccba86_8_H169_1080_cdp.jpg","image":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230515/20024396316_ai_c_20230425092655690_85_V34_HSJ1080V_200.jpg","isFree":1,"longShortVideo":0,"formal":0,"parentContentId":null,"parentContentCode":null,"parentContentName":null,"parentContentType":null,"contentType":3,"episode":1,"mgjsCode":null,"gamesessionCode":"","cornerMarkType":null,"columnName":"","targetMgjsCode":null,"playUrl":"http://gslbserv.itv.cmvideo.cn:80/000000000001/20045622406/1077436675_5275576372_595.m3u8?channel-id=ottmiguhls&Contentid=20045622406","mediaSpec":null,"mediaResolution":"3","thumbs":null},{"programId":595262,"programCode":"10019331719","contentCode":"10019331719","name":"向往的生活7 加长版","duration":null,"thumbImg":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230516/20024309417_ai_c_e9f355d2c3eb7c730c0ffb751b6eae59_66_H169_1080_cdp.jpg","image":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230516/20024309409_ai_c_a2efd4da97ebff1a3808129987724429_60_V34_HSJ1080V_200.jpg","isFree":1,"longShortVideo":0,"formal":0,"parentContentId":null,"parentContentCode":null,"parentContentName":null,"parentContentType":null,"contentType":3,"episode":1,"mgjsCode":null,"gamesessionCode":"","cornerMarkType":null,"columnName":"","targetMgjsCode":null,"playUrl":"http://gslbserv.itv.cmvideo.cn:80/000000000001/20045622408/1077436675_5275576377_111303.m3u8?channel-id=ottmiguhls&Contentid=20045622408","mediaSpec":null,"mediaResolution":"3","thumbs":null},{"programId":839942,"programCode":"20045425965","contentCode":"20045425965","name":"萨巴伦卡首次横扫斯瓦泰克 晋级辛辛那提站决赛","duration":"5","thumbImg":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20240820/20045451203_492639_91_migujisu_H169_178_100_cdp.jpg","image":"http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20240820/20045451199_963317_33_migujisu_V34_173_236_cdp.jpg","isFree":0,"longShortVideo":0,"formal":0,"parentContentId":null,"parentContentCode":null,"parentContentName":null,"parentContentType":null,"contentType":1,"episode":0,"mgjsCode":"1769988736","gamesessionCode":"130000177462","cornerMarkType":null,"columnName":"","targetMgjsCode":null,"playUrl":"http://gslbserv.itv.cmvideo.cn:80/000000000001/20045425970/1076884756_5273669086_591.m3u8?channel-id=ottmiguhls&Contentid=20045425970","mediaSpec":"591","mediaResolution":"2","thumbs":4}]
* pageIndex : 1
* pageSize : 3
* pageTotal : 12
* sizeTotal : 35
* timestamp : 1736770584939
* nowTime : 2025-01-13 20:16:24
*/
private String resultCode;
private String message;
private int pageIndex;
private int pageSize;
private int pageTotal;
private int sizeTotal;
private long timestamp;
private String nowTime;
private List<DataBean> data;
public String getResultCode() {
return resultCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageTotal() {
return pageTotal;
}
public void setPageTotal(int pageTotal) {
this.pageTotal = pageTotal;
}
public int getSizeTotal() {
return sizeTotal;
}
public void setSizeTotal(int sizeTotal) {
this.sizeTotal = sizeTotal;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public String getNowTime() {
return nowTime;
}
public void setNowTime(String nowTime) {
this.nowTime = nowTime;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* programId : 595260
* programCode : 10019434336
* contentCode : 10019434336
* name : 向往的生活7 老友记
* duration : null
* thumbImg : http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230515/20024396279_ai_c_fabf15f77c626246665971ddedccba86_8_H169_1080_cdp.jpg
* image : http://zqyypic.itv.cmvideo.cn:8080/zqyy//vstore/tongyiPic1/20230515/20024396316_ai_c_20230425092655690_85_V34_HSJ1080V_200.jpg
* isFree : 1
* longShortVideo : 0
* formal : 0
* parentContentId : null
* parentContentCode : null
* parentContentName : null
* parentContentType : null
* contentType : 3
* episode : 1
* mgjsCode : null
* gamesessionCode :
* cornerMarkType : null
* columnName :
* targetMgjsCode : null
* playUrl : http://gslbserv.itv.cmvideo.cn:80/000000000001/20045622406/1077436675_5275576372_595.m3u8?channel-id=ottmiguhls&Contentid=20045622406
* mediaSpec : null
* mediaResolution : 3
* thumbs : null
*/
private int programId;
private String programCode;
private String contentCode;
private String name;
private Object duration;
private String thumbImg;
private String image;
private int isFree;
private int longShortVideo;
private int formal;
private String parentContentId;
private Object parentContentCode;
private Object parentContentName;
private Object parentContentType;
private int contentType;
private int episode;
private Object mgjsCode;
private String gamesessionCode;
private String gamesessionId;
private Object cornerMarkType;
private String columnName;
private Object targetMgjsCode;
private String playUrl;
private Object mediaSpec;
private String mediaResolution;
private int thumbs;
private boolean isSelected = false;
private boolean isPlaying = false;
public String getGamesessionId() {
return gamesessionId;
}
public void setGamesessionId(String gamesessionId) {
this.gamesessionId = gamesessionId;
}
public boolean isPlaying() {
return isPlaying;
}
public void setPlaying(boolean playing) {
isPlaying = playing;
}
public boolean isSelected() {
return isSelected;
}
public void setSelected(boolean selected) {
isSelected = selected;
}
public int getProgramId() {
return programId;
}
public void setProgramId(int programId) {
this.programId = programId;
}
public String getProgramCode() {
return programCode;
}
public void setProgramCode(String programCode) {
this.programCode = programCode;
}
public String getContentCode() {
return contentCode;
}
public void setContentCode(String contentCode) {
this.contentCode = contentCode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getDuration() {
return duration;
}
public void setDuration(Object duration) {
this.duration = duration;
}
public String getThumbImg() {
return thumbImg;
}
public void setThumbImg(String thumbImg) {
this.thumbImg = thumbImg;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public int getIsFree() {
return isFree;
}
public void setIsFree(int isFree) {
this.isFree = isFree;
}
public int getLongShortVideo() {
return longShortVideo;
}
public void setLongShortVideo(int longShortVideo) {
this.longShortVideo = longShortVideo;
}
public int getFormal() {
return formal;
}
public void setFormal(int formal) {
this.formal = formal;
}
public String getParentContentId() {
return parentContentId;
}
public void setParentContentId(String parentContentId) {
this.parentContentId = parentContentId;
}
public Object getParentContentCode() {
return parentContentCode;
}
public void setParentContentCode(Object parentContentCode) {
this.parentContentCode = parentContentCode;
}
public Object getParentContentName() {
return parentContentName;
}
public void setParentContentName(Object parentContentName) {
this.parentContentName = parentContentName;
}
public Object getParentContentType() {
return parentContentType;
}
public void setParentContentType(Object parentContentType) {
this.parentContentType = parentContentType;
}
public int getContentType() {
return contentType;
}
public void setContentType(int contentType) {
this.contentType = contentType;
}
public int getEpisode() {
return episode;
}
public void setEpisode(int episode) {
this.episode = episode;
}
public Object getMgjsCode() {
return mgjsCode;
}
public void setMgjsCode(Object mgjsCode) {
this.mgjsCode = mgjsCode;
}
public String getGamesessionCode() {
return gamesessionCode;
}
public void setGamesessionCode(String gamesessionCode) {
this.gamesessionCode = gamesessionCode;
}
public Object getCornerMarkType() {
return cornerMarkType;
}
public void setCornerMarkType(Object cornerMarkType) {
this.cornerMarkType = cornerMarkType;
}
public String getColumnName() {
return columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public Object getTargetMgjsCode() {
return targetMgjsCode;
}
public void setTargetMgjsCode(Object targetMgjsCode) {
this.targetMgjsCode = targetMgjsCode;
}
public String getPlayUrl() {
return playUrl;
}
public void setPlayUrl(String playUrl) {
this.playUrl = playUrl;
}
public Object getMediaSpec() {
return mediaSpec;
}
public void setMediaSpec(Object mediaSpec) {
this.mediaSpec = mediaSpec;
}
public String getMediaResolution() {
return mediaResolution;
}
public void setMediaResolution(String mediaResolution) {
this.mediaResolution = mediaResolution;
}
public int getThumbs() {
return thumbs;
}
public void setThumbs(int thumbs) {
this.thumbs = thumbs;
}
}
}