From 9b0311fad79e23cbf38b36a700e0869f3d0089c5 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 14 一月 2020 11:17:56 +0800
Subject: [PATCH] 用户点击结束考试的时候,考试状态复位;
---
app/src/main/res/layout/layout_train_exit.xml | 2
app/src/main/java/safeluck/drive/evaluation/Constant.java | 1
app/src/main/java/safeluck/drive/evaluation/app.java | 8
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java | 6 +
app/src/main/res/drawable/btn_start_bg.xml | 6 +
app/src/main/res/layout/layout_net_train.xml | 2
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 180 ++++++++++++++++++++++++++---
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 95 +++++++++------
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java | 6
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java | 3
app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java | 6 +
11 files changed, 244 insertions(+), 71 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index d93692e..bf21ef0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -62,5 +62,6 @@
public static final String WORK_PLATFORM_STATUS_COLUMN = "WORK_PLATFORM_STATUS_COLUMN";
public static final int ENTER_OR_EXIT_ITEM = 0x000D;
+ public static final int HAS_BEEN_START_EXAM = 1;
public static String exam_enter_exitdata="exam_enter_exitdata";
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
index bf5b3e0..6a44694 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusDao.java
@@ -20,4 +20,7 @@
void updateEnter(int enter,int mapid);
@Query("update exam_status set startExam =:startexam")
void updateStartExam(int startexam);
+
+ @Query("select startExam from exam_status where map_id=1")
+ LiveData<Integer> getStartExam();
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
index 6135535..3527b3b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusInitWorker.java
@@ -17,12 +17,10 @@
private static final String TAG = ExamStatusInitWorker.class.getSimpleName();
private ExamStatus examStatus;
- private Random random;
public ExamStatusInitWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
examStatus = new ExamStatus();
- random = new Random(3);
}
@NonNull
@@ -30,9 +28,7 @@
public Result doWork() {
MyLog.i(TAG,"exam_status琛╮eset 鍒濆鍖�");
for (int i = 0; i < 5; i++) {
- int a = random.nextInt(3);
- Log.i(TAG, "doWork: a="+a);
- examStatus.setEnter(a);//榛樿寰呰�冮」鐩�
+ examStatus.setEnter(2);//榛樿寰呰�冮」鐩�
examStatus.setStartExam(0);//榛樿娌℃湁寮�濮嬭�冭瘯
examStatus.setMap_id(i+1);
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
index 9fca3fe..f88bd44 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusViewModel.java
@@ -11,10 +11,12 @@
public class ExamStatusViewModel extends AndroidViewModel {
ExamStatusWorkRepo examStatusWorkRepo;
LiveData<List<ExamStatus>> examStatus;
+ LiveData<Integer> startExam;
public ExamStatusViewModel(@NonNull Application application) {
super(application);
examStatusWorkRepo = new ExamStatusWorkRepo(application);
examStatus = examStatusWorkRepo.getExamStatus();
+ startExam = examStatusWorkRepo.getStartExam();
}
public void insert(ExamStatus examStatus){
@@ -32,4 +34,8 @@
public void updateStartExam(int statExam) {
examStatusWorkRepo.updateStartExam(statExam);
}
+
+ public LiveData<Integer> getStartExam() {
+ return startExam;
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
index 7cda4f1..a3b467b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/exam_status/ExamStatusWorkRepo.java
@@ -11,9 +11,11 @@
public class ExamStatusWorkRepo {
private ExamStatusDao examStatusDao;
private LiveData<List<ExamStatus>> examStatusLiveData;
+ private LiveData<Integer> startExam;
public ExamStatusWorkRepo(Application application) {
examStatusDao = WorkRoomDataBase.getWorkRoomDataBase(application).getExamStatusDao();
examStatusLiveData = examStatusDao.getExamStatus();
+ startExam = examStatusDao.getStartExam();
}
public void insertExamStatus(final ExamStatus examStatus){
@@ -46,4 +48,8 @@
public LiveData<List<ExamStatus>> getExamStatus() {
return examStatusLiveData;
}
+
+ public LiveData<Integer> getStartExam() {
+ return startExam;
+ }
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index 8b3129e..5e570ba 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -123,9 +123,8 @@
case Constant.NDK_START:
sendVechileInfo();
sendMapInfo();
- OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
- WorkManager.getInstance(getApplicationContext()).enqueue(examStatusInitWork);
- //TODO 闇�瑕佹竻闄pp_status鏁版嵁搴撹〃
+
+
break;
case Constant.RTK_PLATFORM_REGISTER_STATUS:
CEventCenter.dispatchEvent(Constant.BIND_CONNECT_RTK_TOPIC,cmd,0,json);
@@ -160,7 +159,8 @@
break;
case Constant.EXAM_STATUS_REPLY:
- MyLog.d(TAG, "鑰冭瘯寮�濮嬶紝闇�瑕佸垹闄や笂涓�涓�冭瘯瀛﹀憳鐨勬暟鎹簱澶辫触椤圭洰琛�");
+ MyLog.d(TAG, "鑰冭瘯寮�濮嬶紝澶嶄綅鏁版嵁搴撳け璐ラ」鐩〃");
+
try {
failedProjRepository.deleteAll();
JSONObject jsonObject =new JSONObject((String)json);
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 1b59726..bcb7af0 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -10,6 +10,7 @@
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ListView;
+import android.widget.TextView;
import android.widget.Toast;
@@ -17,8 +18,11 @@
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
+import androidx.work.OneTimeWorkRequest;
+import androidx.work.WorkManager;
import com.anyun.exam.lib.AYSdk;
+import com.anyun.exam.lib.MyLog;
import org.json.JSONException;
import org.json.JSONObject;
@@ -28,6 +32,7 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.Constant;
+import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
@@ -50,6 +55,7 @@
private static final String TAG = NetWorkTrainFragment.class.getSimpleName();
private ListView mListView;
private Button btn_start_exam;
+ private TextView tv_stop;//鍛煎彨璇锋眰锛堢粨鏉熻�冭瘯锛�
private ScoreAdapter mScoreAdapter;
private ArrowView av_zhijiao, av_curve, av_park, av_podao;
private HouseView houseView;
@@ -70,11 +76,11 @@
@Override
public boolean handleMessage(Message msg) {
if (msg.what == ADD_DATA){
- av_curve.setColor(whatPaintColor(examStatusList.get(3)));
- av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
+ houseView.setColor(whatPaintColor(examStatusList.get(0)));
av_podao.setColor(whatPaintColor(examStatusList.get(1)));
av_park.setColor(whatPaintColor(examStatusList.get(2)));
- houseView.setColor(whatPaintColor(examStatusList.get(0)));
+ av_curve.setColor(whatPaintColor(examStatusList.get(3)));
+ av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
}
return false;
}
@@ -84,23 +90,28 @@
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_train_fragment, container, false);
- item_conents.add("渚ф柟鍋滆溅");
initView(view);
FailedProjViewModel failedProjViewModel = ViewModelProviders.of(this).get(FailedProjViewModel.class);
failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
@Override
public void onChanged(List<FailedProj_select> failedProj_selects) {
- item_id = 0;
- mArrayList.clear();
- item_conents.clear();
- for (FailedProj_select f :
- failedProj_selects) {
- item_id += f.getScore_deducting();
- Log.i(TAG, "onChanged: " + f.toString());
- mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason()));
- item_conents.add(f.getItem_content());
- mScoreAdapter.addDatas(mArrayList);
+ if (failedProj_selects != null && failedProj_selects.size()>0){
+
+ item_id = 0;
+ mArrayList.clear();
+ item_conents.clear();
+ for (FailedProj_select f :
+ failedProj_selects) {
+ item_id += f.getScore_deducting();
+ Log.i(TAG, "onChanged: " + f.toString());
+ mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason()));
+ item_conents.add(f.getItem_content());
+ mScoreAdapter.addDatas(mArrayList);
+ }
+
+ MyLog.i(TAG,"鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
+ mHandler.obtainMessage(ADD_DATA).sendToTarget();
}
}
});
@@ -111,17 +122,27 @@
@Override
public void onChanged(List<ExamStatus> examStatus) {
- for (ExamStatus e :
- examStatus) {
- Log.i(TAG, "onChanged: e="+e.toString());
+
+
+ Log.i(TAG, "ExamStatus onChanged: ");
+ if (examStatus!=null && examStatus.size()>0){
+ MyLog.i(TAG,"鑰冭瘯鐘舵�佹洿鏂�");
+ examStatusList.clear();
+ examStatusList.addAll(examStatus);
+ mHandler.obtainMessage(ADD_DATA).sendToTarget();
+ if (examStatus.get(0).getStartExam() == Constant.HAS_BEEN_START_EXAM){
+ btn_start_exam.setEnabled(false);
+ tv_stop.setEnabled(true);
+ }else{
+ btn_start_exam.setEnabled(true);
+ tv_stop.setEnabled(false);
+ }
}
- Log.i(TAG, "onChanged: ");
- examStatusList.clear();
- examStatusList.addAll(examStatus);
- mHandler.obtainMessage(ADD_DATA).sendToTarget();
+
}
});
+
return view;
}
@@ -175,26 +196,13 @@
private void initView(View view) {
- av_curve = view.findViewById(R.id.av2);
- av_park = view.findViewById(R.id.av3);
- av_podao = view.findViewById(R.id.av4);
- av_zhijiao = view.findViewById(R.id.av1);
+ av_curve = view.findViewById(R.id.av3);
+ av_park = view.findViewById(R.id.av2);
+ av_podao = view.findViewById(R.id.av1);
+ av_zhijiao = view.findViewById(R.id.av4);
houseView = view.findViewById(R.id.hv);
-//绮夌孩鑹叉鍦ㄨ繘琛岃椤圭洰鐨勮�冭瘯
-// examStatusList.add(new ExamStatus(1, 0));
-// examStatusList.add(new ExamStatus(2, 1));
-// examStatusList.add(new ExamStatus(3, 0));
-// examStatusList.add(new ExamStatus(4, 2));
-// examStatusList.add(new ExamStatus(5, 1));
-
-// mHandler.obtainMessage(ADD_DATA).sendToTarget();
-// av_curve.setColor(whatPaintColor(examStatusList.get(3)));
-// av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
-// av_podao.setColor(whatPaintColor(examStatusList.get(1)));
-// av_park.setColor(whatPaintColor(examStatusList.get(2)));
-// houseView.setColor(whatPaintColor(examStatusList.get(0)));
-
+ view.findViewById(R.id.btn_return).setOnClickListener(this);
mListView = view.findViewById(R.id.lv);
mListView.setFocusable(false);
view.findViewById(R.id.view_map).setOnClickListener(this);
@@ -202,7 +210,8 @@
mListView.setAdapter(mScoreAdapter);
btn_start_exam = view.findViewById(R.id.btn_start);
btn_start_exam.setOnClickListener(this);
- view.findViewById(R.id.tv_stop).setOnClickListener(this);
+ tv_stop = view.findViewById(R.id.tv_stop);
+ tv_stop.setOnClickListener(this);
mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null));
}
@@ -213,6 +222,7 @@
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_start:
+ examStatusViewModel.updateStartExam(Constant.HAS_BEEN_START_EXAM);
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("exam", 1);
@@ -225,6 +235,8 @@
break;
case R.id.tv_stop:
Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show();
+ OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
+ WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("exam", 0);
@@ -242,6 +254,9 @@
}
start(mapFragment);
break;
+ case R.id.btn_return:
+ _mActivity.onBackPressed();
+ break;
}
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index da9a80a..8c3dc88 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -7,7 +7,11 @@
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;
+import androidx.work.OneTimeWorkRequest;
+import androidx.work.WorkManager;
+import android.os.Handler;
+import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -16,7 +20,11 @@
import android.widget.ListView;
import android.widget.Toast;
+import com.anyun.exam.lib.AYSdk;
import com.anyun.exam.lib.MyLog;
+
+import org.json.JSONException;
+import org.json.JSONObject;
import java.util.ArrayList;
import java.util.EventListener;
@@ -26,6 +34,9 @@
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.DB.Student;
import safeluck.drive.evaluation.DB.WokViewModel;
+import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
+import safeluck.drive.evaluation.DB.exam_status.ExamStatusInitWorker;
+import safeluck.drive.evaluation.DB.exam_status.ExamStatusViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProjViewModel;
import safeluck.drive.evaluation.DB.failitems.FailedProj_select;
import safeluck.drive.evaluation.R;
@@ -33,6 +44,8 @@
import safeluck.drive.evaluation.bean.ScoreBean;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
+import safeluck.drive.evaluation.customview.ArrowView;
+import safeluck.drive.evaluation.customview.HouseView;
/**鍗曟満璁粌UI
* MyApplication2
@@ -48,26 +61,41 @@
private ScoreAdapter mScoreAdapter;
private int item_id;//鎵e垎鍒嗘暟鎬诲拰
+ private ArrowView av_zhijiao, av_curve, av_park, av_podao;
+ private HouseView houseView;
+ private List<ExamStatus> examStatusList = new ArrayList<>();
+ private List<String> item_conents = new ArrayList<>();//鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�
+
+ private ExamStatusViewModel examStatusViewModel;
+ private static final int ADD_DATA = 1;
private List<ScoreBean> mArrayList = new ArrayList<>();
+ private View tv_stop;
- private ICEventListener eventListener =new ICEventListener() {
+
+ private Handler mHandler = new Handler(new Handler.Callback() {
@Override
- public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
- Log.i(TAG, "onCEvent: "+(String)obj);
+ public boolean handleMessage(Message msg) {
+ if (msg.what == ADD_DATA){
+ houseView.setColor(whatPaintColor(examStatusList.get(0)));
+ av_podao.setColor(whatPaintColor(examStatusList.get(1)));
+ av_park.setColor(whatPaintColor(examStatusList.get(2)));
+ av_curve.setColor(whatPaintColor(examStatusList.get(3)));
+ av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
+ }
+ return false;
}
- };
+ });
+
@Override
public void onAttach(Context context) {
super.onAttach(context);
- CEventCenter.onBindEvent(true, eventListener,"train");
}
@Override
public void onDetach() {
super.onDetach();
- CEventCenter.onBindEvent(false,eventListener,"train");
}
public static SupportFragment newInstance(){
@@ -86,23 +114,68 @@
failedProjViewModel.getFailedProjectsForI(Constant.TEST_STU_ID).observe(this, new Observer<List<FailedProj_select>>() {
@Override
public void onChanged(List<FailedProj_select> failedProj_selects) {
- item_id = 0;
- mArrayList.clear();
- for (FailedProj_select f :
- failedProj_selects) {
- item_id += f.getScore_deducting();
- Log.i(TAG, "onChanged: "+f.toString());
- mArrayList.add(new ScoreBean(f.getScore_deducting(),f.getItem_content(),f.getDeducting_reason()));
- mScoreAdapter.addDatas(mArrayList);
+ if (failedProj_selects != null && failedProj_selects.size()>0){
+
+ item_id = 0;
+ mArrayList.clear();
+ item_conents.clear();
+ for (FailedProj_select f :
+ failedProj_selects) {
+ item_id += f.getScore_deducting();
+ Log.i(TAG, "onChanged: " + f.toString());
+ mArrayList.add(new ScoreBean(f.getScore_deducting(), f.getItem_content(), f.getDeducting_reason()));
+ item_conents.add(f.getItem_content());
+ mScoreAdapter.addDatas(mArrayList);
+ }
+
+ MyLog.i(TAG,"鐩戞祴鍒版湁澶辫触椤圭洰鍔犲叆锛岄�氱煡UI鏇存柊棰滆壊");
+ mHandler.obtainMessage(ADD_DATA).sendToTarget();
+
+ }else {
+ Log.i(TAG, "onChanged: 澶辫触椤圭洰");
}
+ }
+ });
+
+
+ examStatusViewModel = ViewModelProviders.of(this).get(ExamStatusViewModel.class);
+ examStatusViewModel.getExamStatus().observe(this, new Observer<List<ExamStatus>>() {
+ @Override
+ public void onChanged(List<ExamStatus> examStatus) {
+
+ for (ExamStatus e :
+ examStatus) {
+ Log.i(TAG, "onChanged: e="+e.toString());
+ }
+ Log.i(TAG, "onChanged: ");
+ examStatusList.clear();
+ examStatusList.addAll(examStatus);
+ mHandler.obtainMessage(ADD_DATA).sendToTarget();
+ if (examStatus.get(0).getStartExam() == Constant.HAS_BEEN_START_EXAM){
+ btn_train.setEnabled(false);
+ tv_stop.setEnabled(true);
+ }else{
+ btn_train.setEnabled(true);
+ tv_stop.setEnabled(false);
+ }
+
}
});
return view;
}
private void initView(View view) {
- sendRTKConfig2RemoteService();
+
+ av_curve = view.findViewById(R.id.av3);
+ av_park = view.findViewById(R.id.av2);
+ av_podao = view.findViewById(R.id.av1);
+ av_zhijiao = view.findViewById(R.id.av4);
+ houseView = view.findViewById(R.id.hv);
+
+ view.findViewById(R.id.btn_return).setOnClickListener(this);
mListView = view.findViewById(R.id.lv);
+ tv_stop = view.findViewById(R.id.tv_stop);
+ tv_stop.setOnClickListener(this);
mListView.setFocusable(false);//listview涓嶈幏鍙栫劍鐐癸紝涓嶇劧鐨勮瘽scrollview浼氶《鍒板簳閮�
view.findViewById(R.id.view_map).setOnClickListener(this);
btn_train = view.findViewById(R.id.btn_start);
@@ -117,11 +190,52 @@
}
- private void sendRTKConfig2RemoteService() {
-// MyLog.d(TAG,"涓诲姩鎺ㄩ�丷TKConfig");
-// CEventCenter.dispatchEvent(Constant.BIND_RTKCONFIG_TOPIC,Constant.FETCH_RTK_PLATFORM_INFO,0,"");
- }
+ private int whatPaintColor(ExamStatus examStat) {
+ int map_id = examStat.getMap_id();
+ int status = examStat.getEnter();
+ Log.i(TAG, "whatPaintColor: map_id="+map_id+" status="+status);
+ switch (status) {
+ case 0://鑰冭瘯瀹屾垚
+ switch (map_id) {
+ case 1://鍊掑簱
+ if (item_conents.contains("鍊掕溅鍏ュ簱")) {
+ return getResources().getColor(R.color.colorAccent);
+ }else{
+ return getResources().getColor(R.color.train_btn_return);
+ }
+ case 2:
+ if (item_conents.contains("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�")) {
+ return getResources().getColor(R.color.colorAccent);
+ }else{
+ return getResources().getColor(R.color.train_btn_return);
+ }
+ case 3:
+ if (item_conents.contains("渚ф柟鍋滆溅")) {
+ return getResources().getColor(R.color.colorAccent);
+ }else{
+ return getResources().getColor(R.color.train_btn_return);
+ }
+ case 4:
+ if (item_conents.contains("鏇茬嚎琛岄┒")) {
+ return getResources().getColor(R.color.colorAccent);
+ }else{
+ return getResources().getColor(R.color.train_btn_return);
+ }
+ case 5:
+ if (item_conents.contains("鐩磋杞集")) {
+ return getResources().getColor(R.color.colorAccent);
+ }else{
+ return getResources().getColor(R.color.train_btn_return);
+ }
+ }
+ case 1://杩涘叆鑰冨満椤圭洰
+ return getResources().getColor(R.color.pink);
+ case 2://寰呰��
+ return getResources().getColor(R.color.examing);
+ }
+ return getResources().getColor(R.color.examing);
+ }
@Override
public void onClick(View v) {
switch (v.getId()){
@@ -135,7 +249,33 @@
}
break;
case R.id.btn_start:
- Toast.makeText(_mActivity, "寮�濮嬪方瀵�", Toast.LENGTH_SHORT).show();
+ examStatusViewModel.updateStartExam(Constant.HAS_BEEN_START_EXAM);
+ try {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("exam", 1);
+ String examJson = jsonObject.toString();
+ Log.i(TAG, "onClick: " + examJson);
+ AYSdk.getInstance().sendCmd(Constant.EXAM_STATUS, examJson);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ break;
+ case R.id.tv_stop:
+ Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show();
+ OneTimeWorkRequest examStatusInitWork = OneTimeWorkRequest.from(ExamStatusInitWorker.class);
+ WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
+ try {
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("exam", 0);
+ String examJson = jsonObject.toString();
+ Log.i(TAG, "onClick: " + examJson);
+ AYSdk.getInstance().sendCmd(Constant.EXAM_STATUS, examJson);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ break;
+ case R.id.btn_return:
+ _mActivity.onBackPressed();
break;
}
}
diff --git a/app/src/main/res/drawable/btn_start_bg.xml b/app/src/main/res/drawable/btn_start_bg.xml
new file mode 100644
index 0000000..e7d2ef3
--- /dev/null
+++ b/app/src/main/res/drawable/btn_start_bg.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+<item android:state_pressed="true" android:drawable="@android:color/holo_orange_dark"/>
+<item android:state_enabled="false" android:drawable="@android:color/darker_gray"/>
+ <item android:drawable="@android:color/holo_red_dark"/>
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_net_train.xml b/app/src/main/res/layout/layout_net_train.xml
index a55dc01..0488238 100644
--- a/app/src/main/res/layout/layout_net_train.xml
+++ b/app/src/main/res/layout/layout_net_train.xml
@@ -46,7 +46,7 @@
android:textColor="@android:color/white"
android:padding="10dp"
- android:background="@color/colorAccent"
+ android:background="@drawable/btn_start_bg"
android:layout_toRightOf="@+id/tv_pos"/>
</RelativeLayout>
<include layout="@layout/layout_net_train_item"/>
diff --git a/app/src/main/res/layout/layout_train_exit.xml b/app/src/main/res/layout/layout_train_exit.xml
index 2405699..3d86e5b 100644
--- a/app/src/main/res/layout/layout_train_exit.xml
+++ b/app/src/main/res/layout/layout_train_exit.xml
@@ -18,7 +18,7 @@
<Button
android:layout_width="110dp"
android:layout_height="wrap_content"
- android:background="@android:color/holo_red_dark"
+ android:background="@drawable/btn_start_bg"
android:layout_marginTop="10dp"
android:textSize="20sp"
android:layout_below="@+id/btn_return"
--
Gitblit v1.8.0