Merge remote-tracking branch 'origin/lowprecision'
New file |
| | |
| | | {"gear_n_allow_time":5,"same_gear_min_time":5,"gear_speed_error_cumulative_time":15,"gear_speed_table":[[0,20],[5,30],[15,40],[25,10000],[35,10000]]} |
New file |
| | |
| | | {"hold_start_key_limit_time":2000,"curve_pause_criteria":200,"park_bottom_pause_criteria":2000,"park_bottom_limit_time":210,"park_edge_pause_criteria":2000,"park_edge_limit_time":90,"turn_a90_pause_criteria":2000,"ramp_start_car_limit_time":30,"ramp_stoppoint_red_distance":0.5,"ramp_edge_yellow_distance":0.3,"ramp_edge_red_distance":0.5,"ramp_slide_yellow_distance":0.1,"ramp_slide_red_distance":0.3} |
New file |
| | |
| | | {"road_slide_yellow_distance":0.1,"road_slide_red_distance":0.3,"road_pause_criteria":2000,"crash_dotted_line_cumulative_time":10,"continuous_change_lane_min_time":10,"change_lane_limit_distance":100} |
New file |
| | |
| | | {"turn_signal_min_advance":3} |
New file |
| | |
| | | {"overtake_limit_distance":150} |
New file |
| | |
| | | {"road_total_distance":3000,"road_max_speed":3,"stop_car_open_door_allow_time":15,"stop_car_limit_distance":150,"stop_car_edge_red_distance":0.5,"stop_car_edge_yellow_distance":0.3} |
New file |
| | |
| | | {"start_car_limit_distance":10,"open_door_drive_allow_distance":1.1,"start_car_max_rpm":2500} |
New file |
| | |
| | | {"cross_school_max_speed":30,"crossing_break_valid_distance":30,"crossing_stop_valid_distance":3.5} |
New file |
| | |
| | | {"road_stop_dist":150,"road_stop_open_door_time":2,"road_stop_edge_red_dist":0.5,"road_stop_edge_yellow_dist":0.3,"road_max_speed":60,"road_max_dist":3000} |
New file |
| | |
| | | {"straight_limit_distance":100,"straight_max_offset":0.3} |
New file |
| | |
| | | {"shift_limit_distance":120,"shift_hold_time":3} |
| | |
| | | public static final String MCU_UPGRADE_FAIL_RESASON = "mcu_upgrade_fail_reason"; |
| | | @NotNull |
| | | public static final String TTS="tts_judge"; |
| | | public static int ID_judge_args = 0x8019; |
| | | } |
| | |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class SimpleFragmentAdapter extends FragmentPagerAdapter { |
| | | private String[] mTitles = new String[]{"基础数据","GNSS信息"}; |
| | | private String[] mTitles = new String[]{"基础数据","考试系统设置"}; |
| | | // private String[] mTitles = new String[]{"基础数据","GNSS信息","考试系统设置"}; |
| | | public SimpleFragmentAdapter(FragmentManager fm) { |
| | | super(fm); |
| | |
| | | // supportFragment = RTKConfigFragment.newInstance(); |
| | | // //ftp |
| | | // break; |
| | | // case 2: |
| | | // supportFragment = SysExamSettingFragment.newInstance(); |
| | | // break; |
| | | case 1: |
| | | supportFragment = GpsInfoFragment.newInstance(); |
| | | case 1: |
| | | supportFragment = SysExamSettingFragment.newInstance(); |
| | | break; |
| | | |
| | | default:break; |
| | | } |
| | | return supportFragment; |
| | |
| | | import org.json.JSONException; |
| | | import org.json.JSONObject; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.File; |
| | | import java.io.InputStreamReader; |
| | | import java.util.Date; |
| | | import java.util.concurrent.Executors; |
| | | |
| | |
| | | // DataInitKt.sendSignalConfigToRemote(getApplicationContext()); |
| | | // OneTimeWorkRequest mcuUpgradeWorker = OneTimeWorkRequest.from(MCUUpgradeWorker.class); |
| | | // WorkManager.getInstance(getApplicationContext()).beginWith(examStatausOutWorker).then(mcuUpgradeWorker).enqueue(); |
| | | |
| | | sendJudgeArgs(); |
| | | |
| | | |
| | | }); |
| | | } |
| | | |
| | | private void sendJudgeArgs() { |
| | | File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+getPackageName()); |
| | | if (dir.exists()){ |
| | | File[] files = dir.listFiles(); |
| | | for (int i = 0; i < files.length; i++) { |
| | | if (files[i].getName().contains("_setting")||files[i].getName().contains("_Setting")){ |
| | | Log.i(TAG,files[i].getName()); |
| | | |
| | | byte[] buffer = FileUtil.readFile(files[i].getAbsolutePath()); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,new String(buffer).trim()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static Context getAppContext(){ |
| | | return appContext; |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/22. 17:13:51 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class AreaSetting { |
| | | /** |
| | | * hold_start_key_limit_time : 2000 |
| | | * curve_pause_criteria : 200 |
| | | * park_bottom_pause_criteria : 2000 |
| | | * park_bottom_limit_time : 210 |
| | | * park_edge_pause_criteria : 2000 |
| | | * park_edge_limit_time : 90 |
| | | * turn_a90_pause_criteria : 2000 |
| | | * ramp_start_car_limit_time : 30 |
| | | * ramp_stoppoint_red_distance : 0.5 |
| | | * ramp_edge_yellow_distance : 0.3 |
| | | * ramp_edge_red_distance : 0.5 |
| | | * ramp_slide_yellow_distance : 0.1 |
| | | * ramp_slide_red_distance : 0.3 |
| | | */ |
| | | |
| | | private int hold_start_key_limit_time; |
| | | private int curve_pause_criteria; |
| | | private int park_bottom_pause_criteria; |
| | | private int park_bottom_limit_time; |
| | | private int park_edge_pause_criteria; |
| | | private int park_edge_limit_time; |
| | | private int turn_a90_pause_criteria; |
| | | private int ramp_start_car_limit_time; |
| | | private double ramp_stoppoint_red_distance; |
| | | private double ramp_edge_yellow_distance; |
| | | private double ramp_edge_red_distance; |
| | | private double ramp_slide_yellow_distance; |
| | | private double ramp_slide_red_distance; |
| | | |
| | | public int getHold_start_key_limit_time() { |
| | | return hold_start_key_limit_time; |
| | | } |
| | | |
| | | public void setHold_start_key_limit_time(int hold_start_key_limit_time) { |
| | | this.hold_start_key_limit_time = hold_start_key_limit_time; |
| | | } |
| | | |
| | | public int getCurve_pause_criteria() { |
| | | return curve_pause_criteria; |
| | | } |
| | | |
| | | public void setCurve_pause_criteria(int curve_pause_criteria) { |
| | | this.curve_pause_criteria = curve_pause_criteria; |
| | | } |
| | | |
| | | public int getPark_bottom_pause_criteria() { |
| | | return park_bottom_pause_criteria; |
| | | } |
| | | |
| | | public void setPark_bottom_pause_criteria(int park_bottom_pause_criteria) { |
| | | this.park_bottom_pause_criteria = park_bottom_pause_criteria; |
| | | } |
| | | |
| | | public int getPark_bottom_limit_time() { |
| | | return park_bottom_limit_time; |
| | | } |
| | | |
| | | public void setPark_bottom_limit_time(int park_bottom_limit_time) { |
| | | this.park_bottom_limit_time = park_bottom_limit_time; |
| | | } |
| | | |
| | | public int getPark_edge_pause_criteria() { |
| | | return park_edge_pause_criteria; |
| | | } |
| | | |
| | | public void setPark_edge_pause_criteria(int park_edge_pause_criteria) { |
| | | this.park_edge_pause_criteria = park_edge_pause_criteria; |
| | | } |
| | | |
| | | public int getPark_edge_limit_time() { |
| | | return park_edge_limit_time; |
| | | } |
| | | |
| | | public void setPark_edge_limit_time(int park_edge_limit_time) { |
| | | this.park_edge_limit_time = park_edge_limit_time; |
| | | } |
| | | |
| | | public int getTurn_a90_pause_criteria() { |
| | | return turn_a90_pause_criteria; |
| | | } |
| | | |
| | | public void setTurn_a90_pause_criteria(int turn_a90_pause_criteria) { |
| | | this.turn_a90_pause_criteria = turn_a90_pause_criteria; |
| | | } |
| | | |
| | | public int getRamp_start_car_limit_time() { |
| | | return ramp_start_car_limit_time; |
| | | } |
| | | |
| | | public void setRamp_start_car_limit_time(int ramp_start_car_limit_time) { |
| | | this.ramp_start_car_limit_time = ramp_start_car_limit_time; |
| | | } |
| | | |
| | | public double getRamp_stoppoint_red_distance() { |
| | | return ramp_stoppoint_red_distance; |
| | | } |
| | | |
| | | public void setRamp_stoppoint_red_distance(double ramp_stoppoint_red_distance) { |
| | | this.ramp_stoppoint_red_distance = ramp_stoppoint_red_distance; |
| | | } |
| | | |
| | | public double getRamp_edge_yellow_distance() { |
| | | return ramp_edge_yellow_distance; |
| | | } |
| | | |
| | | public void setRamp_edge_yellow_distance(double ramp_edge_yellow_distance) { |
| | | this.ramp_edge_yellow_distance = ramp_edge_yellow_distance; |
| | | } |
| | | |
| | | public double getRamp_edge_red_distance() { |
| | | return ramp_edge_red_distance; |
| | | } |
| | | |
| | | public void setRamp_edge_red_distance(double ramp_edge_red_distance) { |
| | | this.ramp_edge_red_distance = ramp_edge_red_distance; |
| | | } |
| | | |
| | | public double getRamp_slide_yellow_distance() { |
| | | return ramp_slide_yellow_distance; |
| | | } |
| | | |
| | | public void setRamp_slide_yellow_distance(double ramp_slide_yellow_distance) { |
| | | this.ramp_slide_yellow_distance = ramp_slide_yellow_distance; |
| | | } |
| | | |
| | | public double getRamp_slide_red_distance() { |
| | | return ramp_slide_red_distance; |
| | | } |
| | | |
| | | public void setRamp_slide_red_distance(double ramp_slide_red_distance) { |
| | | this.ramp_slide_red_distance = ramp_slide_red_distance; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * area_release_start_key Int 豪秒。松开点火开关时限。 2000 |
| | | * area_curve_pause_time int 毫秒。中途停车判定 2000 |
| | | * area_park_pause_time int 毫秒。倒库中途停车判定 2000 |
| | | * area_park_finish_time int 秒。倒库最长完成时间 210 |
| | | * area_park2_pause_time int 毫秒。侧方中途停车判定 2000 |
| | | * area_park2_finish_time int 秒。侧方最长完成时间 90 |
| | | * area_turn_a90_pause_time int 毫秒。直角中途停车判定 2000 |
| | | * area_ramp_finish_time int 秒。完成时间 30 |
| | | * area_ramp_flag_red_dist double 米。超出桩杆距离 0.5 |
| | | * area_ramp_edge_yellow_dist double 米。边线黄牌距离 0.3 |
| | | * area_ramp_edge_red_dist double 米。边线红牌距离 0.5 |
| | | * area_ramp_slide_yellow_dist double 米。后滑黄牌距离 0.1 |
| | | * area_ramp_slide_red_dist double 米。后滑红牌距离 0.3 |
| | | * |
| | | * |
| | | * area_release_start_key : 2000 |
| | | * area_curve_pause_time : 2000 |
| | | * area_park_pause_time : 2000 |
| | | * area_park_finish_time : 210 |
| | | * area_park2_pause_time : 2000 |
| | | * area_park2_finish_time : 90 |
| | | * area_turn_a90_pause_time : 2000 |
| | | * area_ramp_finish_time : 30 |
| | | * area_ramp_flag_red_dist : 0.5 |
| | | * area_ramp_edge_yellow_dist : 0.3 |
| | | * area_ramp_edge_red_dist : 0.5 |
| | | * area_ramp_slide_yellow_dist : 0.1 |
| | | * area_ramp_slide_red_dist : 0.3 |
| | | */ |
| | | |
| | | // private int area_release_start_key; |
| | | // private int area_curve_pause_time; |
| | | // private int area_park_pause_time; |
| | | // private int area_park_finish_time; |
| | | // private int area_park2_pause_time; |
| | | // private int area_park2_finish_time; |
| | | // private int area_turn_a90_pause_time; |
| | | // private int area_ramp_finish_time; |
| | | // private double area_ramp_flag_red_dist; |
| | | // private double area_ramp_edge_yellow_dist; |
| | | // private double area_ramp_edge_red_dist; |
| | | // private double area_ramp_slide_yellow_dist; |
| | | // private double area_ramp_slide_red_dist; |
| | | // |
| | | // public int getArea_release_start_key() { |
| | | // return area_release_start_key; |
| | | // } |
| | | // |
| | | // public void setArea_release_start_key(int area_release_start_key) { |
| | | // this.area_release_start_key = area_release_start_key; |
| | | // } |
| | | // |
| | | // public int getArea_curve_pause_time() { |
| | | // return area_curve_pause_time; |
| | | // } |
| | | // |
| | | // public void setArea_curve_pause_time(int area_curve_pause_time) { |
| | | // this.area_curve_pause_time = area_curve_pause_time; |
| | | // } |
| | | // |
| | | // public int getArea_park_pause_time() { |
| | | // return area_park_pause_time; |
| | | // } |
| | | // |
| | | // public void setArea_park_pause_time(int area_park_pause_time) { |
| | | // this.area_park_pause_time = area_park_pause_time; |
| | | // } |
| | | // |
| | | // public int getArea_park_finish_time() { |
| | | // return area_park_finish_time; |
| | | // } |
| | | // |
| | | // public void setArea_park_finish_time(int area_park_finish_time) { |
| | | // this.area_park_finish_time = area_park_finish_time; |
| | | // } |
| | | // |
| | | // public int getArea_park2_pause_time() { |
| | | // return area_park2_pause_time; |
| | | // } |
| | | // |
| | | // public void setArea_park2_pause_time(int area_park2_pause_time) { |
| | | // this.area_park2_pause_time = area_park2_pause_time; |
| | | // } |
| | | // |
| | | // public int getArea_park2_finish_time() { |
| | | // return area_park2_finish_time; |
| | | // } |
| | | // |
| | | // public void setArea_park2_finish_time(int area_park2_finish_time) { |
| | | // this.area_park2_finish_time = area_park2_finish_time; |
| | | // } |
| | | // |
| | | // public int getArea_turn_a90_pause_time() { |
| | | // return area_turn_a90_pause_time; |
| | | // } |
| | | // |
| | | // public void setArea_turn_a90_pause_time(int area_turn_a90_pause_time) { |
| | | // this.area_turn_a90_pause_time = area_turn_a90_pause_time; |
| | | // } |
| | | // |
| | | // public int getArea_ramp_finish_time() { |
| | | // return area_ramp_finish_time; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_finish_time(int area_ramp_finish_time) { |
| | | // this.area_ramp_finish_time = area_ramp_finish_time; |
| | | // } |
| | | // |
| | | // public double getArea_ramp_flag_red_dist() { |
| | | // return area_ramp_flag_red_dist; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_flag_red_dist(double area_ramp_flag_red_dist) { |
| | | // this.area_ramp_flag_red_dist = area_ramp_flag_red_dist; |
| | | // } |
| | | // |
| | | // public double getArea_ramp_edge_yellow_dist() { |
| | | // return area_ramp_edge_yellow_dist; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_edge_yellow_dist(double area_ramp_edge_yellow_dist) { |
| | | // this.area_ramp_edge_yellow_dist = area_ramp_edge_yellow_dist; |
| | | // } |
| | | // |
| | | // public double getArea_ramp_edge_red_dist() { |
| | | // return area_ramp_edge_red_dist; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_edge_red_dist(double area_ramp_edge_red_dist) { |
| | | // this.area_ramp_edge_red_dist = area_ramp_edge_red_dist; |
| | | // } |
| | | // |
| | | // public double getArea_ramp_slide_yellow_dist() { |
| | | // return area_ramp_slide_yellow_dist; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_slide_yellow_dist(double area_ramp_slide_yellow_dist) { |
| | | // this.area_ramp_slide_yellow_dist = area_ramp_slide_yellow_dist; |
| | | // } |
| | | // |
| | | // public double getArea_ramp_slide_red_dist() { |
| | | // return area_ramp_slide_red_dist; |
| | | // } |
| | | // |
| | | // public void setArea_ramp_slide_red_dist(double area_ramp_slide_red_dist) { |
| | | // this.area_ramp_slide_red_dist = area_ramp_slide_red_dist; |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:49:28 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class CommonSetting { |
| | | |
| | | /** |
| | | * road_slide_yellow_distance : 0.1 |
| | | * road_slide_red_distance : 0.3 |
| | | * road_pause_criteria : 2000 |
| | | * crash_dotted_line_cumulative_time : 10 |
| | | * continuous_change_lane_min_time : 10 |
| | | * change_lane_limit_distance : 100 |
| | | */ |
| | | |
| | | private double road_slide_yellow_distance; |
| | | private double road_slide_red_distance; |
| | | private int road_pause_criteria; |
| | | private int crash_dotted_line_cumulative_time; |
| | | private int continuous_change_lane_min_time; |
| | | private int change_lane_limit_distance; |
| | | |
| | | public double getRoad_slide_yellow_distance() { |
| | | return road_slide_yellow_distance; |
| | | } |
| | | |
| | | public void setRoad_slide_yellow_distance(double road_slide_yellow_distance) { |
| | | this.road_slide_yellow_distance = road_slide_yellow_distance; |
| | | } |
| | | |
| | | public double getRoad_slide_red_distance() { |
| | | return road_slide_red_distance; |
| | | } |
| | | |
| | | public void setRoad_slide_red_distance(double road_slide_red_distance) { |
| | | this.road_slide_red_distance = road_slide_red_distance; |
| | | } |
| | | |
| | | public int getRoad_pause_criteria() { |
| | | return road_pause_criteria; |
| | | } |
| | | |
| | | public void setRoad_pause_criteria(int road_pause_criteria) { |
| | | this.road_pause_criteria = road_pause_criteria; |
| | | } |
| | | |
| | | public int getCrash_dotted_line_cumulative_time() { |
| | | return crash_dotted_line_cumulative_time; |
| | | } |
| | | |
| | | public void setCrash_dotted_line_cumulative_time(int crash_dotted_line_cumulative_time) { |
| | | this.crash_dotted_line_cumulative_time = crash_dotted_line_cumulative_time; |
| | | } |
| | | |
| | | public int getContinuous_change_lane_min_time() { |
| | | return continuous_change_lane_min_time; |
| | | } |
| | | |
| | | public void setContinuous_change_lane_min_time(int continuous_change_lane_min_time) { |
| | | this.continuous_change_lane_min_time = continuous_change_lane_min_time; |
| | | } |
| | | |
| | | public int getChange_lane_limit_distance() { |
| | | return change_lane_limit_distance; |
| | | } |
| | | |
| | | public void setChange_lane_limit_distance(int change_lane_limit_distance) { |
| | | this.change_lane_limit_distance = change_lane_limit_distance; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class CorneringLampSetting { |
| | | |
| | | /** |
| | | * turn_signal_min_advance : 3 |
| | | */ |
| | | |
| | | private int turn_signal_min_advance; |
| | | |
| | | public int getTurn_signal_min_advance() { |
| | | return turn_signal_min_advance; |
| | | } |
| | | |
| | | public void setTurn_signal_min_advance(int turn_signal_min_advance) { |
| | | this.turn_signal_min_advance = turn_signal_min_advance; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class OverTakeMeetingSetting { |
| | | |
| | | /** |
| | | * overtake_limit_distance : 150 |
| | | */ |
| | | |
| | | private int overtake_limit_distance; |
| | | |
| | | public int getOvertake_limit_distance() { |
| | | return overtake_limit_distance; |
| | | } |
| | | |
| | | public void setOvertake_limit_distance(int overtake_limit_distance) { |
| | | this.overtake_limit_distance = overtake_limit_distance; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class SideStopSetting { |
| | | |
| | | /** |
| | | * road_total_distance : 3000 |
| | | * road_max_speed : 3 |
| | | * stop_car_open_door_allow_time : 15 |
| | | * stop_car_limit_distance : 150 |
| | | * stop_car_edge_red_distance : 0.5 |
| | | * stop_car_edge_yellow_distance : 0.3 |
| | | */ |
| | | |
| | | private int road_total_distance; |
| | | private int road_max_speed; |
| | | private int stop_car_open_door_allow_time; |
| | | private int stop_car_limit_distance; |
| | | private double stop_car_edge_red_distance; |
| | | private double stop_car_edge_yellow_distance; |
| | | |
| | | public int getRoad_total_distance() { |
| | | return road_total_distance; |
| | | } |
| | | |
| | | public void setRoad_total_distance(int road_total_distance) { |
| | | this.road_total_distance = road_total_distance; |
| | | } |
| | | |
| | | public int getRoad_max_speed() { |
| | | return road_max_speed; |
| | | } |
| | | |
| | | public void setRoad_max_speed(int road_max_speed) { |
| | | this.road_max_speed = road_max_speed; |
| | | } |
| | | |
| | | public int getStop_car_open_door_allow_time() { |
| | | return stop_car_open_door_allow_time; |
| | | } |
| | | |
| | | public void setStop_car_open_door_allow_time(int stop_car_open_door_allow_time) { |
| | | this.stop_car_open_door_allow_time = stop_car_open_door_allow_time; |
| | | } |
| | | |
| | | public int getStop_car_limit_distance() { |
| | | return stop_car_limit_distance; |
| | | } |
| | | |
| | | public void setStop_car_limit_distance(int stop_car_limit_distance) { |
| | | this.stop_car_limit_distance = stop_car_limit_distance; |
| | | } |
| | | |
| | | public double getStop_car_edge_red_distance() { |
| | | return stop_car_edge_red_distance; |
| | | } |
| | | |
| | | public void setStop_car_edge_red_distance(double stop_car_edge_red_distance) { |
| | | this.stop_car_edge_red_distance = stop_car_edge_red_distance; |
| | | } |
| | | |
| | | public double getStop_car_edge_yellow_distance() { |
| | | return stop_car_edge_yellow_distance; |
| | | } |
| | | |
| | | public void setStop_car_edge_yellow_distance(double stop_car_edge_yellow_distance) { |
| | | this.stop_car_edge_yellow_distance = stop_car_edge_yellow_distance; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class StartCarSetting { |
| | | |
| | | |
| | | /** |
| | | * start_car_limit_distance : 10 |
| | | * open_door_drive_allow_distance : 1.1 |
| | | * start_car_max_rpm : 2500 |
| | | */ |
| | | |
| | | private int start_car_limit_distance; |
| | | private double open_door_drive_allow_distance; |
| | | private int start_car_max_rpm; |
| | | |
| | | public int getStart_car_limit_distance() { |
| | | return start_car_limit_distance; |
| | | } |
| | | |
| | | public void setStart_car_limit_distance(int start_car_limit_distance) { |
| | | this.start_car_limit_distance = start_car_limit_distance; |
| | | } |
| | | |
| | | public double getOpen_door_drive_allow_distance() { |
| | | return open_door_drive_allow_distance; |
| | | } |
| | | |
| | | public void setOpen_door_drive_allow_distance(double open_door_drive_allow_distance) { |
| | | this.open_door_drive_allow_distance = open_door_drive_allow_distance; |
| | | } |
| | | |
| | | public int getStart_car_max_rpm() { |
| | | return start_car_max_rpm; |
| | | } |
| | | |
| | | public void setStart_car_max_rpm(int start_car_max_rpm) { |
| | | this.start_car_max_rpm = start_car_max_rpm; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class StationSetting { |
| | | |
| | | /** |
| | | * cross_school_max_speed : 30 |
| | | * crossing_break_valid_distance : 30 |
| | | * crossing_stop_valid_distance : 3.5 |
| | | */ |
| | | |
| | | private int cross_school_max_speed; |
| | | private int crossing_break_valid_distance; |
| | | private double crossing_stop_valid_distance; |
| | | |
| | | public int getCross_school_max_speed() { |
| | | return cross_school_max_speed; |
| | | } |
| | | |
| | | public void setCross_school_max_speed(int cross_school_max_speed) { |
| | | this.cross_school_max_speed = cross_school_max_speed; |
| | | } |
| | | |
| | | public int getCrossing_break_valid_distance() { |
| | | return crossing_break_valid_distance; |
| | | } |
| | | |
| | | public void setCrossing_break_valid_distance(int crossing_break_valid_distance) { |
| | | this.crossing_break_valid_distance = crossing_break_valid_distance; |
| | | } |
| | | |
| | | public double getCrossing_stop_valid_distance() { |
| | | return crossing_stop_valid_distance; |
| | | } |
| | | |
| | | public void setCrossing_stop_valid_distance(double crossing_stop_valid_distance) { |
| | | this.crossing_stop_valid_distance = crossing_stop_valid_distance; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class StraightLineSetting { |
| | | |
| | | /** |
| | | * straight_limit_distance : 100 |
| | | * straight_max_offset : 0.3 |
| | | */ |
| | | |
| | | private int straight_limit_distance; |
| | | private double straight_max_offset; |
| | | |
| | | public int getStraight_limit_distance() { |
| | | return straight_limit_distance; |
| | | } |
| | | |
| | | public void setStraight_limit_distance(int straight_limit_distance) { |
| | | this.straight_limit_distance = straight_limit_distance; |
| | | } |
| | | |
| | | public double getStraight_max_offset() { |
| | | return straight_max_offset; |
| | | } |
| | | |
| | | public void setStraight_max_offset(double straight_max_offset) { |
| | | this.straight_max_offset = straight_max_offset; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.bean; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/26. 13:59:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class SubDecGearSetting { |
| | | |
| | | /** |
| | | * shift_limit_distance : 120 |
| | | * shift_hold_time : 3 |
| | | */ |
| | | |
| | | private int shift_limit_distance; |
| | | private int shift_hold_time; |
| | | |
| | | public int getShift_limit_distance() { |
| | | return shift_limit_distance; |
| | | } |
| | | |
| | | public void setShift_limit_distance(int shift_limit_distance) { |
| | | this.shift_limit_distance = shift_limit_distance; |
| | | } |
| | | |
| | | public int getShift_hold_time() { |
| | | return shift_hold_time; |
| | | } |
| | | |
| | | public void setShift_hold_time(int shift_hold_time) { |
| | | this.shift_hold_time = shift_hold_time; |
| | | } |
| | | } |
| | |
| | | String url ; |
| | | private void addTrailheadsLayer() { |
| | | if (!TextUtils.isEmpty(url)){ |
| | | Log.i(TAG,"map_url="+url); |
| | | final ArcGISMapImageLayer mapImageLayer = new ArcGISMapImageLayer(url); |
| | | // create an empty map instance |
| | | ArcGISMap map = new ArcGISMap(); |
| | |
| | | import android.view.ViewGroup; |
| | | import android.widget.Button; |
| | | import android.widget.TextView; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.appcompat.widget.Toolbar; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.FileUtil; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.GearRelateSet; |
| | | import safeluck.drive.evaluation.viewmodels.GearRelateSetViewModel; |
| | | |
| | | /** |
| | | * Created by YoKeyword on 16/2/7. |
| | |
| | | public class FragmentSetting0 extends SupportFragment { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting0.class.getSimpleName(); |
| | | private TextEditText textEditText; |
| | | |
| | | private Gson gson = new Gson(); |
| | | private TextEditText textEditText_gear_n_allow_time; |
| | | private TextEditText textEditText_same_gear_min_time; |
| | | private TextEditText textEditText_gear_speed_error_cumulative_time; |
| | | private TextEditText textEditText_gear_speed_1; |
| | | private TextEditText textEditText_gear_speed_1_r; |
| | | private TextEditText textEditText_gear_speed_2; |
| | | private TextEditText textEditText_gear_speed_2_r; |
| | | private TextEditText textEditText_gear_speed_3; |
| | | private TextEditText textEditText_gear_speed_3_r; |
| | | private TextEditText textEditText_gear_speed_4; |
| | | private TextEditText textEditText_gear_speed_4_r; |
| | | private TextEditText textEditText_gear_speed_5; |
| | | private TextEditText textEditText_gear_speed_5_r; |
| | | private GearRelateSet mgearRelateSet; |
| | | private GearRelateSetViewModel gearRelateSetViewModel ; |
| | | |
| | | private int mNumber; |
| | | |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.fragment_gear_setting, container, false); |
| | | View view = inflater.inflate(R.layout.fragment_gear_setting_1, container, false); |
| | | initView(view); |
| | | gearRelateSetViewModel = ViewModelProviders.of(this).get(GearRelateSetViewModel.class); |
| | | gearRelateSetViewModel.getGearRelateSet().observe(this, new Observer<GearRelateSet>() { |
| | | @Override |
| | | public void onChanged(GearRelateSet gearRelateSet) { |
| | | if (gearRelateSet != null){ |
| | | Toast.makeText(_mActivity, gearRelateSet.toString(), Toast.LENGTH_SHORT).show(); |
| | | mgearRelateSet = gearRelateSet; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | return view; |
| | | } |
| | | |
| | | private void setDatas() { |
| | | if (mgearRelateSet != null){ |
| | | textEditText_gear_n_allow_time .setInput(String.valueOf(mgearRelateSet.getGear_n_allow_time())); |
| | | textEditText_gear_speed_error_cumulative_time.setInput(String.valueOf(mgearRelateSet.getGear_speed_error_cumulative_time())); |
| | | textEditText_same_gear_min_time.setInput(String.valueOf(mgearRelateSet.getSame_gear_min_time())); |
| | | List<List<Integer>> gear_speed_table = mgearRelateSet.getGear_speed_table(); |
| | | for (int i = 0; i < gear_speed_table.size(); i++) { |
| | | List<Integer> integers = gear_speed_table.get(i); |
| | | Log.i(TAG,FileUtil.ListToString(integers)); |
| | | switch (i){ |
| | | case 0: |
| | | textEditText_gear_speed_1.setInput(String.valueOf(integers.get(0))); |
| | | textEditText_gear_speed_1_r.setInput(String.valueOf(integers.get(1))); |
| | | break; |
| | | |
| | | case 1: |
| | | textEditText_gear_speed_2.setInput(String.valueOf(integers.get(0))); |
| | | textEditText_gear_speed_2_r.setInput(String.valueOf(integers.get(1))); |
| | | break; |
| | | case 2: |
| | | textEditText_gear_speed_3.setInput(String.valueOf(integers.get(0))); |
| | | textEditText_gear_speed_3_r.setInput(String.valueOf(integers.get(1))); |
| | | break; |
| | | case 3: |
| | | textEditText_gear_speed_4.setInput(String.valueOf(integers.get(0))); |
| | | textEditText_gear_speed_4_r.setInput(String.valueOf(integers.get(1))); |
| | | break; |
| | | case 4: |
| | | textEditText_gear_speed_5.setInput(String.valueOf(integers.get(0))); |
| | | textEditText_gear_speed_5_r.setInput(String.valueOf(integers.get(1))); |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | // textEditText = view.findViewById(R.id.textet1); |
| | | // textEditText.getInput(); |
| | | |
| | | textEditText_gear_n_allow_time = view.findViewById(R.id.road_gear_n_time); |
| | | textEditText_same_gear_min_time = view.findViewById(R.id.road_op_gear_err_time); |
| | | textEditText_gear_speed_error_cumulative_time = view.findViewById(R.id.road_gear_speed_err_time); |
| | | textEditText_gear_speed_1 = view.findViewById(R.id.tedit_1_gear_); |
| | | textEditText_gear_speed_1_r = view.findViewById(R.id.tedit_1_gea_r); |
| | | |
| | | |
| | | textEditText_gear_speed_2 = view.findViewById(R.id.tedit_2_gear_); |
| | | textEditText_gear_speed_2_r = view.findViewById(R.id.tedit_2_gea_r); |
| | | |
| | | textEditText_gear_speed_3 = view.findViewById(R.id.tedit_3_gear_); |
| | | textEditText_gear_speed_3_r = view.findViewById(R.id.tedit_3_gea_r); |
| | | |
| | | textEditText_gear_speed_4 = view.findViewById(R.id.tedit_4_gear_); |
| | | textEditText_gear_speed_4_r = view.findViewById(R.id.tedit_4_gea_r); |
| | | |
| | | textEditText_gear_speed_5 = view.findViewById(R.id.tedit_5_gear_); |
| | | textEditText_gear_speed_5_r = view.findViewById(R.id.tedit_5_gea_r); |
| | | |
| | | |
| | | |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | |
| | | |
| | | |
| | | String strN_allowTimeStr = textEditText_gear_n_allow_time.getInput(); |
| | | String same_gear_min_timeStr = textEditText_same_gear_min_time.getInput(); |
| | | String gear_speed_error_cumulative_timeStr = textEditText_gear_speed_error_cumulative_time.getInput(); |
| | | |
| | | |
| | | String gear1_beginStr = textEditText_gear_speed_1.getInput(); |
| | | String gear2_beginStr = textEditText_gear_speed_2.getInput(); |
| | | String gear3_beginStr = textEditText_gear_speed_3.getInput(); |
| | | String gear4_beginStr = textEditText_gear_speed_4.getInput(); |
| | | String gear5_beginStr = textEditText_gear_speed_5.getInput(); |
| | | |
| | | String gear1_endStr = textEditText_gear_speed_1_r.getInput(); |
| | | String gear2_endStr = textEditText_gear_speed_2_r.getInput(); |
| | | String gear3_endStr = textEditText_gear_speed_3_r.getInput(); |
| | | String gear4_endStr = textEditText_gear_speed_4_r.getInput(); |
| | | String gear5_endStr = textEditText_gear_speed_5_r.getInput(); |
| | | |
| | | if (Utils.isDigital(strN_allowTimeStr)){ |
| | | mgearRelateSet.setGear_n_allow_time(Integer.parseInt(strN_allowTimeStr)); |
| | | } if (Utils.isDigital(same_gear_min_timeStr)){ |
| | | mgearRelateSet.setSame_gear_min_time(Integer.parseInt(same_gear_min_timeStr)); |
| | | } if (Utils.isDigital(gear_speed_error_cumulative_timeStr)){ |
| | | mgearRelateSet.setGear_speed_error_cumulative_time(Integer.parseInt(gear_speed_error_cumulative_timeStr)); |
| | | } |
| | | if (mgearRelateSet.getGear_speed_table() != null){ |
| | | if (Utils.isDigital(gear1_beginStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(0).set(0,Integer.parseInt(gear1_beginStr)); |
| | | } if (Utils.isDigital(gear1_endStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(0).set(1,Integer.parseInt(gear1_endStr)); |
| | | } |
| | | |
| | | if (Utils.isDigital(gear2_beginStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(1).set(0,Integer.parseInt(gear2_beginStr)); |
| | | } if (Utils.isDigital(gear2_endStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(1).set(1,Integer.parseInt(gear2_endStr)); |
| | | } |
| | | |
| | | |
| | | if (Utils.isDigital(gear3_beginStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(2).set(0,Integer.parseInt(gear3_beginStr)); |
| | | } if (Utils.isDigital(gear3_endStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(2).set(1,Integer.parseInt(gear3_endStr)); |
| | | } |
| | | |
| | | |
| | | if (Utils.isDigital(gear4_beginStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(3).set(0,Integer.parseInt(gear4_beginStr)); |
| | | } if (Utils.isDigital(gear4_endStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(3).set(1,Integer.parseInt(gear4_endStr)); |
| | | } |
| | | |
| | | |
| | | if (Utils.isDigital(gear5_beginStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(4).set(0,Integer.parseInt(gear5_beginStr)); |
| | | } if (Utils.isDigital(gear5_endStr)){ |
| | | |
| | | mgearRelateSet.getGear_speed_table().get(4).set(1,Integer.parseInt(gear5_endStr)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | gearRelateSetViewModel.saveGearRelatedSetting(mgearRelateSet); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mgearRelateSet)); |
| | | Toast.makeText(_mActivity, "保存成功", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | import android.view.ViewGroup; |
| | | import android.widget.Button; |
| | | import android.widget.TextView; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.appcompat.widget.Toolbar; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.AreaSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.AreaSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class FragmentSetting1 extends SupportFragment { |
| | | public class FragmentSetting1 extends SupportFragment implements View.OnClickListener { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting1.class.getSimpleName(); |
| | | private Gson gson = new Gson(); |
| | | AreaSetting areaSetting; |
| | | AreaSettingViewModel areaSettingViewModel; |
| | | |
| | | private TextEditText release_start_key,curve_pause_time,daoku_pause_time,daoku_finish_time; |
| | | private TextEditText park_pasue_time;//侧方停车中途停车时间 |
| | | private TextEditText park_finish_time;//侧方停车完成时间 |
| | | private TextEditText angle_90_pause_time,ramp_finish_time; |
| | | //坡起超出桩杆距离 |
| | | private TextEditText ramp_beyond_stick_dis; |
| | | |
| | | //坡起边线黄牌距离 |
| | | private TextEditText ramp_beyond_edge_dis_yellow; |
| | | |
| | | //坡起边线红牌距离 |
| | | private TextEditText ramp_beyond_edge_dis_red; |
| | | |
| | | //坡起车辆后溜黄牌距离 |
| | | private TextEditText back_of_vehicle_yellow; |
| | | private TextEditText back_of_vehicle_red; |
| | | |
| | | private Button btn_save; |
| | | |
| | | private int mNumber; |
| | | |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_parkover, container, false); |
| | | View view = inflater.inflate(R.layout.layout_fragment_changkao, container, false); |
| | | initView(view); |
| | | areaSettingViewModel = ViewModelProviders.of(this).get(AreaSettingViewModel.class); |
| | | |
| | | areaSettingViewModel.getAreaSetting().observe(this, new Observer<AreaSetting>() { |
| | | @Override |
| | | public void onChanged(AreaSetting mareaSetting) { |
| | | if (mareaSetting != null){ |
| | | areaSetting =mareaSetting; |
| | | setDatas(); |
| | | }else{ |
| | | Log.i(TAG,"observe AreaSetting==null"); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | private void setDatas() { |
| | | if (areaSetting != null){ |
| | | Log.i(TAG,"设置数据"); |
| | | curve_pause_time.setInput(String.valueOf(areaSetting.getCurve_pause_criteria())); |
| | | release_start_key.setInput(String.valueOf(areaSetting.getHold_start_key_limit_time())); |
| | | daoku_pause_time.setInput(String.valueOf(areaSetting.getPark_bottom_pause_criteria())); |
| | | daoku_finish_time.setInput(String.valueOf(areaSetting.getPark_edge_limit_time())); |
| | | park_finish_time.setInput(String.valueOf(areaSetting.getPark_edge_limit_time())); |
| | | park_pasue_time.setInput(String.valueOf(areaSetting.getPark_edge_pause_criteria())); |
| | | angle_90_pause_time.setInput(String.valueOf(areaSetting.getTurn_a90_pause_criteria())); |
| | | ramp_finish_time.setInput(String.valueOf(areaSetting.getRamp_start_car_limit_time())); |
| | | ramp_beyond_edge_dis_red.setInput(String.valueOf(areaSetting.getRamp_edge_red_distance())); |
| | | ramp_beyond_edge_dis_yellow.setInput(String.valueOf(areaSetting.getRamp_edge_yellow_distance())); |
| | | ramp_beyond_stick_dis.setInput(String.valueOf(areaSetting.getRamp_stoppoint_red_distance())); |
| | | back_of_vehicle_red.setInput(String.valueOf(areaSetting.getRamp_slide_red_distance())); |
| | | back_of_vehicle_yellow.setInput(String.valueOf(areaSetting.getRamp_slide_yellow_distance())); |
| | | } |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | btn_save = view.findViewById(R.id.btn_setting_save); |
| | | btn_save.setOnClickListener(this); |
| | | |
| | | curve_pause_time = view.findViewById(R.id.area_curve_pause_time); |
| | | release_start_key = view.findViewById(R.id.area_release_start_key); |
| | | daoku_pause_time = view.findViewById(R.id.area_park_pause_time); |
| | | daoku_finish_time = view.findViewById(R.id.area_park_finish_time); |
| | | park_finish_time = view.findViewById(R.id.area_park2_finish_time); |
| | | park_pasue_time = view.findViewById(R.id.area_park2_pause_time); |
| | | angle_90_pause_time = view.findViewById(R.id.area_turn_a90_pause_time); |
| | | ramp_finish_time = view.findViewById(R.id.area_ramp_finish_time); |
| | | ramp_beyond_edge_dis_red = view.findViewById(R.id.area_ramp_edge_red_dist); |
| | | ramp_beyond_edge_dis_yellow = view.findViewById(R.id.area_ramp_edge_yellow_dist); |
| | | ramp_beyond_stick_dis = view.findViewById(R.id.area_ramp_flag_red_dist); |
| | | back_of_vehicle_red = view.findViewById(R.id.area_ramp_slide_red_dist); |
| | | back_of_vehicle_yellow = view.findViewById(R.id.area_ramp_slide_yellow_dist); |
| | | |
| | | } |
| | | |
| | | private boolean canWirteJsonToFile = true; |
| | | |
| | | @Override |
| | | public void onClick(View v) { |
| | | AreaSetting areaSetting = new AreaSetting(); |
| | | String curve_pause_str = curve_pause_time.getInput(); |
| | | String release_start_key_str = release_start_key.getInput(); |
| | | String daoku_pause_time_str = daoku_pause_time.getInput(); |
| | | String daoku_finish_time_str = daoku_pause_time.getInput(); |
| | | String park_finish_time_str = park_finish_time.getInput(); |
| | | String park_pasue_time_str = park_pasue_time.getInput(); |
| | | String angle_90_pause_time_str = angle_90_pause_time.getInput(); |
| | | String ramp_finish_time_str = ramp_finish_time.getInput(); |
| | | String ramp_beyond_edge_dis_red_str = ramp_beyond_edge_dis_red.getInput(); |
| | | String ramp_beyond_edge_dis_yellow_str = ramp_beyond_edge_dis_yellow.getInput(); |
| | | String ramp_beyond_stick_dis_str = ramp_beyond_stick_dis.getInput(); |
| | | String back_of_vehicle_red_str = back_of_vehicle_red.getInput(); |
| | | String back_of_vehicle_yellow_str = back_of_vehicle_yellow.getInput(); |
| | | if (Utils.isDigital(curve_pause_str)){ |
| | | areaSetting.setCurve_pause_criteria(Integer.parseInt(curve_pause_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "曲线中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isDigital(release_start_key_str)){ |
| | | areaSetting.setHold_start_key_limit_time(Integer.parseInt(release_start_key_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "松开点火开关判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isDigital(daoku_pause_time_str)){ |
| | | areaSetting.setPark_bottom_pause_criteria(Integer.parseInt(daoku_pause_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "倒库中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | |
| | | if (Utils.isDigital(daoku_finish_time_str)){ |
| | | areaSetting.setPark_bottom_limit_time(Integer.parseInt(daoku_finish_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "倒库完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isDigital(park_finish_time_str)){ |
| | | areaSetting.setPark_edge_limit_time(Integer.parseInt(park_finish_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "侧方停车完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isDigital(park_pasue_time_str)){ |
| | | areaSetting.setPark_edge_pause_criteria(Integer.parseInt(park_pasue_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | |
| | | |
| | | if (Utils.isDigital(angle_90_pause_time_str)){ |
| | | areaSetting.setTurn_a90_pause_criteria(Integer.parseInt(angle_90_pause_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "直角中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isDigital(ramp_finish_time_str)){ |
| | | areaSetting.setRamp_start_car_limit_time(Integer.parseInt(ramp_finish_time_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "坡起完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isNumber(ramp_beyond_edge_dis_red_str)){ |
| | | areaSetting.setRamp_edge_red_distance(Double.parseDouble(ramp_beyond_edge_dis_red_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "倒库中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | |
| | | if (Utils.isNumber(ramp_beyond_edge_dis_yellow_str)){ |
| | | areaSetting.setRamp_edge_yellow_distance(Double.parseDouble(ramp_beyond_edge_dis_yellow_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "倒库完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isNumber(ramp_beyond_stick_dis_str)){ |
| | | areaSetting.setRamp_stoppoint_red_distance(Double.parseDouble(ramp_beyond_stick_dis_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "侧方停车完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isNumber(back_of_vehicle_red_str)){ |
| | | areaSetting.setRamp_slide_red_distance(Double.parseDouble(back_of_vehicle_red_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | if (Utils.isNumber(back_of_vehicle_yellow_str)){ |
| | | areaSetting.setRamp_slide_yellow_distance(Double.parseDouble(back_of_vehicle_yellow_str)); |
| | | }else{ |
| | | Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | |
| | | if (canWirteJsonToFile){ |
| | | areaSettingViewModel.saveAreaSetting(areaSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(areaSetting)); |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | public class FragmentSetting2 extends SupportFragment { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting2.class.getSimpleName(); |
| | | private Gson gson = new Gson(); |
| | | private CommonSetting mCommonSetting; |
| | | private CommonSettingViewModel commonSettingViewModel; |
| | | |
| | | private TextEditText te_road_pause_time; |
| | | private TextEditText te_crash_dotted_line_time; |
| | | private TextEditText te_slide_yellow_distance; |
| | | private TextEditText te_slide_red_distance; |
| | | private TextEditText te_lane_min_time; |
| | | private TextEditText te_change_lane_dis; |
| | | |
| | | private int mNumber; |
| | | |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_common_judge, container, false); |
| | | View view = inflater.inflate(R.layout.layout_common_judge_1, container, false); |
| | | initView(view); |
| | | commonSettingViewModel = ViewModelProviders.of(this).get(CommonSettingViewModel.class); |
| | | commonSettingViewModel.getCommonSetting().observe(this, new Observer<CommonSetting>() { |
| | | @Override |
| | | public void onChanged(CommonSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mCommonSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void setDatas() { |
| | | if (mCommonSetting != null){ |
| | | te_change_lane_dis.setInput(String.valueOf(mCommonSetting.getChange_lane_limit_distance())); |
| | | te_crash_dotted_line_time.setInput(String.valueOf(mCommonSetting.getCrash_dotted_line_cumulative_time())); |
| | | te_lane_min_time.setInput(String.valueOf(mCommonSetting.getContinuous_change_lane_min_time())); |
| | | te_road_pause_time.setInput(String.valueOf(mCommonSetting.getRoad_pause_criteria())); |
| | | te_slide_red_distance.setInput(String.valueOf(mCommonSetting.getRoad_slide_red_distance())); |
| | | te_slide_yellow_distance.setInput(String.valueOf(mCommonSetting.getRoad_slide_yellow_distance())); |
| | | } |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_change_lane_dis = view.findViewById(R.id.road_change_lane_dist); |
| | | te_crash_dotted_line_time = view.findViewById(R.id.road_crash_dotted_line_time); |
| | | te_lane_min_time = view.findViewById(R.id.road_lane_min_time); |
| | | te_road_pause_time = view.findViewById(R.id.road_pause_time); |
| | | te_slide_red_distance = view.findViewById(R.id.road_slide_red_distance); |
| | | te_slide_yellow_distance = view.findViewById(R.id.road_slide_yellow_distance); |
| | | |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String change_lane_dis_str = te_change_lane_dis.getInput(); |
| | | String crash_dotted_line_time_str = te_crash_dotted_line_time.getInput(); |
| | | String lane_min_time_str = te_lane_min_time.getInput(); |
| | | String road_pause_time_str = te_road_pause_time.getInput(); |
| | | String slide_red_distance_str = te_slide_red_distance.getInput(); |
| | | String slide_yellow_distance_str = te_slide_yellow_distance.getInput(); |
| | | |
| | | if (mCommonSetting != null){ |
| | | |
| | | if (Utils.isDigital(change_lane_dis_str)){ |
| | | |
| | | mCommonSetting.setChange_lane_limit_distance(Integer.parseInt(change_lane_dis_str)); |
| | | } |
| | | if (Utils.isDigital(crash_dotted_line_time_str)){ |
| | | mCommonSetting.setCrash_dotted_line_cumulative_time(Integer.parseInt(crash_dotted_line_time_str)); |
| | | } |
| | | if (Utils.isDigital(lane_min_time_str)){ |
| | | mCommonSetting.setContinuous_change_lane_min_time(Integer.parseInt(lane_min_time_str)); |
| | | } |
| | | if (Utils.isDigital(road_pause_time_str)){ |
| | | |
| | | mCommonSetting.setRoad_pause_criteria(Integer.parseInt(road_pause_time_str)); |
| | | } |
| | | if (Utils.isNumber(slide_red_distance_str)){ |
| | | mCommonSetting.setRoad_slide_red_distance(Double.parseDouble(slide_red_distance_str)); |
| | | } |
| | | if (Utils.isNumber(slide_yellow_distance_str)){ |
| | | mCommonSetting.setRoad_slide_yellow_distance(Double.parseDouble(slide_yellow_distance_str)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | commonSettingViewModel.saveCommonSetting(mCommonSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mCommonSetting)); |
| | | Toast.makeText(_mActivity, "通用设置成功", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.StartCarSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.StartCarSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting3.class.getSimpleName(); |
| | | |
| | | |
| | | private Gson gson = new Gson(); |
| | | private int mNumber; |
| | | |
| | | private StartCarSetting mStartCarSetting; |
| | | private StartCarSettingViewModel startCarSettingViewModel; |
| | | |
| | | private TextEditText te_start_car_max_rpm; |
| | | private TextEditText te_start_car_limit_distance; |
| | | private TextEditText te_open_door_drive_allow_distance; |
| | | |
| | | public static FragmentSetting3 newInstance(String number) { |
| | | FragmentSetting3 fragment = new FragmentSetting3(); |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_parkover, container, false); |
| | | View view = inflater.inflate(R.layout.layout_fragment_start, container, false); |
| | | initView(view); |
| | | startCarSettingViewModel = ViewModelProviders.of(this).get(StartCarSettingViewModel.class); |
| | | startCarSettingViewModel.getStartCarSetting().observe(this, new Observer<StartCarSetting>() { |
| | | @Override |
| | | public void onChanged(StartCarSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mStartCarSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void setDatas() { |
| | | te_open_door_drive_allow_distance.setInput(String.valueOf(mStartCarSetting.getOpen_door_drive_allow_distance())); |
| | | te_start_car_limit_distance.setInput(String.valueOf(mStartCarSetting.getStart_car_limit_distance())); |
| | | te_start_car_max_rpm.setInput(String.valueOf(mStartCarSetting.getStart_car_max_rpm())); |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | |
| | | te_open_door_drive_allow_distance = view.findViewById(R.id.road_start_open_door_dist); |
| | | te_start_car_limit_distance = view.findViewById(R.id.road_start_dist); |
| | | te_start_car_max_rpm = view.findViewById(R.id.road_start_max_rpm); |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teOpenDoorDriveAllowDistanceInput = te_open_door_drive_allow_distance.getInput(); |
| | | String teStartCarLimitDistanceInput = te_start_car_limit_distance.getInput(); |
| | | String teStartCarMaxRpmInput = te_start_car_max_rpm.getInput(); |
| | | if (mStartCarSetting != null){ |
| | | if (Utils.isNumber(teOpenDoorDriveAllowDistanceInput)){ |
| | | mStartCarSetting.setOpen_door_drive_allow_distance(Double.parseDouble(teOpenDoorDriveAllowDistanceInput)); |
| | | } |
| | | |
| | | if (Utils.isDigital(teStartCarLimitDistanceInput)){ |
| | | mStartCarSetting.setStart_car_limit_distance(Integer.parseInt(teStartCarLimitDistanceInput)); |
| | | } |
| | | if (Utils.isDigital(teStartCarMaxRpmInput)){ |
| | | mStartCarSetting.setStart_car_max_rpm(Integer.parseInt(teStartCarMaxRpmInput)); |
| | | } |
| | | |
| | | startCarSettingViewModel.saveCommonSetting(mStartCarSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mStartCarSetting)); |
| | | Toast.makeText(_mActivity, "上车起步设置成功", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.StraightLineSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.StraightLineSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * |
| | | * 直线行驶设置 |
| | | * Created by lzw on 2020/9/14. 10:16:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | |
| | | public class FragmentSetting4 extends SupportFragment { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting4.class.getSimpleName(); |
| | | |
| | | private Gson gson = new Gson(); |
| | | |
| | | private int mNumber; |
| | | |
| | | private TextEditText te_straight_limit_distance; |
| | | private TextEditText te_straight_max_offset; |
| | | |
| | | private StraightLineSetting mStrarightLineSetting; |
| | | private StraightLineSettingViewModel straightLineSettingViewModel; |
| | | |
| | | public static FragmentSetting4 newInstance(String number) { |
| | | FragmentSetting4 fragment = new FragmentSetting4(); |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_parkover, container, false); |
| | | View view = inflater.inflate(R.layout.layout_fragment_straight_line, container, false); |
| | | initView(view); |
| | | straightLineSettingViewModel = ViewModelProviders.of(this).get(StraightLineSettingViewModel.class); |
| | | straightLineSettingViewModel.getStraightLineSetting().observe(this, new Observer<StraightLineSetting>() { |
| | | @Override |
| | | public void onChanged(StraightLineSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mStrarightLineSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_straight_limit_distance = view.findViewById(R.id.straight_limit_distance); |
| | | te_straight_max_offset = view.findViewById(R.id.straight_max_offset); |
| | | |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teStraightLimitDistanceInput = te_straight_limit_distance.getInput(); |
| | | String teStraightMaxOffsetInput = te_straight_max_offset.getInput(); |
| | | if (mStrarightLineSetting != null){ |
| | | if (Utils.isDigital(teStraightLimitDistanceInput)){ |
| | | |
| | | mStrarightLineSetting.setStraight_limit_distance(Integer.parseInt(teStraightLimitDistanceInput)); |
| | | } |
| | | if (Utils.isNumber(teStraightMaxOffsetInput)){ |
| | | |
| | | mStrarightLineSetting.setStraight_max_offset(Double.parseDouble(teStraightMaxOffsetInput)); |
| | | } |
| | | |
| | | straightLineSettingViewModel.saveCommonSetting(mStrarightLineSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mStrarightLineSetting)); |
| | | Toast.makeText(_mActivity, "直线行驶设置成功", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | private void setDatas() { |
| | | te_straight_limit_distance.setInput(String.valueOf(mStrarightLineSetting.getStraight_limit_distance())); |
| | | te_straight_max_offset.setInput(String.valueOf(mStrarightLineSetting.getStraight_max_offset())); |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.StationSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.StationSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * |
| | | * 通过站点设置 |
| | | * Created by lzw on 2020/9/14. 10:16:39 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | |
| | | public class FragmentSetting5 extends SupportFragment { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting5.class.getSimpleName(); |
| | | private Gson gson = new Gson(); |
| | | private StationSetting mStationSetting; |
| | | private StationSettingViewModel mStationSettingViewModel; |
| | | |
| | | private TextEditText te_cross_school_max_speed; |
| | | private TextEditText te_crossing_break_valid_distance; |
| | | private TextEditText te_crossing_stop_valid_distance; |
| | | |
| | | private int mNumber; |
| | | |
| | |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_stationsettin, container, false); |
| | | initView(view); |
| | | mStationSettingViewModel = ViewModelProviders.of(this).get(StationSettingViewModel.class); |
| | | mStationSettingViewModel.getStationSetting().observe(this, new Observer<StationSetting>() { |
| | | @Override |
| | | public void onChanged(StationSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mStationSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_cross_school_max_speed = view.findViewById(R.id.cross_school_max_speed); |
| | | te_crossing_break_valid_distance = view.findViewById(R.id.crossing_break_valid_distance); |
| | | te_crossing_stop_valid_distance = view.findViewById(R.id.crossing_stop_valid_distance); |
| | | |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teCrossSchoolMaxSpeedInput = te_cross_school_max_speed.getInput(); |
| | | String teCrossingBreakValidDistanceInput = te_crossing_break_valid_distance.getInput(); |
| | | String teCrossingStopValidDistanceInput = te_crossing_stop_valid_distance.getInput(); |
| | | if (mStationSetting != null){ |
| | | if (Utils.isDigital(teCrossingBreakValidDistanceInput)){ |
| | | mStationSetting.setCrossing_break_valid_distance(Integer.parseInt(teCrossingBreakValidDistanceInput)); |
| | | } if (Utils.isDigital(teCrossSchoolMaxSpeedInput)){ |
| | | mStationSetting.setCross_school_max_speed(Integer.parseInt(teCrossSchoolMaxSpeedInput)); |
| | | } if (Utils.isNumber(teCrossingStopValidDistanceInput)){ |
| | | mStationSetting.setCrossing_stop_valid_distance(Double.parseDouble(teCrossingStopValidDistanceInput)); |
| | | } |
| | | mStationSettingViewModel.saveCommonSetting(mStationSetting); |
| | | Toast.makeText(_mActivity, "通过站点设置成功", Toast.LENGTH_SHORT).show(); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mStationSetting)); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | private void setDatas() { |
| | | te_cross_school_max_speed.setInput(String.valueOf(mStationSetting.getCross_school_max_speed())); |
| | | te_crossing_break_valid_distance.setInput(String.valueOf(mStationSetting.getCrossing_break_valid_distance())); |
| | | te_crossing_stop_valid_distance.setInput(String.valueOf(mStationSetting.getCrossing_stop_valid_distance())); |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.CorneringLampSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.CorneringLampSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting6.class.getSimpleName(); |
| | | |
| | | |
| | | private Gson gson = new Gson(); |
| | | private int mNumber; |
| | | |
| | | private TextEditText te_turn_signal_min_advance; |
| | | private CorneringLampSetting mCornerLampSetting; |
| | | private CorneringLampSettingViewModel corneringLampSettingViewModel; |
| | | |
| | | public static FragmentSetting6 newInstance(String number) { |
| | | FragmentSetting6 fragment = new FragmentSetting6(); |
| | |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_setlights, container, false); |
| | | initView(view); |
| | | corneringLampSettingViewModel = ViewModelProviders.of(this).get(CorneringLampSettingViewModel.class); |
| | | corneringLampSettingViewModel.getCorneringLampSetting().observe(this, new Observer<CorneringLampSetting>() { |
| | | @Override |
| | | public void onChanged(CorneringLampSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mCornerLampSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_turn_signal_min_advance = view.findViewById(R.id.turn_signal_min_advance); |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teTurnSignalMinAdvanceInput = te_turn_signal_min_advance.getInput(); |
| | | if (mCornerLampSetting != null){ |
| | | if (Utils.isDigital(teTurnSignalMinAdvanceInput)){ |
| | | |
| | | mCornerLampSetting.setTurn_signal_min_advance(Integer.parseInt(teTurnSignalMinAdvanceInput)); |
| | | Toast.makeText(_mActivity, "转向灯设置成功", Toast.LENGTH_SHORT).show(); |
| | | corneringLampSettingViewModel.saveCommonSetting(mCornerLampSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mCornerLampSetting)); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | private void setDatas() { |
| | | te_turn_signal_min_advance.setInput(String.valueOf(mCornerLampSetting.getTurn_signal_min_advance())); |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.OverTakeMeetingSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.OverTakeAndMeetingSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | public class FragmentSetting7 extends SupportFragment { |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting7.class.getSimpleName(); |
| | | |
| | | private Gson gson = new Gson(); |
| | | private OverTakeAndMeetingSettingViewModel overTakeAndMeetingSettingViewModel; |
| | | private OverTakeMeetingSetting overTakeMeetingSetting; |
| | | |
| | | private int mNumber; |
| | | |
| | | private TextEditText te_overtake_limit_distance; |
| | | |
| | | public static FragmentSetting7 newInstance(String number) { |
| | | FragmentSetting7 fragment = new FragmentSetting7(); |
| | |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_over_take, container, false); |
| | | initView(view); |
| | | overTakeAndMeetingSettingViewModel = ViewModelProviders.of(this).get(OverTakeAndMeetingSettingViewModel.class); |
| | | overTakeAndMeetingSettingViewModel.getOverTakeMeetingSetting().observe(this, new Observer<OverTakeMeetingSetting>() { |
| | | @Override |
| | | public void onChanged(OverTakeMeetingSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | overTakeMeetingSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_overtake_limit_distance = view.findViewById(R.id.overtake_limit_distance); |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teOvertakeLimitDistanceInput = te_overtake_limit_distance.getInput(); |
| | | if (overTakeMeetingSetting != null){ |
| | | if (Utils.isDigital(teOvertakeLimitDistanceInput)){ |
| | | Toast.makeText(_mActivity, "超车设置成功", Toast.LENGTH_SHORT).show(); |
| | | overTakeMeetingSetting.setOvertake_limit_distance(Integer.parseInt(teOvertakeLimitDistanceInput)); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(overTakeMeetingSetting)); |
| | | } |
| | | overTakeAndMeetingSettingViewModel.saveCommonSetting(overTakeMeetingSetting); |
| | | |
| | | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void setDatas() { |
| | | if (overTakeMeetingSetting != null){ |
| | | te_overtake_limit_distance.setInput(String.valueOf(overTakeMeetingSetting.getOvertake_limit_distance())); |
| | | } |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.SubDecGearSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.SubDecGearSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting8.class.getSimpleName(); |
| | | |
| | | |
| | | private Gson gson = new Gson(); |
| | | private int mNumber; |
| | | |
| | | |
| | | private TextEditText te_shift_limit_distance; |
| | | private TextEditText te_road_shift_hold_time; |
| | | |
| | | private SubDecGearSetting mSubGearSetting; |
| | | private SubDecGearSettingViewModel subDecGearSettingViewModel; |
| | | |
| | | public static FragmentSetting8 newInstance(String number) { |
| | | FragmentSetting8 fragment = new FragmentSetting8(); |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.fragment_add_sub_gear_setting, container, false); |
| | | View view = inflater.inflate(R.layout.fragment_add_sub_gear_setting_1, container, false); |
| | | initView(view); |
| | | subDecGearSettingViewModel = ViewModelProviders.of(this).get(SubDecGearSettingViewModel.class); |
| | | subDecGearSettingViewModel.getSubDecGearSetting().observe(this, new Observer<SubDecGearSetting>() { |
| | | @Override |
| | | public void onChanged(SubDecGearSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mSubGearSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | |
| | | te_shift_limit_distance = view.findViewById(R.id.shift_limit_distance); |
| | | te_road_shift_hold_time =view.findViewById(R.id.road_shift_hold_time); |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teRoadShiftHoldTimeInput = te_road_shift_hold_time.getInput(); |
| | | String teShiftLimitDistanceInput = te_shift_limit_distance.getInput(); |
| | | |
| | | if (mSubGearSetting != null){ |
| | | if (Utils.isDigital(teRoadShiftHoldTimeInput)){ |
| | | mSubGearSetting.setShift_hold_time(Integer.parseInt(teRoadShiftHoldTimeInput)); |
| | | }if (Utils.isDigital(teShiftLimitDistanceInput)){ |
| | | mSubGearSetting.setShift_limit_distance(Integer.parseInt(teShiftLimitDistanceInput)); |
| | | } |
| | | |
| | | subDecGearSettingViewModel.saveSubDecGearSetting(mSubGearSetting); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mSubGearSetting)); |
| | | Toast.makeText(_mActivity, "加减档设置成功", Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void setDatas() { |
| | | if (mSubGearSetting != null){ |
| | | te_shift_limit_distance.setInput(String.valueOf(mSubGearSetting.getShift_limit_distance())); |
| | | te_road_shift_hold_time.setInput(String.valueOf(mSubGearSetting.getShift_hold_time())); |
| | | } |
| | | } |
| | | } |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.Toast; |
| | | |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | import androidx.lifecycle.ViewModelProviders; |
| | | |
| | | import com.anyun.exam.lib.AYSdk; |
| | | import com.google.gson.Gson; |
| | | |
| | | import me.yokeyword.fragmentation.SupportFragment; |
| | | import safeluck.drive.evaluation.Constant; |
| | | import safeluck.drive.evaluation.R; |
| | | import safeluck.drive.evaluation.bean.CommonSetting; |
| | | import safeluck.drive.evaluation.bean.SideStopSetting; |
| | | import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; |
| | | import safeluck.drive.evaluation.util.Utils; |
| | | import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel; |
| | | import safeluck.drive.evaluation.viewmodels.SideStopSettingViewModel; |
| | | |
| | | /** |
| | | * DriveJudge |
| | |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class FragmentSetting9 extends SupportFragment { |
| | | private Gson gson = new Gson(); |
| | | private static final String ARG_NUMBER = "arg_number"; |
| | | private static final String TAG = FragmentSetting9.class.getSimpleName(); |
| | | |
| | | |
| | | private SideStopSetting mSideStopSetting; |
| | | private SideStopSettingViewModel mSideStopSettingViewModel; |
| | | private int mNumber; |
| | | |
| | | private TextEditText te_road_total_distance; |
| | | private TextEditText te_road_max_speed; |
| | | private TextEditText te_stop_car_open_door_allow_time; |
| | | private TextEditText te_stop_car_limit_distance; |
| | | private TextEditText te_stop_car_edge_red_distance; |
| | | private TextEditText te_stop_car_edge_yellow_distance; |
| | | |
| | | public static FragmentSetting9 newInstance(String number) { |
| | | FragmentSetting9 fragment = new FragmentSetting9(); |
| | |
| | | @Nullable |
| | | @Override |
| | | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
| | | View view = inflater.inflate(R.layout.layout_fragment_parkover, container, false); |
| | | View view = inflater.inflate(R.layout.layout_fragment_parkover_1, container, false); |
| | | initView(view); |
| | | mSideStopSettingViewModel = ViewModelProviders.of(this).get(SideStopSettingViewModel.class); |
| | | mSideStopSettingViewModel.getSideStopSetting().observe(this, new Observer<SideStopSetting>() { |
| | | @Override |
| | | public void onChanged(SideStopSetting commonSetting) { |
| | | if (commonSetting != null){ |
| | | mSideStopSetting = commonSetting; |
| | | setDatas(); |
| | | } |
| | | } |
| | | }); |
| | | return view; |
| | | } |
| | | |
| | | private void initView(View view) { |
| | | te_road_total_distance = view.findViewById(R.id.road_total_distance); |
| | | te_road_max_speed = view.findViewById(R.id.road_max_speed); |
| | | te_stop_car_open_door_allow_time = view.findViewById(R.id.stop_car_open_door_allow_time); |
| | | te_stop_car_limit_distance = view.findViewById(R.id.stop_car_limit_distance); |
| | | te_stop_car_edge_red_distance = view.findViewById(R.id.stop_car_edge_red_distance); |
| | | te_stop_car_edge_yellow_distance = view.findViewById(R.id.stop_car_edge_yellow_distance); |
| | | view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | String teRoadMaxSpeedInput = te_road_max_speed.getInput(); |
| | | String teRoadTotalDistanceInput = te_road_total_distance.getInput(); |
| | | String teStopCarOpenDoorAllowTimeInput = te_stop_car_open_door_allow_time.getInput(); |
| | | String teStopCarLimitDistanceInput = te_stop_car_limit_distance.getInput(); |
| | | String teStopCarEdgeRedDistanceInput = te_stop_car_edge_red_distance.getInput(); |
| | | String teStopCarEdgeYellowDistanceInput = te_stop_car_edge_yellow_distance.getInput(); |
| | | |
| | | if (mSideStopSetting!=null){ |
| | | if (Utils.isDigital(teRoadTotalDistanceInput)){ |
| | | mSideStopSetting.setRoad_total_distance(Integer.parseInt(teRoadTotalDistanceInput)); |
| | | } |
| | | if (Utils.isDigital(teRoadMaxSpeedInput)){ |
| | | mSideStopSetting.setRoad_max_speed(Integer.parseInt(teRoadMaxSpeedInput)); |
| | | } |
| | | if (Utils.isDigital(teStopCarOpenDoorAllowTimeInput)){ |
| | | mSideStopSetting.setStop_car_open_door_allow_time(Integer.parseInt(teStopCarOpenDoorAllowTimeInput)); |
| | | } |
| | | if (Utils.isDigital(teStopCarLimitDistanceInput)){ |
| | | mSideStopSetting.setStop_car_limit_distance(Integer.parseInt(teStopCarLimitDistanceInput)); |
| | | } |
| | | if (Utils.isNumber(teStopCarEdgeRedDistanceInput)){ |
| | | mSideStopSetting.setStop_car_edge_red_distance(Double.parseDouble(teStopCarEdgeRedDistanceInput)); |
| | | } |
| | | if (Utils.isNumber(teStopCarEdgeYellowDistanceInput)){ |
| | | mSideStopSetting.setStop_car_edge_yellow_distance(Double.parseDouble(teStopCarEdgeYellowDistanceInput)); |
| | | } |
| | | |
| | | |
| | | mSideStopSettingViewModel.saveSideStopSetting(mSideStopSetting); |
| | | Toast.makeText(_mActivity, "靠边停车设置", Toast.LENGTH_SHORT).show(); |
| | | AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mSideStopSetting)); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void setDatas() { |
| | | if (mSideStopSetting != null){ |
| | | te_road_total_distance.setInput(String.valueOf(mSideStopSetting.getRoad_total_distance())); |
| | | te_stop_car_open_door_allow_time.setInput(String.valueOf(mSideStopSetting.getStop_car_open_door_allow_time())); |
| | | te_stop_car_limit_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_limit_distance())); |
| | | te_stop_car_edge_red_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_edge_red_distance())); |
| | | te_stop_car_edge_yellow_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_edge_yellow_distance())); |
| | | te_road_max_speed.setInput(String.valueOf(mSideStopSetting.getRoad_max_speed())); |
| | | } |
| | | } |
| | | } |
| | |
| | | String edite = editText.getText().toString().trim(); |
| | | return edite; |
| | | } |
| | | |
| | | public void setInput(String str){ |
| | | editText.setText(str.trim()); |
| | | } |
| | | } |
| | |
| | | Matcher matcher = pattern.matcher(str); |
| | | return matcher.matches(); |
| | | } |
| | | public static boolean isNumber(String str) { |
| | | //采用正则表达式的方式来判断一个字符串是否为数字,这种方式判断面比较全 |
| | | //可以判断正负、整数小数 |
| | | |
| | | boolean isInt = Pattern.compile("^-?[1-9]\\d*$").matcher(str).find(); |
| | | boolean isDouble = Pattern.compile("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$").matcher(str).find(); |
| | | |
| | | return isInt || isDouble; |
| | | |
| | | } |
| | | public static long dateToLongSec(String utc) { |
| | | // MyLog.i("dateToLongSec:"+utc); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | import kotlinx.coroutines.Dispatchers |
| | | import kotlinx.coroutines.launch |
| | | import kotlinx.coroutines.withContext |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class AreaSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<AreaSetting> by lazy { |
| | | MutableLiveData<AreaSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveAreaSetting(gearRelateSet: AreaSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"area_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"area_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),AreaSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getAreaSetting():LiveData<AreaSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.bean.CommonSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class CommonSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<CommonSetting> by lazy { |
| | | MutableLiveData<CommonSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: CommonSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"common_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"common_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),CommonSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getCommonSetting():LiveData<CommonSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.* |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 转向灯设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class CorneringLampSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<CorneringLampSetting> by lazy { |
| | | MutableLiveData<CorneringLampSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: CorneringLampSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"cornerlamp_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"cornerlamp_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),CorneringLampSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getCorneringLampSetting():LiveData<CorneringLampSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * DriveJudge |
| | | * Created by lzw on 2020/10/23. 16:35:25 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | public class GearRelateSet { |
| | | |
| | | |
| | | /** |
| | | * gear_n_allow_time : 5 |
| | | * same_gear_min_time : 5 |
| | | * gear_speed_error_cumulative_time : 15 |
| | | * gear_speed_table : [[0,20],[5,30],[15,40],[25,10000],[35,10000]] |
| | | */ |
| | | |
| | | private int gear_n_allow_time; |
| | | private int same_gear_min_time; |
| | | private int gear_speed_error_cumulative_time; |
| | | private List<List<Integer>> gear_speed_table; |
| | | |
| | | public int getGear_n_allow_time() { |
| | | return gear_n_allow_time; |
| | | } |
| | | |
| | | public void setGear_n_allow_time(int gear_n_allow_time) { |
| | | this.gear_n_allow_time = gear_n_allow_time; |
| | | } |
| | | |
| | | public int getSame_gear_min_time() { |
| | | return same_gear_min_time; |
| | | } |
| | | |
| | | public void setSame_gear_min_time(int same_gear_min_time) { |
| | | this.same_gear_min_time = same_gear_min_time; |
| | | } |
| | | |
| | | public int getGear_speed_error_cumulative_time() { |
| | | return gear_speed_error_cumulative_time; |
| | | } |
| | | |
| | | public void setGear_speed_error_cumulative_time(int gear_speed_error_cumulative_time) { |
| | | this.gear_speed_error_cumulative_time = gear_speed_error_cumulative_time; |
| | | } |
| | | |
| | | public List<List<Integer>> getGear_speed_table() { |
| | | return gear_speed_table; |
| | | } |
| | | |
| | | public void setGear_speed_table(List<List<Integer>> gear_speed_table) { |
| | | this.gear_speed_table = gear_speed_table; |
| | | } |
| | | } |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | import kotlinx.coroutines.Dispatchers |
| | | import kotlinx.coroutines.launch |
| | | import kotlinx.coroutines.withContext |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class GearRelateSetViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<GearRelateSet> by lazy { |
| | | MutableLiveData<GearRelateSet>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveGearRelatedSetting(gearRelateSet: GearRelateSet){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"Gear_Setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"Gear_Setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),GearRelateSet::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getGearRelateSet():LiveData<GearRelateSet> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.bean.CommonSetting |
| | | import safeluck.drive.evaluation.bean.OverTakeMeetingSetting |
| | | import safeluck.drive.evaluation.bean.StartCarSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class OverTakeAndMeetingSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<OverTakeMeetingSetting> by lazy { |
| | | MutableLiveData<OverTakeMeetingSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: OverTakeMeetingSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"overtake_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"overtake_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),OverTakeMeetingSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getOverTakeMeetingSetting():LiveData<OverTakeMeetingSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.bean.CommonSetting |
| | | import safeluck.drive.evaluation.bean.SideStopSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class SideStopSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<SideStopSetting> by lazy { |
| | | MutableLiveData<SideStopSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveSideStopSetting(gearRelateSet: SideStopSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"sidestop_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"sidestop_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),SideStopSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getSideStopSetting():LiveData<SideStopSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.bean.CommonSetting |
| | | import safeluck.drive.evaluation.bean.StartCarSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class StartCarSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<StartCarSetting> by lazy { |
| | | MutableLiveData<StartCarSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: StartCarSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"startcar_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"startcar_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),StartCarSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getStartCarSetting():LiveData<StartCarSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.* |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class StationSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<StationSetting> by lazy { |
| | | MutableLiveData<StationSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: StationSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"station_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"station_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),StationSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getStationSetting():LiveData<StationSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.AreaSetting |
| | | import safeluck.drive.evaluation.bean.CommonSetting |
| | | import safeluck.drive.evaluation.bean.StartCarSetting |
| | | import safeluck.drive.evaluation.bean.StraightLineSetting |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class StraightLineSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<StraightLineSetting> by lazy { |
| | | MutableLiveData<StraightLineSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveCommonSetting(gearRelateSet: StraightLineSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"straightline_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"straightline_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),StraightLineSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getStraightLineSetting():LiveData<StraightLineSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package safeluck.drive.evaluation.viewmodels |
| | | |
| | | import android.app.Application |
| | | import androidx.lifecycle.* |
| | | import com.google.gson.Gson |
| | | |
| | | import safeluck.drive.evaluation.app |
| | | import safeluck.drive.evaluation.bean.* |
| | | import safeluck.drive.evaluation.util.CThreadPoolExecutor |
| | | import safeluck.drive.evaluation.util.FileUtil |
| | | |
| | | /**DriveJudge |
| | | * |
| | | * 场考设置 |
| | | * Created by lzw on 2020/10/9. 14:22:48 |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | class SubDecGearSettingViewModel() : ViewModel() { |
| | | var gson = Gson() |
| | | private val gearRelateSet:MutableLiveData<SubDecGearSetting> by lazy { |
| | | MutableLiveData<SubDecGearSetting>().also { |
| | | loadData() |
| | | } |
| | | } |
| | | |
| | | fun saveSubDecGearSetting(gearRelateSet: SubDecGearSetting){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | FileUtil.writeTxtFileToSD(app.getAppContext(),"subdecGear_setting.json",gson.toJson(gearRelateSet),"") |
| | | } |
| | | } |
| | | |
| | | private fun loadData(){ |
| | | CThreadPoolExecutor.runInBackground { |
| | | var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"subdecGear_setting.json",false) |
| | | var g = gson.fromJson(buffer.toString(),SubDecGearSetting::class.java) |
| | | gearRelateSet.postValue(g) |
| | | } |
| | | } |
| | | |
| | | fun getSubDecGearSetting():LiveData<SubDecGearSetting> { |
| | | return gearRelateSet |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | |
| | | |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "加减档项目行驶距离/米" |
| | | android:id="@+id/shift_limit_distance" |
| | | app:et_input="0.5" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "加减档项目同一档位/秒" |
| | | android:id="@+id/road_shift_hold_time" |
| | | app:et_input="0.3" |
| | | /> |
| | | |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | | |
| | |
| | | android:textSize="26sp"/> |
| | | |
| | | --> |
| | | <Button |
| | | android:id="@+id/btn_next" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:background="@drawable/route_item_select_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | |
| | | |
| | | </LinearLayout> |
| | |
| | | android:id="@+id/tedit_4_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:background="@drawable/route_item_select_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </LinearLayout> |
| | | </ScrollView> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_height="match_parent" |
| | | android:layout_width="match_parent"> |
| | | <LinearLayout android:layout_width="match_parent" |
| | | android:orientation="vertical" |
| | | android:layout_height="match_parent"> |
| | | |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:orientation="horizontal"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "1挡速度范围" |
| | | android:layout_weight="1" |
| | | app:et_input="0" |
| | | android:id="@+id/tedit_1_gear_" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "到" |
| | | android:layout_weight="1" |
| | | app:et_input="20" |
| | | android:id="@+id/tedit_1_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:orientation="horizontal"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "2挡速度范围" |
| | | android:layout_weight="1" |
| | | app:et_input="5" |
| | | android:id="@+id/tedit_2_gear_" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "到" |
| | | android:layout_weight="1" |
| | | app:et_input="30" |
| | | android:id="@+id/tedit_2_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:orientation="horizontal"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "3挡速度范围" |
| | | android:layout_weight="1" |
| | | app:et_input="15" |
| | | android:id="@+id/tedit_3_gear_" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "到" |
| | | android:layout_weight="1" |
| | | app:et_input="40" |
| | | android:id="@+id/tedit_3_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:orientation="horizontal"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "4挡速度范围" |
| | | android:layout_weight="1" |
| | | app:et_input="25" |
| | | android:id="@+id/tedit_4_gear_" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "到" |
| | | android:layout_weight="1" |
| | | app:et_input="50" |
| | | android:id="@+id/tedit_4_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:orientation="horizontal"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "5挡速度范围" |
| | | android:layout_weight="1" |
| | | app:et_input="25" |
| | | android:id="@+id/tedit_5_gear_" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="0dp" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "到" |
| | | android:layout_weight="1" |
| | | app:et_input="50" |
| | | android:id="@+id/tedit_5_gea_r" |
| | | /> |
| | | </LinearLayout> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "允许档位不匹配/秒" |
| | | android:id="@+id/road_gear_speed_err_time" |
| | | app:et_input="3" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | android:id="@+id/road_op_gear_err_time" |
| | | app:txt_des_tvedit = "挂同一挡最小间隔/秒" |
| | | app:et_input="300" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "允许空档滑行时间/秒" |
| | | app:et_input="120" |
| | | android:id="@+id/road_gear_n_time" |
| | | /> |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | |
| | | |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "路考中途停车时限(毫秒)" |
| | | android:id="@+id/road_pause_time" |
| | | app:et_input="2000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "行驶中压虚线累计时间/秒" |
| | | android:id="@+id/road_crash_dotted_line_time" |
| | | app:et_input="2000" |
| | | /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "车辆行驶后滑黄牌距离/米" |
| | | android:id="@+id/road_slide_yellow_distance" |
| | | app:et_input="0.1" |
| | | /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "车辆行驶后滑红牌距离/米" |
| | | android:id="@+id/road_slide_red_distance" |
| | | app:et_input="0.1" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "连续变道最短时间/秒" |
| | | android:id="@+id/road_lane_min_time" |
| | | app:et_input="210" |
| | | /> |
| | | |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "变更车道行驶距离/米" |
| | | android:id="@+id/road_change_lane_dist" |
| | | app:et_input="30" |
| | | /> |
| | | |
| | | |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | | |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | |
| | | |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "松开点火开关时限(毫秒)" |
| | | android:id="@+id/area_release_start_key" |
| | | app:et_input="2000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "曲线中途停车判定(毫秒)" |
| | | android:id="@+id/area_curve_pause_time" |
| | | app:et_input="2000" |
| | | /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "倒库中途停车判定(毫秒)" |
| | | android:id="@+id/area_park_pause_time" |
| | | app:et_input="2000" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "倒库最长完成时间/秒" |
| | | android:id="@+id/area_park_finish_time" |
| | | app:et_input="210" |
| | | /> |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "侧方中途停车判定(毫秒)" |
| | | android:id="@+id/area_park2_pause_time" |
| | | app:et_input="2000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "侧方最长完成时间/秒" |
| | | android:id="@+id/area_park2_finish_time" |
| | | app:et_input="90" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "直角中途停车判定(毫秒)" |
| | | android:id="@+id/area_turn_a90_pause_time" |
| | | app:et_input="2000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起最长完成时间/秒" |
| | | android:id="@+id/area_ramp_finish_time" |
| | | app:et_input="30" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起超出桩杆距离/米" |
| | | android:id="@+id/area_ramp_flag_red_dist" |
| | | app:et_input="0.5" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起边线黄牌距离/米" |
| | | android:id="@+id/area_ramp_edge_yellow_dist" |
| | | app:et_input="0.3" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起边线红牌距离/米" |
| | | android:id="@+id/area_ramp_edge_red_dist" |
| | | app:et_input="0.5" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起车辆后溜黄牌距离/米" |
| | | android:id="@+id/area_ramp_slide_yellow_dist" |
| | | app:et_input="0.1" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "坡起车辆后溜红牌距离/米" |
| | | android:id="@+id/area_ramp_slide_red_dist" |
| | | app:et_input="0.3" |
| | | /> |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | | |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <ScrollView xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | <FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "超车项目行驶距离/米" |
| | | android:id="@+id/overtake_limit_distance" |
| | | app:et_input="0.5" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "超车时必须达到的速度" |
| | | app:et_input="121" |
| | | |
| | | /> |
| | | |
| | | |
| | |
| | | app:txt_des_check = "超车完成后返回原车道"/> |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "全程考试里程/米" |
| | | android:id="@+id/road_total_distance" |
| | | app:et_input="3000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "全程最高时速KM/H" |
| | | android:id="@+id/road_max_speed" |
| | | app:et_input="60" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "下车时车门允许开启的时间/秒" |
| | | android:id="@+id/stop_car_open_door_allow_time" |
| | | app:et_input="17" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "靠边停车行驶距离限制/米" |
| | | android:id="@+id/stop_car_limit_distance" |
| | | app:et_input="150" |
| | | /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "靠边停车边沿到线距离(红牌)/米" |
| | | android:id="@+id/stop_car_edge_red_distance" |
| | | app:et_input="3000" |
| | | /><safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "靠边停车边沿到线距离(黄牌)/米" |
| | | android:id="@+id/stop_car_edge_yellow_distance" |
| | | app:et_input="17" |
| | | /> |
| | | |
| | | </LinearLayout> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <LinearLayout |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | android:id="@+id/turn_signal_min_advance" |
| | | app:txt_des_tvedit = "打转向灯后多少毫秒转弯或起步" |
| | | app:et_input="3000" |
| | | /> |
| | |
| | | |
| | | |
| | | </LinearLayout> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | |
| | | |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "起步行驶距离/米" |
| | | android:id="@+id/road_start_dist" |
| | | app:et_input="2000" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "起步阶段最大转速/RPM" |
| | | android:id="@+id/road_start_max_rpm" |
| | | app:et_input="90" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "起步阶段开门行驶距离/米" |
| | | android:id="@+id/road_start_open_door_dist" |
| | | app:et_input="2000" |
| | | /> |
| | | |
| | | |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | | |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <LinearLayout |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "学校/车站/横道区域最高速度" |
| | | app:et_input="25" |
| | | android:id="@+id/cross_school_max_speed" |
| | | app:txt_des_tvedit = "学校/车站/横道区域最高速度KM/H" |
| | | app:et_input="30" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "通过学校/车站/横道,距离检查点的有效距离(米)" |
| | | android:id="@+id/crossing_break_valid_distance" |
| | | app:et_input="30" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "停止线外需停车时,距停止线有效距离(米)" |
| | | android:id="@+id/crossing_stop_valid_distance" |
| | | app:et_input="3.0" |
| | | /> |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextCheckBox |
| | |
| | | |
| | | |
| | | </LinearLayout> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | |
| | | |
| | | |
| | | <FrameLayout |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | > |
| | | <ScrollView android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | | <LinearLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | |
| | | android:orientation="vertical"> |
| | | |
| | | |
| | | |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "直线行驶测试的距离/米" |
| | | android:id="@+id/straight_limit_distance" |
| | | app:et_input="30" |
| | | /> |
| | | <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText |
| | | android:layout_width="match_parent" |
| | | android:layout_height="wrap_content" |
| | | app:txt_des_tvedit = "直线行驶偏移量/米" |
| | | android:id="@+id/straight_max_offset" |
| | | app:et_input="0.5" |
| | | /> |
| | | |
| | | |
| | | </LinearLayout> |
| | | </ScrollView> |
| | | <Button |
| | | android:id="@+id/btn_setting_save" |
| | | android:layout_width="100dp" |
| | | android:layout_height="@dimen/ui_margin_60dp" |
| | | android:layout_marginLeft="16dp" |
| | | android:layout_marginRight="16dp" |
| | | android:layout_marginTop="32dp" |
| | | android:layout_gravity="bottom|center" |
| | | |
| | | android:background="@drawable/btn_start_bg" |
| | | android:textAllCaps="false" |
| | | android:textColor="@android:color/white" |
| | | android:textSize="@dimen/network_train_textsize32px" |
| | | android:text="保存"/> |
| | | </FrameLayout> |
| | | |
| | |
| | | |
| | | <string-array name="array_exam_rule_menu"> |
| | | <item>档位相关设置</item> |
| | | <item>常用参数设置</item> |
| | | <item>场地考试设置</item> |
| | | <!-- <item>常用参数设置</item>--> |
| | | <item>通用评判设置</item> |
| | | <item>上车起步设置</item> |
| | | <item>直线行驶设置</item> |
| | |
| | | </string-array> |
| | | |
| | | <string-array name="array_large_item_menu"> |
| | | <item>灯光设置</item> |
| | | <!-- <item>灯光设置</item>--> |
| | | <item>规则设置</item> |
| | | <item>扣分设置</item> |
| | | <!-- <item>扣分设置</item> |
| | | <item>指令设置</item> |
| | | <item>系统设置</item> |
| | | <item>教学系统设置</item> |
| | | <item>档位学习</item> |
| | | <item>档位学习</item>--> |
| | | </string-array> |
| | | |
| | | |