From 8eef2d05a5e785ec0728e9ccbf8f9c4f672409cb Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期一, 21 九月 2020 17:34:02 +0800
Subject: [PATCH] 路口选择情况下,不断的重复路口采集的话给出提示是否覆盖以前

---
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java |  116 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 76 insertions(+), 40 deletions(-)

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 266a406..f952304 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -73,6 +73,7 @@
 import safeluck.drive.evaluation.cEventCenter.CEventCenter;
 import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 
+import safeluck.drive.evaluation.customview.MyDialog;
 import safeluck.drive.evaluation.customview.MyInputDialog;
 import safeluck.drive.evaluation.customview.QRCodeDialog;
 import safeluck.drive.evaluation.customview.SelectDialog;
@@ -1165,62 +1166,66 @@
             //閬撹矾淇℃伅鏄病鏈夎繘琛屾湰鍦颁繚瀛樼殑锛屽鏋滃穿婧冪殑璇濓紝灏辨湁闂
             stringBuilder.append(String.format("閬撹矾淇℃伅%s",roadInfo.toString()));
             stringBuilder.append("\n");
+        ExamPlatformData.getInstance().getTTS().speak(String.format("%s%d璺�",roadInfo.getStatus()==1?"杩涘叆":"閫�鍑�",
+                roadInfo.getRoad_id()));
             showRouteCollectInfoText();
     }
     SelectDialogThree roadCrossDialog;
+    //鏍囪鏄惁宸茬粡鎻掑叆浜嗚璺彛鏂瑰悜 宸茬粡鎻掑叆=true
+    private boolean hasInsertRoadCrossDirect = false;
     @Override
     public void roadcrossInfo(RoadCrossInfo roadCrossInfo) {
         Log.i(TAG,String.format("閬撹矾璺彛淇℃伅%s",roadCrossInfo.toString()));
         stringBuilder.append(String.format("閬撹矾璺彛淇℃伅%s",roadCrossInfo.toString()));
         stringBuilder.append("\n");
         showRouteCollectInfoText();
+
         CThreadPoolExecutor.runInBackground(new Runnable() {
             @Override
             public void run() {
-                routeCross = new RouteCross();
 
-                routeCross.setRouteline_id(currRouteBean.getId());
-                routeCross.setRoad(roadCrossInfo.getRoad_id());
-                routeCross.setIdx(roadCrossInfo.getCrossing_index());
+                ExamPlatformData.getInstance().getTTS().speak(String.format("%s%d鍙疯矾绗�%d涓矾鍙�",roadCrossInfo.getStatus()==1?"杩涘叆":"閫�鍑�",
+                        roadCrossInfo.getRoad_id(),roadCrossInfo.getCrossing_index()+1));
                 if (roadCrossInfo.getStatus() == 1){
+                    List<RouteCross> roadCrosses = routeLineViewModel.getRoadCrosses(currRouteBean.getId());
+
+
+                    routeCross = new RouteCross();
+
+                    routeCross.setRouteline_id(currRouteBean.getId());
+                    routeCross.setRoad(roadCrossInfo.getRoad_id());
+                    routeCross.setIdx(roadCrossInfo.getCrossing_index());
                     CThreadPoolExecutor.runOnMainThread(new Runnable() {
                         @Override
                         public void run() {
-                            roadCrossDialog = SelectDialogThree.newInstance("璺彛鐩磋","璺彛宸﹁浆寮�","璺彛鍙宠浆寮�","璺彛鎺夊ご");
-                            roadCrossDialog.show(getFragmentManager(),"aaa");
-                            roadCrossDialog.setSelectedListener(new SelectDialogThree.OnSelectedListener() {
-                                @Override
-                                public void makeYourChoice(int res) {
-                                    switch (res){
-                                        case 0:
-                                            //鐩磋
-                                            routeCross.setActive(1);
+                            for (RouteCross routeCross:roadCrosses){
+                                if (routeCross.getIdx()==roadCrossInfo.getCrossing_index()&&routeCross.getRoad()==roadCrossInfo.getRoad_id()){
+                                    Log.i(TAG,"璇ヨ矾鍙e凡缁忛�夋嫨浜嗚椹舵柟鍚戯紝纭畾瑕佽鐩栦互鍓嶏紵");
+                                    MyDialog myDialog = MyDialog.Companion.newInstance("璇ヨ矾鍙e凡缁忛�夋嫨浜嗚椹舵柟鍚戯紝纭畾瑕佽鐩栦互鍓嶏紵");
+                                    hasInsertRoadCrossDirect = true;
+                                    myDialog.setOnClick(new MyDialog.MyOnClickListener() {
+                                        @Override
+                                        public void onSure() {
+                                            selectRoadCrossDirect(routeCross);
+                                        }
 
-                                            break;
-                                        case 1:
-                                            //宸﹁浆寮�
-                                            routeCross.setActive(2);
-                                            break;
-                                        case 2:
-                                            //鍙宠浆寮�
-                                            routeCross.setActive(4);
-                                            break;
-                                        case 3:
-                                            //璋冨ご
-                                            routeCross.setActive(8);
-                                            break;
-                                    }
-                                    if (res != SelectDialogThree.SELECT_NONE){
-
-                                        routeLineViewModel.insertRouteCross(routeCross);
-                                    }else{
-                                        Log.i(TAG,"鍦ㄨ矾鍙f病鏈夊仛鍑洪�夋嫨");
-                                    }
+                                        @Override
+                                        public void onCancle() {
+                                            hasInsertRoadCrossDirect = false;
+                                        }
+                                    });
+                                    myDialog.show(getFragmentManager(),"tarindialog");
+                                    break;
                                 }
-                            });
+                            }
+                            if (!hasInsertRoadCrossDirect){
+
+                                selectRoadCrossDirect(routeCross);
+                            }
                         }
                     });
                 }else{
+                    if (roadCrossDialog != null)
                     roadCrossDialog.dismiss();
                 }
 
@@ -1231,15 +1236,46 @@
 
     }
 
-    private int getRouteLine_id() {
+    private void selectRoadCrossDirect(RouteCross routeCross) {
+        roadCrossDialog = SelectDialogThree.newInstance("璺彛鐩磋","璺彛宸﹁浆寮�","璺彛鍙宠浆寮�","璺彛鎺夊ご");
+        roadCrossDialog.show(getFragmentManager(),"aaa");
+        roadCrossDialog.setSelectedListener(new SelectDialogThree.OnSelectedListener() {
+            @Override
+            public void makeYourChoice(int res) {
+                switch (res){
+                    case 0:
+                        //鐩磋
+                        routeCross.setActive(1);
 
-        for (int i = 0; i < mRouteBeans.size(); i++){
-            if (mRouteBeans.get(i).getRouteName().equalsIgnoreCase(ExamPlatformData.getInstance().getRouteLineName())){
-                return mRouteBeans.get(i).getId();
+                        break;
+                    case 1:
+                        //宸﹁浆寮�
+                        routeCross.setActive(2);
+                        break;
+                    case 2:
+                        //鍙宠浆寮�
+                        routeCross.setActive(4);
+                        break;
+                    case 3:
+                        //璋冨ご
+                        routeCross.setActive(8);
+                        break;
+                }
+                if (res != SelectDialogThree.SELECT_NONE){
+                    if (!hasInsertRoadCrossDirect){
+
+                    routeLineViewModel.insertRouteCross(routeCross);
+                    }else{
+                        hasInsertRoadCrossDirect = false;
+                        routeLineViewModel.updateRouteCrossActive(currRouteBean.getId(),routeCross.getRoad(),routeCross.getIdx(),routeCross.getActive());
+                    }
+                }else{
+                    Log.i(TAG,"鍦ㄨ矾鍙f病鏈夊仛鍑洪�夋嫨");
+                }
             }
-        }
-        return -1;
+        });
     }
 
 
+
 }

--
Gitblit v1.8.0