package cn.com.basic.face.base; import android.app.Application; import cn.com.basic.face.discern.entity.Device; import cn.com.basic.face.service.CheckInMng; import cn.com.basic.face.service.DictionaryMng; import cn.com.basic.face.service.DeviceMng; import cn.com.basic.face.service.RegisterMng; import cn.com.basic.face.service.SurveillanceMng; import com.facebook.drawee.backends.pipeline.Fresco; import com.lzy.okhttputils.OkHttpUtils; import com.lzy.okhttputils.model.HttpHeaders; import com.lzy.okhttputils.model.HttpParams; import org.xutils.x; public class BaseApplication extends Application{ private static BaseApplication application; public static BaseApplication getInstance() { return application; } private Device androidDevice; private Device camera1; private Device camera2; public static boolean deviceAvailable = false; public void setAndroidDevice(Device device) { this.androidDevice = device; if (device != null && device.getDeviceId() != null && !"".equals(device.getDeviceId())) { deviceAvailable = true; DictionaryMng.getInstance().loadAllDictionaryData(); } } public void setCamera1(Device camera1) { this.camera1 = camera1; if (camera1 != null && camera1.getDeviceId() != null && !"".equals(camera1.getDeviceId())) { DictionaryMng.getInstance().loadAllDictionaryData(); } } public void setCamera2(Device camera2) { this.camera2 = camera2; if (camera2 != null && camera2.getDeviceId() != null && !"".equals(camera2.getDeviceId())) { DictionaryMng.getInstance().loadAllDictionaryData(); } } public Device getAndroidDevice() { if (androidDevice == null) { androidDevice = new Device(); } return androidDevice; } @Override public void onCreate() { super.onCreate(); x.Ext.init(this); Fresco.initialize(this); initOkHttpUtils(); application = this; DeviceMng.getInstance().findDevice(); } private void initOkHttpUtils() { HttpHeaders headers = new HttpHeaders(); headers.put("commonHeaderKey1", "commonHeaderValue1"); //所有的 header 都 不支持 中文 headers.put("commonHeaderKey2", "commonHeaderValue2"); HttpParams params = new HttpParams(); params.put("commonParamsKey1", "commonParamsValue1"); //所有的 params 都 支持 中文 params.put("commonParamsKey2", "这里支持中文参数"); //必须调用初始化 OkHttpUtils.init(this); } public boolean networkNotAvailable() { boolean connected = true; // ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); // if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || // connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { // connected = true; // } // if (connected) { // sendOfflineDataToServer(); // } return !connected; } public boolean networkAvailable() { boolean connected = true; // ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); // if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || // connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { // connected = true; // } // if (connected) { // sendOfflineDataToServer(); // } return connected; } public void sendOfflineDataToServer() { RegisterMng.getInstance().sendOfflineVisitorRegisterToServer(); if (RegisterMng.getInstance().hasOfflineVisitorRegisterData()) { return; } RegisterMng.getInstance().sendOfflineAttenderRegisterToServer(); if (RegisterMng.getInstance().hasOfflineAttenderRegisterData()) { return; } CheckInMng.getInstance().sendOfflineCheckInToServer(); if (CheckInMng.getInstance().hasOfflineCheckInData()) { return; } SurveillanceMng.getInstance().sendOfflineUnknownToServer(); } }