package gov.anzong.util;
import gov.anzong.bean.DataBetter;
import gov.anzong.bean.M1905VideoDetialData;
import gov.anzong.bean.VideoDetialData;
import gov.anzong.bean.VideoParseJson;
import gov.anzong.bean.VideoTypeAdd;
import gov.anzong.fragment.ProgressDialogFragment;
import gov.anzong.mediaplayer.R;
import java.io.File;
import java.io.FileFilter;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Locale;
import java.util.regex.Pattern;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.telephony.TelephonyManager;
import android.util.Base64;
import android.view.Display;
public class FunctionUtil {
public static String uribase64(String uri) {
uri = uri.replaceAll("://", ":##");
uri = Base64.encodeToString(uri.getBytes(), Base64.NO_WRAP);
uri = "http://api.flvxz.com/jsonp/purejson/url/" + uri;
return uri;
}
public static String uriEncodeFlvcd(String uri, String format) {
String newuri = "http://www.flvcd.com/parse.php?format=" + format
+ "&kw=";
try {
uri = URLEncoder.encode(uri, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
return null;
}
return newuri + uri;
}
public static String videotitle(String title, String sitename, String from) {
if (!StringUtil.isEmpty(title)) {
title += " - ";
}
if (sitename == null) {
sitename = "";
}
if (!StringUtil.isEmpty(from)) {
title += from;
} else {
title += sitename;
}
return title;
}
public static boolean isjsondataempty(VideoDetialData[] jsondata) {
if (jsondata == null) {
return true;
}
if (jsondata.length == 0) {
return true;
}
return false;
}
public static boolean isjsondataempty(M1905VideoDetialData[] jsondata) {
if (jsondata == null) {
return true;
}
if (jsondata.length == 0) {
return true;
}
return false;
}
private static int getNumCores() {
class CpuFilter implements FileFilter {
@Override
public boolean accept(File pathname) {
if (Pattern.matches("cpu[0-9]", pathname.getName())) {
return true;
}
return false;
}
}
try {
// Get directory containing CPU info
File dir = new File("/sys/devices/system/cpu/");
// Filter to only list the devices we care about
File[] files = dir.listFiles(new CpuFilter());
// Return the number of cores (virtual CPU devices)
return files.length;
} catch (Exception e) {
// Default to return 1 core
return 1;
}
}
public static int minpixel(FragmentActivity context) {
Display mDisplay = context.getWindowManager().getDefaultDisplay();
int W = mDisplay.getWidth();
int H = mDisplay.getHeight();
if (W > H) {
return H;
} else {
return W;
}
}
public static int getvideohdformodel(FragmentActivity context) {
int hd = 0;
int Cores = getNumCores();
if (Cores > 1) {// ���
if (Cores > 2) {// �ĺ�����,���ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 1080) {
hd = 2;
} else {
hd = 1;
}
} else {// ˫�˿��ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 720) {
hd = 1;
}
}
}
String networkmode = getNetworkClass(context);
switch (networkmode) {
case "2G":
hd = 0;
break;
case "3G":
if (hd == 2)
hd = 1;
break;
default:
break;
}
return hd;
}
public static boolean isInWifi(Context mContext) {
ConnectivityManager conMan = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
return wifi == State.CONNECTED;
}
public static boolean isConnected(Context mContext) {
ConnectivityManager conMan = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = conMan.getActiveNetworkInfo();
return (info != null && info.isConnected());
}
public static String getNetworkClass(Context mContext) {
if (isInWifi(mContext)) {
return "WIFI";
}
if (!isConnected(mContext)) {
return "������";
}
TelephonyManager mTelephonyManager = (TelephonyManager) mContext
.getSystemService(Context.TELEPHONY_SERVICE);
int networkType = mTelephonyManager.getNetworkType();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return "2G";
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return "3G";
case TelephonyManager.NETWORK_TYPE_LTE:
return "4G";
default:
return "δ֪����";
}
}
public static String videorealurl(VideoDetialData[] jsondata, String from,
FragmentActivity context) {
int hd = getvideohdformodel(context);
VideoTypeAdd add = new VideoTypeAdd();
String quality1 = null, quality2 = null;
if (hd == 2) {
switch (from) {
case "�ſ���":// http://v.youku.com/v_show/id_XNzM0MTI2NDM2.html
case "������":// http://www.tudou.com/albumplay/4Eo9FRy41pw/MTelMNxnomQ.html
quality1 = "����M3U8";
quality2 = "����M3U8";
break;
case "������":// http://www.letv.com/ptv/vplay/20218053.html
quality1 = "1080pM3U8";
quality2 = "����M3U8";
break;
case "56��":// http://www.56.com/u49/v_MTAwMjQ3OTY2.html
quality1 = "super";
quality2 = "normal";
break;
case "������":// http://v.ku6.com/show/HW9JjdBGdZYzTD-ivTIE5A...html?from=my
quality1 = "����";
quality2 = "����";
break;
case "��Ѷ��Ƶ":// http://v.qq.com/cover/c/ch4jk2ygsu95qtb.html
quality1 = "����MP4";
quality2 = "����MP4";
break;
case "����TV":// http://www.wasu.cn/Play/show/id/4231159
break;
case "PPS.tv":// http://v.pps.tv/play_3HC6NV.html
quality1 = "1080PM3U8";
quality2 = "����M3U8";
break;
case "����̨":// http://v.yinyuetai.com/video/2061385
quality1 = "����";
quality2 = "����";
break;
case "������":// http://www.iqiyi.com/v_19rrmo1540.html
quality1 = "1080P";
quality2 = "720P";
break;
case "CNTV":// http://tv.cntv.cn/video/C30881/75b026061ee849d09bdc2875d69dfc11
quality1 = "����";
quality2 = "����";
break;
case "�����":// http://v.ifeng.com/documentary/history/201111/21e5dc45-2330-4325-b0aa-3edfaef7caaf.shtml
quality1 = "����";
break;
case "������Ƶ":
case "���˹�����":
quality1 = "����";
quality1 = "����";
break;
default:
break;
}
}
if (quality1 == null && hd == 2) {// WASU����
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality == null) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality1) && hd == 2) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality2) && hd == 2) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality2.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 2) {
hd = 1;
}
if (hd == 1) {
switch (from) {
case "�ſ���":
case "������":
quality1 = "����M3U8";
quality2 = "MP4��ʽM3U8";
break;
case "������":
quality1 = "����M3U8";
quality2 = "����";
break;
case "56��":
quality1 = "normal";
quality2 = "clear";
case "������":
quality1 = "����";
quality2 = "M3U8";
case "��Ѷ��Ƶ":
quality1 = "����MP4";
quality2 = "����MP4";
break;
case "����TV":
break;
case "PPS.tv":
quality1 = "720PM3U8";
quality2 = "����M3U8";
break;
case "����̨":
quality1 = "����";
quality2 = "����";
break;
case "������":
quality1 = "720P";
quality2 = "����";
break;
case "CNTV":
quality1 = "����";
quality2 = "M3U8";
break;
case "�����":
quality1 = "����";
break;
case "������Ƶ":
case "���˹�����":
quality1 = "����";
quality1 = "MP4";
break;
default:
break;
}
}
if (quality1 == null && hd == 1) {// WASU����
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality == null) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality1) && hd == 1) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality2) && hd == 1) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality2.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 1) {
hd = 0;
}
if (hd == 0) {
switch (from) {
case "�ſ���":
case "������":
quality1 = "MP4��ʽM3U8";
quality2 = "�ֻ�����";
break;
case "������":
quality1 = "����M3U8";
quality2 = "����";
break;
case "56��":
quality1 = "clear";
quality2 = null;
case "������":
quality1 = "M3U8";
quality2 = "����";
case "��Ѷ��Ƶ":
quality1 = "����";
quality2 = "����MP4";
break;
case "����TV":
break;
case "PPS.tv":
quality1 = "����M3U8";
quality2 = "����M3U8";
break;
case "����̨":
quality1 = "����";
quality2 = null;
break;
case "������":
quality1 = "mp4";
quality2 = "m3u8";
break;
case "CNTV":
quality1 = "����";
quality2 = "M3U8";
break;
case "�����":
quality1 = "����";
break;
case "������Ƶ":
case "���˹�����":
quality1 = "����";
quality1 = "MP4";
break;
default:
break;
}
}
if (quality1 == null && hd == 0) {// WASU����
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality == null) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality1) && hd == 0) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
if (!StringUtil.isEmpty(quality2) && hd == 0) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality2.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length > 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
return add.rightadd();
}
public static DataBetter dataselectbetterone(String js, String from,
FragmentActivity context) {
DataBetter databetter = new DataBetter();
if (StringUtil.isEmpty(js)) {
databetter.errorcode = 1;
return databetter;
}
try {
VideoDetialData[] jsondata = VideoParseJson.parseRead(js);
if (FunctionUtil.isjsondataempty(jsondata)) {
databetter.errorcode = 2;
return databetter;
}
String title = jsondata[0].title;
String sitename = jsondata[0].site;
title = FunctionUtil.videotitle(title, sitename, from);
String url = videorealurl(jsondata, from, context);
if (StringUtil.isEmpty(url)) {
databetter.errorcode = 2;
return databetter;
} else {
databetter.errorcode = -1;
databetter.title = title;
databetter.url = url;
return databetter;
}
} catch (Exception e) {
databetter.errorcode = 2;
return databetter;
}
}
public static String videorealurl(M1905VideoDetialData[] jsondata,
FragmentActivity context) {
int hd = 0;
int Cores = getNumCores();
if (Cores > 1) {// ���
if (Cores > 2) {// �ĺ�����,���ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 1080) {
hd = 2;
} else {
hd = 1;
}
} else {// ˫�˿��ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 720) {
hd = 1;
}
}
}
VideoTypeAdd add = new VideoTypeAdd();
String quality1 = null;
if (hd == 2) {
quality1 = "����";
}
if (!StringUtil.isEmpty(quality1) && hd == 2) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 2) {
hd = 1;
}
if (hd == 1) {
quality1 = "����";
}
if (!StringUtil.isEmpty(quality1) && hd == 1) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 1) {
hd = 0;
}
if (hd == 0) {
quality1 = "����";
}
if (!StringUtil.isEmpty(quality1) && hd == 0) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].quality.toLowerCase(Locale.CHINA).equals(
quality1.toLowerCase(Locale.CHINA))) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
return add.rightadd();
}
public static String videorealurlted(VideoDetialData[] jsondata,
FragmentActivity context) {
int hd = 0;
int Cores = getNumCores();
if (Cores > 1) {// ���
if (Cores > 2) {// �ĺ�����,���ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 1080) {
hd = 2;
} else {
hd = 1;
}
} else {// ˫�˿��ֱ��ʰ�
int minpixel = minpixel(context);
if (minpixel >= 720) {
hd = 1;
}
}
}
VideoTypeAdd add = new VideoTypeAdd();
String quality1 = null;
if (hd == 2) {
quality1 = "480p.mp4";
}
if (!StringUtil.isEmpty(quality1) && hd == 2) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
if (jsondata[i].files[0].ftype.toLowerCase(Locale.US)
.indexOf(quality1) >= 0) {
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 2) {
hd = 1;
}
if (hd == 1) {
quality1 = "s.mp4";
}
if (!StringUtil.isEmpty(quality1) && hd == 1) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
if (jsondata[i].files[0].ftype.toLowerCase(Locale.US)
.indexOf(quality1) >= 0) {
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
} else if (hd == 1) {
hd = 0;
}
if (hd == 0) {
quality1 = "s-320k.mp4";
}
if (!StringUtil.isEmpty(quality1) && hd == 0) {
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
if (jsondata[i].files[0].ftype.toLowerCase(Locale.US)
.indexOf(quality1) >= 0) {
switch (jsondata[i].files[0].ftype
.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
}
}
if (add.hasadd()) {
return add.rightadd();
}
for (int i = 0; i < jsondata.length; i++) {
if (jsondata[i].files != null) {
if (jsondata[i].files.length == 1) {// ������files��ֻ��һ��,Ȼ�����ѡ��
switch (jsondata[i].files[0].ftype.toLowerCase(Locale.US)) {
case "m3u8":
add.m3u8add = jsondata[i].files[0].furl;
break;
case "mp4":
add.mp4add = jsondata[i].files[0].furl;
break;
case "f4v":
add.f4vadd = jsondata[i].files[0].furl;
break;
case "flv":
add.flvadd = jsondata[i].files[0].furl;
break;
default:
add.otheradd = jsondata[i].files[0].furl;
break;
}
}
}
}
return add.rightadd();
}
public static void createdialog(FragmentActivity context, String dialogTag) {
ProgressDialogFragment pd = new ProgressDialogFragment();
Bundle args = new Bundle();
final String content = context.getResources().getString(
R.string.load_please_wait);
args.putString("content", content);
pd.setArguments(args);
pd.show(context.getSupportFragmentManager(), dialogTag);
}
public static void closedialog(FragmentActivity context, String dialogTag) {
FragmentManager fm = context.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Fragment prev = fm.findFragmentByTag(dialogTag);
if (prev != null) {
ft.remove(prev);
}
try {
ft.commit();
} catch (Exception e) {
}
}
}