package com.phlx.anchorcollect;


import android.graphics.Typeface;

import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.style.KongzueStyle;
import com.phlx.anchorcollect.entity.DictEntity;
import com.phlx.anchorcollect.util.DeviceIdUtils;
import com.uhf.linkage.Linkage;

import cn.wandersnail.ble.EasyBLE;
import cn.wandersnail.bluetooth.BTManager;
import me.goldze.mvvmhabit.base.BaseApplication;
import me.goldze.mvvmhabit.crash.CaocConfig;
import me.goldze.mvvmhabit.utils.KLog;

public class App extends BaseApplication {
    private Linkage link;
    private static App instance;


    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
        //是否开启打印日志
        KLog.init(true);
        //初始化全局异常崩溃
        initCrash();
        link = new Linkage();
        link.initRFID();
        //设置为Kongzue主题
        DialogX.init(this);
        DialogX.globalStyle = new KongzueStyle();


        //加入外挂字体
        Configs.typeface = Typeface.createFromAsset(getAssets(), "IMPACT.TTF");

        //初始化字典项
        initDict();

        //实例化并初始化
//        EasyBLE.getInstance().initialize(this)
        BTManager.getInstance().initialize(this);

        Configs.cpuName = DeviceIdUtils.getCpuName();

    }

    public static App getInstance() {
        return instance;
    }


    private void initCrash() {
        CaocConfig.Builder.create()
                .backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT) //背景模式,开启沉浸式
                .enabled(true) //是否启动全局异常捕获
                .showErrorDetails(true) //是否显示错误详细信息
                .showRestartButton(true) //是否显示重启按钮
                .trackActivities(true) //是否跟踪Activity
                .minTimeBetweenCrashesMs(2000) //崩溃的间隔时间(毫秒)
                .errorDrawable(R.mipmap.ic_launcher) //错误图标
                .apply();
    }


    public Linkage getLinkage() {
        if (link == null) {
            link = new Linkage();
            link.initRFID();
        }

        return link;
    }

    private void initDict(){

//        DictEntity de1 = new DictEntity("001", "安格斯牛", "001", "card_varieties");
//        Configs.dictList.add(de1);
//        DictEntity de2 = new DictEntity("002", "鲁西黄牛", "002", "card_varieties");
//        Configs.dictList.add(de2);
//
//        DictEntity de3 = new DictEntity("003", "公", "003", "card_sex");
//        Configs.dictList.add(de3);
//        DictEntity de4 = new DictEntity("004", "母", "004", "card_sex");
//        Configs.dictList.add(de4);
//        DictEntity de5 = new DictEntity("005", "其他", "005", "card_sex");
//        Configs.dictList.add(de5);
//
//        DictEntity de6 = new DictEntity("006", "圈舍1", "006", "card_circleNo");
//        Configs.dictList.add(de6);
//        DictEntity de7 = new DictEntity("007", "圈舍2", "007", "card_circleNo");
//        Configs.dictList.add(de7);
//        DictEntity de8 = new DictEntity("008", "圈舍3", "008", "card_circleNo");
//        Configs.dictList.add(de8);
//
//        DictEntity de9 = new DictEntity("009", "是", "009", "card_isTwins");
//        Configs.dictList.add(de9);
//        DictEntity de10 = new DictEntity("010", "否", "010", "card_isTwins");
//        Configs.dictList.add(de10);
//
//        DictEntity de11 = new DictEntity("011", "张三", "011", "weight_principal");
//        Configs.dictList.add(de11);
//        DictEntity de12 = new DictEntity("012", "李四", "012", "weight_principal");
//        Configs.dictList.add(de12);
//
//        DictEntity de13 = new DictEntity("013", "药品一", "013", "health_drug_name");
//        Configs.dictList.add(de13);
//        DictEntity de14 = new DictEntity("014", "药品二", "014", "health_drug_name");
//        Configs.dictList.add(de14);
//        DictEntity de15 = new DictEntity("015", "药品三", "015", "health_drug_name");
//        Configs.dictList.add(de15);
//        DictEntity de16 = new DictEntity("016", "药品四", "016", "health_drug_name");
//        Configs.dictList.add(de16);
//
//        DictEntity de17 = new DictEntity("017", "20ml/瓶", "017", "health_specifications");
//        Configs.dictList.add(de17);
//        DictEntity de18 = new DictEntity("018", "50ml/瓶", "018", "health_specifications");
//        Configs.dictList.add(de18);
//        DictEntity de19 = new DictEntity("019", "100ml/瓶", "019", "health_specifications");
//        Configs.dictList.add(de19);
//
//        DictEntity de20 = new DictEntity("020", "口服", "020", "health_methods");
//        Configs.dictList.add(de20);
//        DictEntity de21 = new DictEntity("021", "注射", "021", "health_methods");
//        Configs.dictList.add(de21);
//        DictEntity de22 = new DictEntity("022", "外用", "022", "health_methods");
//        Configs.dictList.add(de22);
//
//        DictEntity de23 = new DictEntity("023", "疫苗一", "023", "immun_name");
//        Configs.dictList.add(de23);
//        DictEntity de24 = new DictEntity("024", "疫苗二", "024", "immun_name");
//        Configs.dictList.add(de24);
//
//        DictEntity de25 = new DictEntity("025", "0058716654", "025", "immun_batch");
//        Configs.dictList.add(de25);
//        DictEntity de26 = new DictEntity("026", "0058895548", "026", "immun_batch");
//        Configs.dictList.add(de26);
//        DictEntity de27 = new DictEntity("027", "0058991568", "027", "immun_batch");
//        Configs.dictList.add(de27);
//
//        DictEntity de28 = new DictEntity("028", "顺产", "028", "ease_birth");
//        Configs.dictList.add(de28);
//        DictEntity de29 = new DictEntity("029", "难产", "029", "ease_birth");
//        Configs.dictList.add(de29);
//        DictEntity de30 = new DictEntity("030", "剖腹产", "030", "ease_birth");
//        Configs.dictList.add(de30);


    }
}
