| | |
| | | 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; |
| | |
| | | |
| | | //考试状态 ,一些初始状态,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(); |
| | | }); |
| | | } |
| | | |
| | |
| | | @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{ |
| | |
| | | } |
| | | 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(); |
| | | |
| | | |
| | | |
| | | |
| | |
| | | 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) |
| | |
| | | AYSdk.getInstance().sendCmd(Constant.PUSH_ROAD_MAP_INFO,str); |
| | | }else{ |
| | | MyLog.i(String.format("文件:%s不存在",roadmapPath)); |
| | | |
| | | CThreadPoolExecutor.runOnMainThread(new Runnable() { |
| | | @Override |
| | | public void run() { |