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