package com.letv.watchball.parser;
import org.json.JSONObject;
import android.text.TextUtils;
import com.letv.watchball.bean.AlbumNew;
/**
* 专辑对象解析器
* */
public class AlbumNewParse extends LetvMobileParser<AlbumNew> {
public interface FROM {
/**
* 杜比列表
* */
int DOLBY_CHANNEL_LIST_ALBUMS = 0x110;
int DOLBY_CHANNEL_LIST_VIDEOS = 0x111;
/**
* 普通专辑,视频列表
* */
int COMMON_CHANNEL_LIST_ALBUMS = 0x102;
int COMMON_CHANNEL_LIST_VIDEOS = 0x103;
int COMMON_CHANNEL_LIST = 0x104;
/**
* 普通详情
* */
int COMMON_DETAILS = 0x105;
}
public AlbumNewParse(int from) {
super(from);
}
public AlbumNewParse() {
super(AlbumNewParse.FROM.COMMON_DETAILS);
}
@Override
public AlbumNew parse(JSONObject data) throws Exception {
try {
if (data != null) {
AlbumNew album = new AlbumNew();
int from = getFrom();
switch (from) {
case AlbumNewParse.FROM.DOLBY_CHANNEL_LIST_ALBUMS:
case AlbumNewParse.FROM.DOLBY_CHANNEL_LIST_VIDEOS:
album.setIsDolby(1);
case AlbumNewParse.FROM.COMMON_CHANNEL_LIST_ALBUMS:
case AlbumNewParse.FROM.COMMON_CHANNEL_LIST_VIDEOS:
album.setType(AlbumNew.Type.VRS_MANG);
if (from == AlbumNewParse.FROM.DOLBY_CHANNEL_LIST_VIDEOS
|| from == AlbumNewParse.FROM.COMMON_CHANNEL_LIST_VIDEOS) {
album.setType(AlbumNew.Type.VRS_ONE);
}
album.setId(getInt(data, "aid"));
album.setVid(getInt(data, "vid"));
album.setNameCn(getString(data, "name"));
album.setSubTitle(getString(data, "subname"));
album.setIcon_200_150(getString(
getJSONObject(data, "images"), "200*150"));
album.setIcon_400_300(getString(
getJSONObject(data, "images"), "400*300"));
album.setPic(album.getIcon_400_300());
album.setCid(getInt(data, "category"));
album.setReleaseDate(getString(data, "year"));
album.setEpisode(getInt(data, "episode"));
int count = getInt(data, "nowEpisodes");
if (count <= 0) {
count = 0;
}
album.setNowEpisodes(count);
album.setIsEnd(getInt(data, "isEnd"));
album.setJump(getInt(data, "jump"));
album.setPay(getInt(data, "pay"));
if (has(data, "id")) {
int aid = getInt(data, "id");
if (aid <= 0) {
album.setAid(album.getId());
} else {
album.setAid(aid);
}
} else {
album.setAid(album.getId());
}
break;
case AlbumNewParse.FROM.COMMON_CHANNEL_LIST:
album.setId(getInt(data, "id"));
album.setNameCn(getString(data, "title"));
album.setSubTitle(getString(data, "subtitle"));
album.setPic(getString(data, "icon"));
if (has(data, "icon_400x300")) {
album.setIcon_400_300(getString(data, "icon_400x300"));
} else {
album.setIcon_400_300(null);
}
if (has(data, "icon_200x150")) {
album.setIcon_200_150(getString(data, "icon_200x150"));
} else {
album.setIcon_200_150(null);
}
album.setScore(getFloat(data, "score"));
album.setCid(getInt(data, "cid"));
album.setType(getInt(data, "type"));
album.setAt(getInt(data, "at"));
album.setReleaseDate(getString(data, "year"));
count = getInt(data, "count");
if (count <= 0) {
count = 0;
}
album.setNowEpisodes(count);
album.setIsEnd(getInt(data, "isend"));
album.setDuration(getLong(data, "time_length"));
album.setDirectory(getString(data, "director"));
album.setStarring(getString(data, "actor"));
album.setDescription(getString(data, "intro"));
album.setArea(getString(data, "area"));
album.setStyle(getString(data, "style"));
album.setPlayTv(getString(data, "tv"));
album.setSchool(getString(data, "rcompany"));
album.setJump(getInt(data, "needJump"));
if (has(data, "pay")) {
if (getInt(data, "pay") == 1) {
album.setPay(0);
} else {
album.setPay(1);
}
} else {
album.setPay(0);// 默认不付费
}
if (has(data, "aid")) {
int aid = getInt(data, "aid");
if (aid <= 0) {
album.setAid(album.getId());
} else {
album.setAid(aid);
}
} else {
album.setAid(album.getId());
}
if (has(data, "filmstyle")) {
album.setFilmstyle(getInt(data, "filmstyle"));
}
break;
default:
album.setId(getLong(data, "id"));
album.setNameCn(getString(data, "nameCn"));
album.setPid(getLong(data, "pid"));
album.setAlbumType(getString(data, "albumType"));
album.setSubTitle(getString(data, "subTitle"));
if (has(data, "picCollections")) {
album.setPic(getString(
getJSONObject(data, "picCollections"),
"150*200"));
} else if (has(data, "picAll")) {
album.setPic(getString(getJSONObject(data, "picAll"),
"120*90"));
}
album.setScore(getFloat(data, "score"));
album.setCid(getInt(data, "cid"));
album.setType(getInt(data, "type"));
album.setAt(getInt(data, "at"));
album.setReleaseDate(getString(data, "releaseDate"));
album.setPlatformVideoNum(getInt(data, "platformVideoNum"));
album.setPlatformVideoInfo(getInt(data, "platformVideoInfo"));
album.setEpisode(getInt(data, "episode"));
album.setNowEpisodes(getInt(data, "nowEpisodes"));
album.setIsEnd(getInt(data, "isEnd"));
album.setDuration(getLong(data, "duration"));
album.setDirectory(getString(data, "directory"));
album.setStarring(getString(data, "starring"));
album.setDescription(getString(data, "description"));
album.setArea(getString(data, "area"));
album.setLanguage(getString(data, "language"));
album.setInstructor(getString(data, "instructor"));
album.setSubCategory(getString(data, "subCategory"));
album.setStyle(getString(data, "style"));
album.setPlayTv(getString(data, "playTv"));
album.setSchool(getString(data, "school"));
album.setControlAreas(getString(data, "controlAreas"));
album.setDisableType(getInt(data, "disableType"));
album.setPlay(getInt(data, "play"));
album.setJump(getInt(data, "jump"));
album.setPay(getInt(data, "pay"));
album.setDownload(getInt(data, "download"));
album.setTag(getString(data, "tag"));
album.setTravelType(getString(data, "travelType"));
/**
* 首页播放记录区块图片,首选300*300
*/
// JSONObject picAll = null;
// if (has(data, "picCollections")) {
// picAll = getJSONObject(data, "picCollections");
// } else if (has(data, "picAll")) {
// picAll = getJSONObject(data, "picAll");
// }
// if (picAll != null) {
// String str = getString(picAll, "300*300");
// if (!TextUtils.isEmpty(str)) {
// album.setPic300(str);
// } else {
// str = getString(picAll, "400*300");
// if (!TextUtils.isEmpty(str)) {
// album.setPic300(str);
// } else {
// album.setPic300(album.getPic());
// }
// }
// }
break;
}
return album;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}