xuxiuxi
2017-07-19 774d97b8f0a6150ea682116a9177bb8cfd64d372
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseApplication.java
@@ -1,10 +1,21 @@
package cn.com.basic.face.base;
import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.IBinder;
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.VisitorTypeMng;
import cn.com.basic.face.service.RegisterMng;
import cn.com.basic.face.service.SurveillanceMng;
import cn.com.basic.face.util.WindowsUtil;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.lzy.okhttputils.OkHttpUtils;
@@ -12,12 +23,6 @@
import com.lzy.okhttputils.model.HttpParams;
import org.xutils.x;
import cn.com.basic.face.discern.entity.Place;
/**
 * Created by zhangbo on 2017/2/15.
 */
public class BaseApplication extends Application{
@@ -27,17 +32,40 @@
        return application;
    }
    private Place place;
    private Device androidDevice;
    private Device camera1;
    private Device camera2;
    public void setPlace(Place place) {
        this.place = place;
    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 Place getPlace() {
        if (place == null) {
            place = new Place();
    public void setCamera1(Device camera1) {
        this.camera1 = camera1;
        if (camera1 != null && camera1.getDeviceId() != null && !"".equals(camera1.getDeviceId())) {
            DictionaryMng.getInstance().loadAllDictionaryData();
        }
        return place;
    }
    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
@@ -47,9 +75,8 @@
        Fresco.initialize(this);
        initOkHttpUtils();
        application = this;
        DeviceMng.getInstance().findPlace();
        DictionaryMng.getInstance().loadAllDictionaryData();
        VisitorTypeMng.getInstance().loadAll();
        DeviceMng.getInstance().findDevice();
    }
    private void initOkHttpUtils() {
@@ -63,4 +90,44 @@
        OkHttpUtils.init(this);
    }
    public boolean networkNotAvailable() {
        boolean connected = false;
//        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 = false;
//        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().sendOfflineRegisterToServer();
        if (RegisterMng.getInstance().hasOfflineRegisterData()) {
            return;
        }
        CheckInMng.getInstance().sendOfflineCheckInToServer();
        if (CheckInMng.getInstance().hasOfflineCheckInData()) {
            return;
        }
        SurveillanceMng.getInstance().sendOfflineUnknownToServer();
    }
}