From b10199a9b59621af6cd406d0dbb761c717161f44 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 31 三月 2020 15:40:37 +0800
Subject: [PATCH] 修改考试模式结束考试仍然可以展示错误项目,直至被销毁或者重新开始考试
---
lib/src/main/java/com/anyun/exam/lib/SvrManager.java | 6 ++
app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java | 28 +++++++++++--
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 80 ++++++++++++++++++++++++++--------------
3 files changed, 80 insertions(+), 34 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index d25415e..551316e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -370,11 +370,11 @@
}else{
MyLog.i(TAG,"璺�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I");
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,"鍦鸿�冨け璐ラ」鐩暟鎹〃琚竻绌烘洿鏂癠I");
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 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
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
}
+ /**
+ * 鍥犱负鑰冭瘯缁撴潫鐬棿娓呮帀鏁版嵁搴擄紝鎵�浠ヤ笉浼氭樉绀哄け璐ラ」鐩拰鍒嗘暟锛屽姞涓嬮潰杩欎釜鏂规硶鏄湪寮�濮嬭�冭瘯鐨勬椂鍊檙eset鏁版嵁锛�
+ * 杩欐牱灏卞彲浠ヤ繚璇佽�冭瘯缁撴潫鐨勬椂鍊欙紝杩樿兘鏄剧ず閿欒椤瑰拰鍒嗘暟(鍙槸淇濆瓨鍦ㄤ簡鍐呭瓨涓紝涓嶄細褰卞搷璁粌妯″紡鐨勪娇鐢級
+ */
+ 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) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
index 8acf0f9..6e7ace1 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/RoadDriveMapFragmentaa.java
@@ -8,6 +8,7 @@
import android.graphics.Paint;
import android.graphics.Path;
import android.os.Bundle;
+import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
@@ -24,6 +25,7 @@
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
+import java.io.IOException;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
@@ -35,6 +37,7 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.R;
+import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.RealTimeCarPos;
import safeluck.drive.evaluation.bean.RoadExamMap;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
@@ -47,7 +50,7 @@
private static final int ALL_MAP = 100;
private boolean isDrawing = false;
- private StringBuffer buffer;//瀛樻斁鍦板浘鐨刡uffer
+ private StringBuffer buffer = null;//瀛樻斁鍦板浘鐨刡uffer
private ICEventListener rtcmicEventListener = new ICEventListener() {
@Override
public void onCEvent(String topic, int msgCode, int resultCode, final Object obj) {
@@ -470,6 +473,7 @@
}
};
boolean flag = true;
+ String newmap = null;
class CalRunnable implements Runnable{
@@ -544,15 +548,29 @@
tire.add(tire4.get(0));
- if (buffer == null) {
- buffer = FileUtil.readAssetTxtFile(_mActivity, Constant.ROAD_MAP);
- Log.i(TAG, "ditu=" + buffer.toString().trim());
- }
+ final String roadMapPath = ExamPlatformData.getInstance().getRoadMapPath();
+ if (!TextUtils.isEmpty(roadMapPath)){
+ byte [] datas= FileUtil.readFile(roadMapPath);
+ if (datas != null){
+ newmap= new String(datas);
+ }else{
+ MyLog.i(String.format("鏂囦欢:%s涓嶅瓨鍦�",roadMapPath));
+ }
+
+ }else{
+
+ buffer = FileUtil.readAssetTxtFile(_mActivity, Constant.ROAD_MAP);
+ Log.i(TAG, "ditu=" + buffer.toString().trim());
+ }
+
+
Type type = new TypeToken<RoadExamMap>() {
}.getType();
if (buffer != null) {
examMaps = gson.fromJson(buffer.toString().trim(), type);
+ }else{
+ examMaps = gson.fromJson(newmap.trim(),type);
}
if (examMaps != null) {
diff --git a/lib/src/main/java/com/anyun/exam/lib/SvrManager.java b/lib/src/main/java/com/anyun/exam/lib/SvrManager.java
index c21b32f..f72ef4b 100644
--- a/lib/src/main/java/com/anyun/exam/lib/SvrManager.java
+++ b/lib/src/main/java/com/anyun/exam/lib/SvrManager.java
@@ -22,6 +22,7 @@
private static final SvrManager ourInstance = new SvrManager();
private static final String TAG = "SvrManager";
private MyServiceConn conn;
+ private Intent intent;
private IAYExamListener mCallback;
@@ -109,7 +110,7 @@
}
public void bindRemoteService(Context mContext){
- Intent intent = new Intent(mContext,RemoteService.class);
+ intent = new Intent(mContext,RemoteService.class);
conn = new MyServiceConn();
mContext.bindService(intent,conn, Context.BIND_AUTO_CREATE);
}
@@ -124,6 +125,9 @@
}
}
mContext.unbindService(conn);
+ if (intent!=null){
+ mContext.stopService(intent);
+ }
}
/**
--
Gitblit v1.8.0