From 12d8a62ad4e26b21d2abfe54bb5dab4eef6435f2 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期四, 17 九月 2020 14:51:02 +0800
Subject: [PATCH] 加入删除线路功能;选择好线路之后才开始 训练;数据库表增加删除功能
---
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java | 38 ++++++------
app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java | 4 +
app/src/main/java/safeluck/drive/evaluation/DB/route/RouteTriggerLineDao.java | 3 +
app/src/main/java/safeluck/drive/evaluation/adapter/RouteSelectAdapter.java | 31 +++++++++
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 94 ++++++++++++++++++-------------
app/src/main/java/safeluck/drive/evaluation/DB/route/RouteCrossDao.java | 3 +
6 files changed, 112 insertions(+), 61 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
index d6d7205..f7b18d1 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteBeanDao.java
@@ -2,6 +2,7 @@
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
+import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
@@ -21,4 +22,7 @@
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertRouteBean(RouteBean routeBean);
+
+ @Delete
+ void deleteRouteBean(RouteBean item);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteCrossDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteCrossDao.java
index 2ca893d..b6dd6ca 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteCrossDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteCrossDao.java
@@ -20,4 +20,7 @@
void insertRouteCross(RouteCross routeCross);
@Query("SELECT * FROM RouteCross where routeline_id = :routeline_id")
List<RouteCross> getAllRouteCross(int routeline_id);
+
+ @Query("DELETE FROM RouteCross where routeline_id=:id")
+ void deleteRouteCross(int id);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteTriggerLineDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteTriggerLineDao.java
index 767cdf4..bb2111e 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteTriggerLineDao.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/route/RouteTriggerLineDao.java
@@ -21,4 +21,7 @@
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertTriggerLine(RouteTriggerLine routeTriggerLine);
+
+ @Query("DELETE FROM ROUTETRIGGERLINE where routeline_id=:id")
+ void deleteRouteTriggerLine(int id);
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/RouteSelectAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/RouteSelectAdapter.java
index bf4ec9c..21a9a65 100644
--- a/app/src/main/java/safeluck/drive/evaluation/adapter/RouteSelectAdapter.java
+++ b/app/src/main/java/safeluck/drive/evaluation/adapter/RouteSelectAdapter.java
@@ -7,15 +7,19 @@
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
+import safeluck.drive.evaluation.DB.WorkRoomDataBase;
import safeluck.drive.evaluation.DB.route.RouteBean;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.bean.SysExamSettingLargeMenu;
+import safeluck.drive.evaluation.customview.MyDialog;
import safeluck.drive.evaluation.listener.OnItemClickListener;
+import safeluck.drive.evaluation.util.CThreadPoolExecutor;
/**
*
@@ -58,8 +62,31 @@
RouteBean item = mItems.get(position);
holder.tvTitle.setText(item.getRouteName());
holder.iv_delete.setOnClickListener((v)->{
- mItems.remove(item);
- notifyDataSetChanged();
+ MyDialog myDialog = MyDialog.Companion.newInstance(String.format("纭畾瑕佸垹闄�%s鍚�?",item.getRouteName()));
+ myDialog.setOnClick(new MyDialog.MyOnClickListener() {
+ @Override
+ public void onSure() {
+ mItems.remove(item);
+ CThreadPoolExecutor.runInBackground(new Runnable() {
+ @Override
+ public void run() {
+ //todo 闇�瑕佷紭鍖�
+ //鍒犻櫎鐩稿叧椤圭洰
+ WorkRoomDataBase.getWorkRoomDataBase(mContext.getApplicationContext()).getRouteBeanDao().deleteRouteBean(item);
+ WorkRoomDataBase.getWorkRoomDataBase(mContext.getApplicationContext()).getRouteTriggerLineDao().deleteRouteTriggerLine(item.getId());
+ WorkRoomDataBase.getWorkRoomDataBase(mContext.getApplicationContext()).getRouteCrooDao().deleteRouteCross(item.getId());
+
+ }
+ });
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public void onCancle() {
+
+ }
+ });
+ myDialog.show((((FragmentActivity)mContext).getSupportFragmentManager()),"xxx");
});
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
index 5d1d90e..c5dd073 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -111,25 +111,25 @@
break;
case R.id.exit_sys:
-// MyDialog myDialog = MyDialog.Companion.newInstance("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨");
-//
-// myDialog.setOnClick(new MyDialog.MyOnClickListener() {
-// @Override
-// public void onSure() {
-// AYSdk.getInstance().uninit();
-// _mActivity.finish();
-// System.exit(0);
-//
-//
-// }
-//
-// @Override
-// public void onCancle() {
-//
-// }
-// });
-//
-// myDialog.show(getFragmentManager(),"mydialog");
+ MyDialog myDialog = MyDialog.Companion.newInstance("鎮ㄥ皢閫�鍑虹郴缁�,璇风‘璁ゆ暟鎹凡淇濆瓨");
+
+ myDialog.setOnClick(new MyDialog.MyOnClickListener() {
+ @Override
+ public void onSure() {
+ AYSdk.getInstance().uninit();
+ _mActivity.finish();
+ System.exit(0);
+
+
+ }
+
+ @Override
+ public void onCancle() {
+
+ }
+ });
+
+ myDialog.show(getFragmentManager(),"mydialog");
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 d2b8b6d..eb04c8d 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -384,8 +384,9 @@
routeLineViewModel.getRouteBeans().observe(this, new Observer<List<RouteBean>>() {
@Override
public void onChanged(List<RouteBean> routeBeans) {
- if (routeBeans.size()>0){
+
mRouteBeans.clear();
+ if (routeBeans.size()>0){
mRouteBeans.addAll(routeBeans);
}
}
@@ -779,19 +780,25 @@
private void sendJK0202(int type) {
+ exam_type = type;
+
if (type==3|| type==4){
sendRouteLine();
+ }else{
+ changeUi(type);
}
+ }
+
+ private void changeUi(int type) {
//闅愯棌閲囬泦椤圭洰
items_score.setVisibility(View.VISIBLE);
items.setVisibility(View.VISIBLE);
- route_collect.setVisibility(View.GONE);
-
- exam_type = type;
- ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE);
+ route_collect.setVisibility(View.GONE);
ExamPlatformData.getInstance().setExamType(exam_type);
+ ExamPlatformData.getInstance().setTrainingMode(ExamPlatformData.TRAINING_MODE);
+
examStatusViewModel.updateStartExam(exam_type);
ExamPlatformData.getInstance().getTTS().speak("寮�濮嬭缁�");
}
@@ -832,50 +839,57 @@
RouteCollect routeCollect = new RouteCollect();
List<RouteCollect> routeCollects = new ArrayList<>();
int id = res;
+ changeUi(exam_type);
CThreadPoolExecutor.runInBackground(new Runnable() {
@Override
public void run() {
+ for (RouteBean bean:mRouteBeans){
+ if (id==bean.getId()){
- routeCollect.setName(mRouteBeans.get(id).getRouteName());
- List<RouteTriggerLine> routeTriggerLines = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteTriggerLineDao().getAllRouteTriggerLine(id);
- List<RouteCross> routeCrosses = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteCrooDao().getAllRouteCross(id);
- for (RouteTriggerLine line:routeTriggerLines){
- RouteCollect.TriggerLineBean triggerLineBean = new RouteCollect.TriggerLineBean();
- int road = line.getRoad();
- int type = line.getType();
+ routeCollect.setName(bean.getRouteName());
+ List<RouteTriggerLine> routeTriggerLines = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteTriggerLineDao().getAllRouteTriggerLine(id);
+ List<RouteCross> routeCrosses = WorkRoomDataBase.getWorkRoomDataBase(getContext().getApplicationContext()).getRouteCrooDao().getAllRouteCross(id);
+ for (RouteTriggerLine line:routeTriggerLines){
+ RouteCollect.TriggerLineBean triggerLineBean = new RouteCollect.TriggerLineBean();
+ int road = line.getRoad();
+ int type = line.getType();
- double x = line.getX();
- double y = line.getY();
- xy.clear();
- xy.add(x);
- xy.add(y);
- triggerLineBean.setRoad(road);
- triggerLineBean.setType(type);
- triggerLineBean.setX_y(xy);
- triggerLineBeans.add(triggerLineBean);
+ double x = line.getX();
+ double y = line.getY();
+ xy.clear();
+ xy.add(x);
+ xy.add(y);
+ triggerLineBean.setRoad(road);
+ triggerLineBean.setType(type);
+ triggerLineBean.setX_y(xy);
+ triggerLineBeans.add(triggerLineBean);
+ }
+ routeCollect.setTrigger_line(triggerLineBeans);
+
+ for (RouteCross routeCross:routeCrosses){
+ int idx = routeCross.getIdx();
+ int road = routeCross.getRoad();
+ int active = routeCross.getActive();
+ RouteCollect.CrossingActiveBean crossingActiveBean = new RouteCollect.CrossingActiveBean();
+ crossingActiveBean.setActive(active);
+ crossingActiveBean.setIdx(idx);
+ crossingActiveBean.setRoad(road);
+ crossingActiveBeans.add(crossingActiveBean);
+ }
+ routeCollect.setCrossing_active(crossingActiveBeans);
+ routeCollects.add(routeCollect);
+
+ remoteRouteCollect.setScheme(routeCollects);
+ String str = new Gson().toJson(remoteRouteCollect);
+ Log.i(TAG,"json====="+str);
+ //todo 鍙戦�佺嚎璺�
+ sendMessage();
+ break;
+ }
}
- routeCollect.setTrigger_line(triggerLineBeans);
- for (RouteCross routeCross:routeCrosses){
- int idx = routeCross.getIdx();
- int road = routeCross.getRoad();
- int active = routeCross.getActive();
- RouteCollect.CrossingActiveBean crossingActiveBean = new RouteCollect.CrossingActiveBean();
- crossingActiveBean.setActive(active);
- crossingActiveBean.setIdx(idx);
- crossingActiveBean.setRoad(road);
- crossingActiveBeans.add(crossingActiveBean);
- }
- routeCollect.setCrossing_active(crossingActiveBeans);
- routeCollects.add(routeCollect);
-
- remoteRouteCollect.setScheme(routeCollects);
- String str = new Gson().toJson(remoteRouteCollect);
- Log.i(TAG,"json====="+str);
- //todo 鍙戦�佺嚎璺�
- sendMessage();
}
});
}
--
Gitblit v1.8.0