app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -370,11 +370,11 @@
                        }else{
                            MyLog.i(TAG,"路考失败项目数据表被清空更新UI");
                            item_id = 0;
                            mArrayList.clear();
                            item_conents.clear();
                            Collections.sort(mArrayList);
                            mScoreAdapter.addDatas(mArrayList);
                            mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                            mArrayList.clear();
//                            item_conents.clear();
//                            Collections.sort(mArrayList);
//                            mScoreAdapter.addDatas(mArrayList);
//                            mHandler.obtainMessage(ADD_DATA).sendToTarget();
                        }
                    }
@@ -386,7 +386,7 @@
            @Override
            public void onChanged(List<FailedProj_select> failedProj_selects) {
                if (ExamPlatformData.getInstance().getExamType()<=ExamPlatformData.EXAM_TYPE_ChangKAO){
                    MyLog.i("现在是场考状态,监视路考数据失败项目");
                    MyLog.i("现在是场考状态,监视数据失败项目");
                    if (failedProj_selects != null && failedProj_selects.size()>0){
                        item_id = 0;
@@ -408,19 +408,19 @@
                        MyLog.i("当前得分:"+currTotalScore);
                        if (currTotalScore < Constant.PASSING_SCORE){
                            MyLog.i("场考低于80,不合格"+currTotalScore);
//                            ExamPlatformData.getInstance().getTTS().speak("考试不合格");
//                            stopExam();
                            ExamPlatformData.getInstance().getTTS().speak("考试不合格");
                            stopExam();
                        }
                        MyLog.i("场考监测到有失败项目加入,通知UI更新颜色");
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
                    }else{
                        MyLog.i(TAG,"场考失败项目数据表被清空更新UI");
                        item_id = 0;
                        mArrayList.clear();
                        item_conents.clear();
                        Collections.sort(mArrayList);
                        mScoreAdapter.addDatas(mArrayList);
                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
//                        mArrayList.clear();
//                        item_conents.clear();
//                        Collections.sort(mArrayList);
//                        mScoreAdapter.addDatas(mArrayList);
//                        mHandler.obtainMessage(ADD_DATA).sendToTarget();
                    }
                }
@@ -456,9 +456,11 @@
                    if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){
                        btn_start_exam.setEnabled(false);
                        tv_stop.setEnabled(true);
                        iv_head.getDrawable().setLevel(1);
                    }else{
                        btn_start_exam.setEnabled(true);
                        tv_stop.setEnabled(false);
                        iv_head.getDrawable().setLevel(0);
                    }
                    exam_type = examStatus.get(0).getStartExam();
                }
@@ -591,15 +593,10 @@
        switch (v.getId()) {
            case R.id.btn_start:
                clearArrayListResetTotalScore();
                //TODO 发送JKMessage0202 给平台,开始考试
                final JKMessage0202 jkMessage0202 = new JKMessage0202();
                Date date = new Date();
                wokViewModel.updateBeginTime(date.getTime());
                jkMessage0202.timeBCD = date;
                ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                jkMessage0202.ID = ExamPlatformData.getInstance().getID();
                jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                if (myDialogFragment == null){
                    myDialogFragment = new MyDialogFragment();
@@ -610,13 +607,20 @@
                    public void changKao() {
                        exam_type = 2;
                        ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.EXAMING_MODE);
                        iv_head.getDrawable().setLevel(1);
                        ExamPlatformData.getInstance().setExamType(exam_type);
                        examStatusViewModel.updateStartExam(exam_type);
                        sendExamJson(1,exam_type);
                        ExamPlatformData.getInstance().getTTS().speak("开始考试");
                        jkMessage0202.curr_exam = 0;
                        Date date = new Date();
                        wokViewModel.updateBeginTime(date.getTime());
                        jkMessage0202.timeBCD = date;
                        ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                        jkMessage0202.ID = ExamPlatformData.getInstance().getID();
                        jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                        jkMessage0202.curr_exam = 0;
                        MessageProcessor.getInstance().sendMessage(jkMessage0202);
                    }
@@ -627,10 +631,18 @@
                        ExamPlatformData.getInstance().setExamType(exam_type);
                        examStatusViewModel.updateStartExam(exam_type);
                        sendExamJson(1,exam_type);
                        jkMessage0202.curr_exam = 1;
                        iv_head.getDrawable().setLevel(1);
                        MessageProcessor.getInstance().sendMessage(jkMessage0202);
                        ExamPlatformData.getInstance().getTTS().speak("开始考试");
                        Date date = new Date();
                        wokViewModel.updateBeginTime(date.getTime());
                        jkMessage0202.timeBCD = date;
                        ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
                        jkMessage0202.ID = ExamPlatformData.getInstance().getID();
                        jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id();
                        jkMessage0202.curr_exam = 1;
                        MessageProcessor.getInstance().sendMessage(jkMessage0202);
                    }
                });
@@ -707,18 +719,30 @@
        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
        item_id = 0;
        currTotalScore = 100;
        failedProjViewModel.deleteAll();
        tv_total_score.setText(String.valueOf(currTotalScore));
        iv_head.getDrawable().setLevel(0);
        ExamPlatformData.getInstance().getTTS().speak("结束考试");
        examStatusViewModel.updateStartExam(Constant.NONE_BEEN_START_EXAM);
        sendExamJson(0,0);//结束考试 exstart=0
    }
    /**
     * 因为考试结束瞬间清掉数据库,所以不会显示失败项目和分数,加下面这个方法是在开始考试的时候reset数据,
     * 这样就可以保证考试结束的时候,还能显示错误项和分数(只是保存在了内存中,不会影响训练模式的使用)
     */
    private void clearArrayListResetTotalScore(){
        item_id = 0;
        mArrayList.clear();
        item_conents.clear();
        Collections.sort(mArrayList);
        mScoreAdapter.addDatas(mArrayList);
        mHandler.obtainMessage(ADD_DATA).sendToTarget();
        currTotalScore = 100;
    }
    private ICEventListener icEventListener = new ICEventListener() {
        @Override
        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {