yy1717
2020-07-06 e5659a16092dc90fd7b06f3659158ddae6e1edd3
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -26,7 +26,6 @@
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.tencent.smtt.sdk.QbSdk;
import org.json.JSONException;
@@ -98,33 +97,20 @@
            //考试状态 ,一些初始状态,app一些状态应该先初始化一下
            initData();
            QbSdk.initX5Environment(this,cb);
        }
    }
    QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
        @Override
        public void onViewInitFinished(boolean arg0) {
            MyLog.i(" QbSdk onViewInitFinished is " + arg0);
        }
        @Override
        public void onCoreInitFinished() {
            MyLog.i("x5内核onCoreInitFinished");
        }
    };
    private void preinitX5WebCore() {
        if (!QbSdk.isTbsCoreInited()) {
            // preinit只需要调用一次,如果已经完成了初始化,那么就直接构造view
            QbSdk.preInit(this, null);// 设置X5初始化完成的回调接口
            MyLog.i(" QbSdk isTbsCoreInited  " );
        }
    }
    private void initData() {
        CThreadPoolExecutor.runInBackground(()->{
            MyLog.i("开始初始化数据发送地图/车辆/mcu升级文件/考试状态");
                int type = WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getExamStatusDao().getStartExamInt();
                ExamPlatformData.getInstance().setExamType(type);
            OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
            OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
            WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
        });
    }
@@ -150,7 +136,6 @@
    @Override
    public void callBackMsg(final int cmd, String json) {
        String strConent = String.format("收到命令[%d],Json内容为%s", cmd, json);
        Log.i(TAG,strConent);
        if (strConent.equalsIgnoreCase(lastStr)){
        }else{
@@ -160,9 +145,7 @@
        }
        switch (cmd) {
            case Constant.NDK_START:
                OneTimeWorkRequest examStatausOutWorker = OneTimeWorkRequest.from(ExamStatusOutWorker.class);
                OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class);
                WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue();
@@ -272,12 +255,35 @@
                    MyLog.i("收到考试应答错误码="+errCode);
                    switch (errCode){
                        case -1:
//                            sendMapInfo();
//                            break;
                            if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){
                                if (TextUtils.isEmpty(ExamPlatformData.getInstance().getRoadMapPath())){
                                    MyLog.i("开始考试后,远程服务缺少路考地图,但地图确实不存在无法发送给远程服务");
                                    CThreadPoolExecutor.runOnMainThread(() -> Toast.makeText(appContext, "缺少路考地图,请前往\"设置\"选择地图", Toast.LENGTH_SHORT).show());
                                    return;
                                }
                            }
                            if (ExamPlatformData.getInstance().getExamType()==ExamPlatformData.EXAM_TYPE_ChangKAO){
                                if (TextUtils.isEmpty(ExamPlatformData.getInstance().getMapPath())){
                                    MyLog.i("开始考试后,远程服务缺少chang考地图,但地图确实不存在无法发送给远程服务");
                                    CThreadPoolExecutor.runOnMainThread(new Runnable() {
                                        @Override
                                        public void run() {
                                            Toast.makeText(appContext, "缺少场考地图,请前往\"设置\"选择地图", Toast.LENGTH_SHORT).show();
                                        }
                                    });
                                    return;
                                }
                            }
                            sendMapInfo();
                            break;
                        case -2:
//                            sendVechileInfo();
//                            break;
                            sendVechileInfo();
                            break;
                        case -3:
                            Data data = new Data.Builder().putInt(Constant.NEED_MAPS_CAR,1).build();
                            OneTimeWorkRequest examStatausOutWorker1 = new OneTimeWorkRequest.Builder(ExamStatusOutWorker.class)
@@ -551,7 +557,6 @@
                        AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str);
                    }else{
                        MyLog.i(String.format("文件:%s不存在",roadmapPath));
                        CThreadPoolExecutor.runOnMainThread(new Runnable() {
                            @Override
                            public void run() {