pda/zhuike/.svn/pristine/34/34173ac1633252ddafb78c0747b...

138 lines
4.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.novelbook.android;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.provider.SyncStateContract;
import android.util.Log;
/*
import com.bytedance.sdk.openadsdk.TTAdConfig;
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdSdk;*/
import com.google.android.gms.ads.MobileAds;
import com.google.gson.Gson;
import com.novelbook.android.AD.toutiao.TTAdManagerHolder;
import com.novelbook.android.bean.AdSetting;
import com.novelbook.android.netutils.HttpMethods;
import com.novelbook.android.netutils.NetUtil;
import com.novelbook.android.utils.Config;
import com.novelbook.android.utils.Constants;
import com.novelbook.android.utils.LogcatHelper;
import com.novelbook.android.utils.PageFactory;
import com.novelbook.android.AD.SplashAdManager;
import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;
import org.litepal.LitePal;
import java.util.ArrayList;
import java.util.List;
public class MyApp extends Application {
public static volatile Context applicationContext = null;
SplashAdManager splashAdManager;
private List<Activity> oList;//用于存放所有启动的Activity的集合
@Override
public void onCreate() {
super.onCreate();
oList = new ArrayList<Activity>();
applicationContext = getApplicationContext();
HttpMethods.USERAGENT = NetUtil.getUserAgent();
HttpMethods.LOCALUSERAGENT = NetUtil.getUserAgent(applicationContext);
initialConstants();
PageFactory.createPageFactory(this);
LogcatHelper.getInstance(this).start();
// BlurKit.init(this);
LitePal.initialize(this);
splashAdManager = new SplashAdManager(this);
initUmengApi();
initAD();
}
private void initialConstants(){
Config config= Config.createConfig(this);
Constants.SEX = config.getSexOption();
Constants.SHELF_ORDER = config.getShelfOrderOption();
Constants.PRE_LOAD_CHAPT =config.isPreLoadChapter();
Gson gson = new Gson();
Constants.AD_SETTING = gson.fromJson(config.getAdSetting(), AdSetting.class);
if(Constants.AD_SETTING==null){
Constants.AD_SETTING = new AdSetting();
}
Constants.SHOW_NOVEL_CHAPTER_URL =config.isShowChatpUrl();
Constants.DECLARE = config.getDeclare();
Constants.ONE_DP_SIZE = (int)applicationContext.getResources().getDimension(R.dimen.one_dp);
}
private void initUmengApi(){
UMConfigure.init(applicationContext,UMConfigure.DEVICE_TYPE_PHONE,null);
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
}
private void initAD(){
initAD_ChuanShanJia();
initAD_AdMob();
}
private void initAD_ChuanShanJia(){
// TTAdManagerHolder.init(applicationContext);
}
private void initAD_AdMob(){
if(AdSetting.getAppID(Constants.AD_MOB).length()>0){
MobileAds.initialize(MyApp.applicationContext, AdSetting.getAppID(Constants.AD_MOB));
}
}
public boolean exit() {
System.exit(-1);
removeALLActivity_();
return true;
}
/**
* 添加Activity
*/
public void addActivity_(Activity_base activity) {
// 判断当前集合中不存在该Activity
if (!oList.contains(activity)) {
oList.add(activity);//把当前Activity添加到集合中
}
currentAct=activity;
}
private static Activity_base currentAct =null;
public static Activity_base getCurrentActivity(){
return currentAct;
}
/**
* 销毁单个Activity
*/
public void removeActivity_(Activity activity) {
//判断当前集合中存在该Activity
if (oList.contains(activity)) {
oList.remove(activity);//从集合中移除
activity.finish();//销毁当前Activity
}
}
/**
* 销毁所有的Activity
*/
public void removeALLActivity_() {
//通过循环把集合中的所有Activity销毁
Log.d("MyApp", "removeALLActivity_: total activities to finish: " + oList.size());
for (Activity activity : oList) {
Log.d("MyApp", "removeALLActivity_: " + activity.getLocalClassName());
activity.finish();
}
}
public List<Activity> getActivityList(){
return oList;
}
}