正在查看: WeatherSense v1.8.9 应用的 BaseApplication.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: WeatherSense v1.8.9 应用的 BaseApplication.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.emax.weather.base;
import android.content.pm.PackageManager;
import android.database.sqlite.SQLiteDatabase;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;
import butterknife.ButterKnife;
import com.alibaba.pdns.DNSResolver;
import com.emax.weather.bean.db.DBHelper;
import com.emax.weather.dao.DaoMaster;
import com.emax.weather.dao.DaoSession;
import com.emax.weather.net.Constant;
import com.emax.weather.umeng.PushHelper;
import com.ezon.health.utils_lib.FileUtils;
import com.ezon.health.utils_lib.SharedPreUtils;
import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.commonsdk.utils.UMUtils;
import java.io.File;
import java.io.IOException;
import java.util.Locale;
public class BaseApplication extends MultiDexApplication {
private static final String ALIYUN_HOST_NAME = "www.emaxtime.ddns.net";
private static final int CACHE_MAX_NUMBER = 100;
private static final int MAX_NEGATIVE_CACHE = 30;
private static final int MAX_TTL_CACHE = 3600;
private static final String TAOBAO_HOST_NAME = "www.app.emaxlife.net";
private SQLiteDatabase db;
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
private DBHelper mHelper;
private String umengDeviceToken;
public static String mqttUrl = Constant.MQTT_URL;
private static BaseApplication myApplication = null;
private static ConnectivityManager connectivityManager = null;
private String serviceName = "com.emax.weather.service.HistroyDataService";
public Boolean isBind = false;
private boolean isRecordToFile = true;
private String accountID = "149699";
@Override
public void onCreate() {
super.onCreate();
ButterKnife.setDebug(false);
myApplication = this;
connectivityManager = (ConnectivityManager) getSystemService("connectivity");
MultiDex.install(this);
FileUtils.createOrExistsDir(Constant.DIR);
setupDatabase();
initUmengSDK();
if (this.isRecordToFile) {
String str = getFilesDir() + "/log.txt";
File file = new File(str);
System.out.println(" file.exists() =" + file.exists());
if (!file.exists()) {
SharedPreUtils.putLong(this, "create_log_time", System.currentTimeMillis());
} else {
if (System.currentTimeMillis() - SharedPreUtils.getLong(this, "create_log_time", -1L) > 86400000) {
file.delete();
}
}
try {
Runtime.getRuntime().exec("logcat -f " + str);
} catch (IOException e) {
e.printStackTrace();
}
}
initLocale();
CrashReport.initCrashReport(getApplicationContext(), "a03b4b0e19", false);
DNSResolver.Init(this, this.accountID);
DNSResolver.setEnableShort(false);
DNSResolver.setEnableIPv6(false);
DNSResolver.setEnableCache(true);
DNSResolver.setEnableSpeedTest(false);
DNSResolver.setEnableSchedulePrefetch(true);
DNSResolver.setMaxTtlCache(MAX_TTL_CACHE);
DNSResolver.setSpeedPort(80);
DNSResolver.setMaxNegativeCache(30);
DNSResolver.setSchemaType("https");
DNSResolver.getInstance().setMaxCacheSize(100);
DNSResolver.getInstance().preLoadDomains(new String[]{TAOBAO_HOST_NAME, ALIYUN_HOST_NAME});
}
private void initUmengSDK() {
UMConfigure.setLogEnabled(true);
PushHelper.preInit(this);
if (UMUtils.isMainProgress(this)) {
new Thread(new Runnable() {
@Override
public void run() {
PushHelper.init(BaseApplication.this.getApplicationContext());
}
}).start();
} else {
PushHelper.init(getApplicationContext());
}
}
private void initLocale() {
Locale locale = getResources().getConfiguration().locale;
System.out.println("手机当前语言是: " + locale.getLanguage());
locale.getLanguage().equals("iw");
}
private void setupDatabase() {
DBHelper dBHelper = DBHelper.getInstance(getApplicationContext());
this.mHelper = dBHelper;
this.db = dBHelper.getWritableDatabase();
Log.i("BaseApplication", "db update local-version:" + this.db.getVersion());
DaoMaster daoMaster = new DaoMaster(this.db);
this.mDaoMaster = daoMaster;
this.mDaoSession = daoMaster.m47newSession();
}
public DaoSession getDaoSession() {
return this.mDaoSession;
}
public SQLiteDatabase getDb() {
return this.db;
}
public String getServiceName() {
return this.serviceName;
}
public static BaseApplication getApplication() {
return myApplication;
}
public static ConnectivityManager getConnectivityManager() {
return connectivityManager;
}
public String getUmengDeviceToken() {
return this.umengDeviceToken;
}
public static boolean isNetworkAvalible() {
NetworkInfo[] allNetworkInfo;
ConnectivityManager connectivityManager2 = connectivityManager;
if (connectivityManager2 != null && (allNetworkInfo = connectivityManager2.getAllNetworkInfo()) != null) {
for (NetworkInfo networkInfo : allNetworkInfo) {
if (networkInfo.getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
return false;
}
public static String GetNetworkType() {
String str = "";
try {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
if (activeNetworkInfo.getType() == 1) {
str = "WIFI";
} else if (activeNetworkInfo.getType() == 0) {
String subtypeName = activeNetworkInfo.getSubtypeName();
Log.e("cocos2d-x", "Network getSubtypeName : " + subtypeName);
int subtype = activeNetworkInfo.getSubtype();
switch (subtype) {
case 1:
case 2:
case 4:
case 7:
case 11:
str = "2G";
break;
case 3:
case 5:
case 6:
case 8:
case 9:
case 10:
case 12:
case 14:
case 15:
str = "3G";
case 13:
str = "4G";
break;
default:
if (!subtypeName.equalsIgnoreCase("TD-SCDMA") && !subtypeName.equalsIgnoreCase("WCDMA") && !subtypeName.equalsIgnoreCase("CDMA2000")) {
str = subtypeName;
break;
}
str = "3G";
break;
}
Log.e("cocos2d-x", "Network getSubtype : " + Integer.valueOf(subtype).toString());
}
}
} catch (Exception e) {
e.printStackTrace();
}
Log.e("cocos2d-x", "Network Type : " + str);
return str;
}
public static String getVersionName() {
String str;
try {
str = myApplication.getPackageManager().getPackageInfo(myApplication.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
str = null;
}
return "V" + str;
}
@Override
public void onTerminate() {
super.onTerminate();
}
}