package com.mugua.mgvideo;
|
|
import android.app.Application;
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.graphics.Bitmap.Config;
|
import android.util.Log;
|
import android.widget.Toast;
|
|
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
|
import com.alibaba.baichuan.android.trade.callback.AlibcTradeInitCallback;
|
import com.baidu.mobads.AppActivity;
|
import com.fun.xm.FSPlayer;
|
import com.funshion.playsdk.callback.FunshionPlayInitCallback;
|
import com.funshion.playsdk.register.IAuthCodeGetter;
|
import com.lcjian.library.util.ManifestDataUtil;
|
import com.mugua.mgvideo.util.FunshionConstant;
|
import com.mugua.mgvideo.util.downutil.StringUtils;
|
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
|
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
|
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
|
import com.umeng.analytics.MobclickAgent;
|
import com.umeng.commonsdk.UMConfigure;
|
import com.umeng.socialize.PlatformConfig;
|
import com.mugua.mgvideo.util.BeibeiConstant;
|
import com.mugua.mgvideo.util.CrashHandler;
|
import com.mugua.mgvideo.util.ad.TTAdManagerHolder;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
public class MGVideoApplication extends Application {
|
|
public static MGVideoApplication application = null;
|
public static String deviceName = null;
|
public static String deviceNumber = null;
|
public static String KKNumber;
|
public static String MMNumber;
|
public static boolean showAd = true;
|
private String TAG="MGVideoApplication";
|
|
@Override
|
public void onCreate() {
|
if (BeibeiConstant.DEBUG) {
|
CrashHandler crashHandler = CrashHandler.getInstance();
|
crashHandler.init(getApplicationContext());
|
}
|
application = this;
|
// if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >=
|
// Build.VERSION_CODES.GINGERBREAD) {
|
// StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
|
// .detectAll().penaltyDialog().build());
|
// StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
|
// .detectAll().penaltyDeath().build());
|
// }
|
super.onCreate();
|
|
initImageLoader(getApplicationContext());
|
//友盟初始化
|
UMConfigure.setLogEnabled(true);
|
String description = ManifestDataUtil.getAppMetaData(this, "UMENG_CHANNEL");
|
UMConfigure.init(this, getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null);
|
// 选用AUTO页面采集模式
|
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
|
|
//电商SDK初始化
|
AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {
|
@Override
|
public void onSuccess() {
|
}
|
|
@Override
|
public void onFailure(int code, String msg) {
|
}
|
});
|
// PlatformConfig.setWeixin(BeibeiConstant.WECHAT_ID,
|
// BeibeiConstant.WECHAT_KEY);
|
PlatformConfig.setQQZone(BeibeiConstant.QQ_ID, BeibeiConstant.QQ_KEY);
|
// PlatformConfig.setSinaWeibo(BeibeiConstant.SINA_ID,
|
// BeibeiConstant.SINA_KEY,
|
// "http://sns.whalecloud.com/sina2/callback");
|
|
//百度内容联盟
|
try {
|
AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME);
|
} catch (Exception e) {
|
|
}
|
|
initCSJAd();
|
initFunshion();
|
}
|
|
private void initFunshion(){
|
try {
|
//初始化播放插件
|
FSPlayer.init(this, FunshionConstant.APP_ID, new IAuthCodeGetter() {
|
@Override
|
public void getAuthCode(final AuthCodeCallBack authCodeCallBack) {
|
MGVideoAPI.getFuntvAuthCode(application, new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optBoolean("IsPost")) {
|
String authCode = jsonObject.optString("Data");
|
if (!StringUtils.isNullOrEmpty(authCode)) {
|
SharedPreferences.Editor editor = application.getSharedPreferences("funtv", Context.MODE_PRIVATE).edit();
|
editor.putString("authCode", authCode);
|
editor.commit();
|
}
|
authCodeCallBack.onSuccess(authCode);
|
} else {
|
SharedPreferences share = application.getSharedPreferences("funtv", Context.MODE_PRIVATE);
|
String authCode = share.getString("authCode", "");
|
if (!StringUtils.isNullOrEmpty(authCode)) {
|
authCodeCallBack.onSuccess(authCode);
|
}
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
SharedPreferences share = application.getSharedPreferences("funtv", Context.MODE_PRIVATE);
|
String authCode = share.getString("authCode", "");
|
if (!StringUtils.isNullOrEmpty(authCode)) {
|
authCodeCallBack.onSuccess(authCode);
|
}
|
}
|
}
|
);
|
|
}
|
}, new FunshionPlayInitCallback() {
|
|
@Override
|
public void onSuccess() {
|
Log.i(TAG, "风行播放器初始化成功");
|
}
|
|
@Override
|
public void onFail(int i, String s) {
|
Log.i(TAG, "风行播放器初始化失败:" + i + "-" + s);
|
}
|
});
|
} catch (Exception e) {
|
|
}
|
|
|
}
|
|
public static String getVersionName(Context context) {
|
try {
|
PackageInfo pi = context.getPackageManager().getPackageInfo(
|
context.getPackageName(), 0);
|
return pi.versionName;
|
} catch (NameNotFoundException e) {
|
e.printStackTrace();
|
return "";
|
}
|
}
|
|
public static void initImageLoader(Context context) {
|
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
|
.cacheInMemory(true).bitmapConfig(Config.RGB_565)
|
.imageScaleType(ImageScaleType.EXACTLY).cacheOnDisk(true)
|
.build();
|
|
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
|
context).threadPoolSize(3)
|
.threadPriority(Thread.NORM_PRIORITY - 2)
|
.denyCacheImageMultipleSizesInMemory()
|
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
|
.tasksProcessingOrder(QueueProcessingType.LIFO)
|
.denyCacheImageMultipleSizesInMemory()
|
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
|
.memoryCacheSize((int) (2 * 1024 * 1024))
|
.memoryCacheSizePercentage(13).diskCacheSize(50 * 1024 * 1024)
|
.imageDownloader(new BeibeiImageDownloader(context))
|
.diskCacheFileCount(100)
|
.diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
|
.defaultDisplayImageOptions(defaultOptions).writeDebugLogs() // Remove
|
.build();
|
|
ImageLoader.getInstance().init(config);
|
}
|
|
/**
|
* 穿山甲广告初始化
|
*/
|
private void initCSJAd() {
|
TTAdManagerHolder.init(this);
|
}
|
|
|
}
|