app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/safeluck/drive/evaluation/customview/MyDialogFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/safeluck/drive/evaluation/bean/ExamPlatformData.java
@@ -39,7 +39,7 @@ public static final int DEV_LOGIN = 6; private static HashMap<Integer,String> examPlatformStrs = new HashMap<>(); private static HashMap<Integer,String> enter_exit_item_tts = new HashMap<>(); private static List<String> simulate_light_tips = new ArrayList<>(); private static List<SimulateNightBean.QuestionBean> simulate_light_tips = new ArrayList<>(); static { examPlatformStrs.put(TCP_DISCONNECT,"未连接"); examPlatformStrs.put(TCP_CONNECTED,"已连接"); @@ -61,16 +61,22 @@ enter_exit_item_tts.put(5,"直角转弯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add("开启前照灯"); simulate_light_tips.add(new SimulateNightBean.QuestionBean(1,"开启前照灯")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(2,"夜间在没有路灯照明不良条件下行驶")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(3,"夜间在窄路与非机动车会车")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(4,"请将前照灯更换成远光")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(5,"夜间同方向近距离跟车行驶")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(6,"雾天行驶")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(7,"拱桥、人行道")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(8,"夜间在道路上发生故障,妨碍交通又难以移动")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(9," 夜间通过急弯、坡路、拱桥、人行横道、或者没有交通信号灯控制的路口")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(10,"没有交通控制灯之路口")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(11,"临时停车")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(12,"超车")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(100,"下面将进行模拟夜间行驶场景灯光使用的考试,请按语音指令在5秒内做出相应的灯光操作")); simulate_light_tips.add(new SimulateNightBean.QuestionBean(101,"模拟夜间考试完成请关闭所有灯光,请起步继续完成考试")); @@ -238,4 +244,8 @@ public String getPhone() { return mPhone; } public List<SimulateNightBean.QuestionBean> getSimulate_light_tips() { return simulate_light_tips; } } app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java
@@ -37,6 +37,11 @@ private int item; private String tts; public QuestionBean(int i, String s) { this.item =i; this.tts = s; } public int getItem() { return item; } app/src/main/java/safeluck/drive/evaluation/customview/MyDialogFragment.java
New file @@ -0,0 +1,59 @@ package safeluck.drive.evaluation.customview; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; public class MyDialogFragment extends DialogFragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return super.onCreateView(inflater, container, savedInstanceState); } @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { AlertDialog dialog = new AlertDialog.Builder(getActivity()) .setTitle("请选择考试项") .setMessage("来选择你要实现的一个愿望把") .setPositiveButton("场考", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (callback != null){ callback.changKao(); } } }) .setNegativeButton("路考", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (callback!= null){ callback.luKao(); } } }).create(); return dialog; } private Callback callback; public interface Callback{ void changKao(); void luKao(); } public void setCallback(Callback callback) { this.callback = callback; } } app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -27,6 +27,7 @@ import com.anyun.exam.lib.AYSdk; import com.anyun.exam.lib.MyLog; import com.google.gson.Gson; import org.json.JSONException; import org.json.JSONObject; @@ -51,10 +52,12 @@ import safeluck.drive.evaluation.DB.exam_status.ExamStatus; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.bean.ScoreBean; import safeluck.drive.evaluation.bean.SimulateNightBean; import safeluck.drive.evaluation.cEventCenter.CEventCenter; import safeluck.drive.evaluation.cEventCenter.ICEventListener; import safeluck.drive.evaluation.customview.ArrowView; import safeluck.drive.evaluation.customview.HouseView; import safeluck.drive.evaluation.customview.MyDialogFragment; import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.JKMessage0201; import safeluck.drive.evaluation.platformMessage.JKMessage0202; @@ -71,9 +74,12 @@ public class NetWorkTrainFragment extends SupportFragment implements View.OnClickListener { private static final String TAG = NetWorkTrainFragment.class.getSimpleName(); private int exam_type = 2;//2 场地;3 道路,模拟夜考;4 道路,实际夜考; private ListView mListView; private Button btn_start_exam; private TextView tv_stop;//呼叫请求(结束考试) private Gson gson = new Gson(); private ScoreAdapter mScoreAdapter; private ArrowView av_zhijiao, av_curve, av_park, av_podao; private HouseView houseView; @@ -199,7 +205,7 @@ if (examStatus.get(0).getStartExam() == Constant.HAS_BEEN_START_EXAM){ btn_start_exam.setEnabled(false); tv_stop.setEnabled(true); sendExamJson(Constant.HAS_BEEN_START_EXAM); sendExamJson(Constant.HAS_BEEN_START_EXAM,exam_type); }else{ btn_start_exam.setEnabled(true); tv_stop.setEnabled(false); @@ -390,26 +396,54 @@ } MyDialogFragment myDialogFragment; SimulateNightBean simulateNightBean = null; @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_start: examStatusViewModel.updateStartExam(Constant.HAS_BEEN_START_EXAM); failedProjViewModel.deleteAll(); sendExamJson(1); if (myDialogFragment == null){ myDialogFragment = new MyDialogFragment(); } myDialogFragment.show(getFragmentManager(),"dialog"); myDialogFragment.setCallback(new MyDialogFragment.Callback() { @Override public void changKao() { exam_type = 2; sendExamJson(1,exam_type); ExamPlatformData.getInstance().getTTS().speak("开始考试"); } @Override public void luKao() { exam_type = 3; sendExamJson(1,exam_type); if (simulateNightBean == null){ simulateNightBean = new SimulateNightBean(); } simulateNightBean.setExam(0); List<SimulateNightBean.QuestionBean> list = ExamPlatformData.getInstance().getSimulate_light_tips(); simulateNightBean.setQuestion(list.subList(list.size()-2,list.size()-1)); AYSdk.getInstance().sendCmd(0x8012,gson.toJson(simulateNightBean)); } }); iv_head.getDrawable().setLevel(1); //清空sns sns.clear(); //TODO 发送JKMessage0202 给平台,开始考试 JKMessage0202 jkMessage0202 = new JKMessage0202(); jkMessage0202.phone = ExamPlatformData.getInstance().getPhone(); jkMessage0202.timeBCD = new Date(); jkMessage0202.curr_exam = 0; jkMessage0202.ID = ExamPlatformData.getInstance().getID(); jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id(); MessageProcessor.getInstance().sendMessage(jkMessage0202); ExamPlatformData.getInstance().getTTS().speak("开始考试"); // JKMessage0202 jkMessage0202 = new JKMessage0202(); // jkMessage0202.phone = ExamPlatformData.getInstance().getPhone(); // jkMessage0202.timeBCD = new Date(); // jkMessage0202.curr_exam = 0; // jkMessage0202.ID = ExamPlatformData.getInstance().getID(); // jkMessage0202.exam_id = ExamPlatformData.getInstance().getExam_id(); // MessageProcessor.getInstance().sendMessage(jkMessage0202); break; case R.id.tv_stop: Toast.makeText(_mActivity, "结束考试", Toast.LENGTH_SHORT).show(); @@ -436,10 +470,11 @@ } } private void sendExamJson(int i) { private void sendExamJson(int i,int type) { try { JSONObject jsonObject = new JSONObject(); jsonObject.put("exam", i); jsonObject.put("type", type); String examJson = jsonObject.toString(); Log.i(TAG, "onClick: " + examJson); AYSdk.getInstance().sendCmd(Constant.EXAM_STATUS, examJson); @@ -459,7 +494,7 @@ OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class); WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork); ExamPlatformData.getInstance().getTTS().speak("结束考试"); sendExamJson(0); sendExamJson(0,exam_type); //TODO 发送JKMessage0204给平台 结束考试 JKMessage0204 jkMessage0204 = new JKMessage0204(); jkMessage0204.phone = ExamPlatformData.getInstance().getPhone();