| | |
| | | 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; |
| | |
| | | //道路信息是没有进行本地保存的,如果崩溃的话,就有问题 |
| | | 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,"该路口已经选择了行驶方向,确定要覆盖以前?"); |
| | | MyDialog myDialog = MyDialog.Companion.newInstance("该路口已经选择了行驶方向,确定要覆盖以前?"); |
| | | 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,"在路口没有做出选择"); |
| | | } |
| | | @Override |
| | | public void onCancle() { |
| | | hasInsertRoadCrossDirect = false; |
| | | } |
| | | }); |
| | | myDialog.show(getFragmentManager(),"tarindialog"); |
| | | break; |
| | | } |
| | | }); |
| | | } |
| | | if (!hasInsertRoadCrossDirect){ |
| | | |
| | | selectRoadCrossDirect(routeCross); |
| | | } |
| | | } |
| | | }); |
| | | }else{ |
| | | if (roadCrossDialog != null) |
| | | roadCrossDialog.dismiss(); |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | 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,"在路口没有做出选择"); |
| | | } |
| | | } |
| | | } |
| | | return -1; |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | } |