From a5c2e37286dd29b02fff10247e6f3201ad5f58cd Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期一, 26 十月 2020 18:04:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/lowprecision' --- app/src/main/java/safeluck/drive/evaluation/bean/StartCarSetting.java | 45 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java | 91 + app/src/main/java/safeluck/drive/evaluation/bean/StationSetting.java | 44 app/src/main/java/safeluck/drive/evaluation/viewmodels/OverTakeAndMeetingSettingViewModel.kt | 48 + app/src/main/assets/startcar_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/bean/CorneringLampSetting.java | 24 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting7.java | 50 + app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java | 1 app/src/main/assets/straightline_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java | 67 + app/src/main/assets/station_setting.json | 1 app/src/main/res/layout/fragment_gear_setting.xml | 12 app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt | 47 app/src/main/res/layout/layout_fragment_changkao.xml | 126 ++ app/src/main/java/safeluck/drive/evaluation/bean/SubDecGearSetting.java | 34 app/src/main/res/layout/layout_fragment_setlights.xml | 22 app/src/main/assets/subdecGear_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/Constant.java | 1 app/src/main/java/safeluck/drive/evaluation/bean/StraightLineSetting.java | 34 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java | 87 + app/src/main/res/values/strings.xml | 9 app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java | 10 app/src/main/java/safeluck/drive/evaluation/viewmodels/StationSettingViewModel.kt | 45 app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 9 app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java | 308 ++++++ app/src/main/java/safeluck/drive/evaluation/viewmodels/StartCarSettingViewModel.kt | 47 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java | 62 + app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml | 52 + app/src/main/java/safeluck/drive/evaluation/app.java | 22 app/src/main/java/safeluck/drive/evaluation/bean/OverTakeMeetingSetting.java | 24 app/src/main/res/layout/layout_fragment_stationsettin.xml | 40 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java | 180 +++ app/src/main/java/safeluck/drive/evaluation/viewmodels/CommonSettingViewModel.kt | 46 app/src/main/res/layout/fragment_content.xml | 13 app/src/main/assets/area_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/bean/SideStopSetting.java | 74 + app/src/main/res/layout/layout_fragment_straight_line.xml | 54 + app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting5.java | 59 + app/src/main/res/layout/layout_common_judge_1.xml | 79 + app/src/main/res/layout/fragment_gear_setting_1.xml | 150 +++ app/src/main/java/safeluck/drive/evaluation/viewmodels/StraightLineSettingViewModel.kt | 48 + app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting6.java | 47 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java | 192 +++ app/src/main/res/layout/layout_fragment_over_take.xml | 26 app/src/main/java/safeluck/drive/evaluation/viewmodels/CorneringLampSettingViewModel.kt | 45 app/src/main/assets/cornerlamp_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt | 44 app/src/main/assets/Gear_Setting.json | 1 app/src/main/assets/common_setting.json | 1 app/src/main/res/layout/layout_fragment_start.xml | 61 + app/src/main/java/safeluck/drive/evaluation/viewmodels/SubDecGearSettingViewModel.kt | 45 app/src/main/assets/stop_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java | 4 app/src/main/assets/overtake_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/bean/CommonSetting.java | 74 + app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.java | 57 + app/src/main/res/layout/layout_fragment_parkover_1.xml | 67 + app/src/main/assets/sidestop_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java | 60 + app/src/main/java/safeluck/drive/evaluation/viewmodels/SideStopSettingViewModel.kt | 47 60 files changed, 2,797 insertions(+), 47 deletions(-) diff --git a/app/src/main/assets/Gear_Setting.json b/app/src/main/assets/Gear_Setting.json new file mode 100644 index 0000000..b4d2e25 --- /dev/null +++ b/app/src/main/assets/Gear_Setting.json @@ -0,0 +1 @@ +{"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]]} \ No newline at end of file diff --git a/app/src/main/assets/area_setting.json b/app/src/main/assets/area_setting.json new file mode 100644 index 0000000..cd238be --- /dev/null +++ b/app/src/main/assets/area_setting.json @@ -0,0 +1 @@ +{"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} \ No newline at end of file diff --git a/app/src/main/assets/common_setting.json b/app/src/main/assets/common_setting.json new file mode 100644 index 0000000..1757a3d --- /dev/null +++ b/app/src/main/assets/common_setting.json @@ -0,0 +1 @@ +{"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} \ No newline at end of file diff --git a/app/src/main/assets/cornerlamp_setting.json b/app/src/main/assets/cornerlamp_setting.json new file mode 100644 index 0000000..de4d8eb --- /dev/null +++ b/app/src/main/assets/cornerlamp_setting.json @@ -0,0 +1 @@ +{"turn_signal_min_advance":3} \ No newline at end of file diff --git a/app/src/main/assets/overtake_setting.json b/app/src/main/assets/overtake_setting.json new file mode 100644 index 0000000..4666b65 --- /dev/null +++ b/app/src/main/assets/overtake_setting.json @@ -0,0 +1 @@ +{"overtake_limit_distance":150} \ No newline at end of file diff --git a/app/src/main/assets/sidestop_setting.json b/app/src/main/assets/sidestop_setting.json new file mode 100644 index 0000000..6a6f4eb --- /dev/null +++ b/app/src/main/assets/sidestop_setting.json @@ -0,0 +1 @@ +{"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} \ No newline at end of file diff --git a/app/src/main/assets/startcar_setting.json b/app/src/main/assets/startcar_setting.json new file mode 100644 index 0000000..216a6d5 --- /dev/null +++ b/app/src/main/assets/startcar_setting.json @@ -0,0 +1 @@ +{"start_car_limit_distance":10,"open_door_drive_allow_distance":1.1,"start_car_max_rpm":2500} \ No newline at end of file diff --git a/app/src/main/assets/station_setting.json b/app/src/main/assets/station_setting.json new file mode 100644 index 0000000..1bcd741 --- /dev/null +++ b/app/src/main/assets/station_setting.json @@ -0,0 +1 @@ +{"cross_school_max_speed":30,"crossing_break_valid_distance":30,"crossing_stop_valid_distance":3.5} \ No newline at end of file diff --git a/app/src/main/assets/stop_setting.json b/app/src/main/assets/stop_setting.json new file mode 100644 index 0000000..9f7b925 --- /dev/null +++ b/app/src/main/assets/stop_setting.json @@ -0,0 +1 @@ +{"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} \ No newline at end of file diff --git a/app/src/main/assets/straightline_setting.json b/app/src/main/assets/straightline_setting.json new file mode 100644 index 0000000..619d310 --- /dev/null +++ b/app/src/main/assets/straightline_setting.json @@ -0,0 +1 @@ +{"straight_limit_distance":100,"straight_max_offset":0.3} \ No newline at end of file diff --git a/app/src/main/assets/subdecGear_setting.json b/app/src/main/assets/subdecGear_setting.json new file mode 100644 index 0000000..843a08e --- /dev/null +++ b/app/src/main/assets/subdecGear_setting.json @@ -0,0 +1 @@ +{"shift_limit_distance":120,"shift_hold_time":3} \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java index 01fb449..92b0e54 100644 --- a/app/src/main/java/safeluck/drive/evaluation/Constant.java +++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java @@ -110,4 +110,5 @@ 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; } diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java index 7b2f7b0..c60c585 100644 --- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java +++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java @@ -20,7 +20,7 @@ * 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); @@ -38,12 +38,10 @@ // 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; diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 8dbc95b..6a1af4d 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -31,6 +31,9 @@ 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; @@ -119,9 +122,28 @@ // 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; } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java new file mode 100644 index 0000000..baa96c1 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java @@ -0,0 +1,308 @@ +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; +// } + + + + + + + + + + + + + + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/CommonSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/CommonSetting.java new file mode 100644 index 0000000..24b4d33 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/CommonSetting.java @@ -0,0 +1,74 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/CorneringLampSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/CorneringLampSetting.java new file mode 100644 index 0000000..658dc89 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/CorneringLampSetting.java @@ -0,0 +1,24 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/OverTakeMeetingSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/OverTakeMeetingSetting.java new file mode 100644 index 0000000..84aab6c --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/OverTakeMeetingSetting.java @@ -0,0 +1,24 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SideStopSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/SideStopSetting.java new file mode 100644 index 0000000..ca53373 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/SideStopSetting.java @@ -0,0 +1,74 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/StartCarSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/StartCarSetting.java new file mode 100644 index 0000000..a051827 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/StartCarSetting.java @@ -0,0 +1,45 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/StationSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/StationSetting.java new file mode 100644 index 0000000..ac9870d --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/StationSetting.java @@ -0,0 +1,44 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/StraightLineSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/StraightLineSetting.java new file mode 100644 index 0000000..fe07627 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/StraightLineSetting.java @@ -0,0 +1,34 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SubDecGearSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/SubDecGearSetting.java new file mode 100644 index 0000000..49c9a06 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/SubDecGearSetting.java @@ -0,0 +1,34 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java index acd9266..1ba7024 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java @@ -221,6 +221,7 @@ 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(); diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java index a061f89..923b879 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java @@ -7,13 +7,27 @@ 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. @@ -21,7 +35,23 @@ 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; @@ -46,14 +76,168 @@ @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(); + } + }); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java index 637d131..62e9171 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java @@ -7,12 +7,23 @@ 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 @@ -20,10 +31,31 @@ * 閭锛�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; @@ -48,14 +80,156 @@ @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, "鏇茬嚎涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "鏉惧紑鐐圭伀寮�鍏冲垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "鍊掑簱涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "渚ф柟鍋滆溅涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "鐩磋涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "鍊掑簱涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "渚ф柟鍋滆溅涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", 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, "渚ф柟鍋滆溅涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + + if (canWirteJsonToFile){ + areaSettingViewModel.saveAreaSetting(areaSetting); + AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(areaSetting)); + } + + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java index 4806d3d..7d741bd 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java @@ -5,11 +5,22 @@ 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 @@ -20,7 +31,16 @@ 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; @@ -45,14 +65,83 @@ @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(); + } + } + }); } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java index aa7ac7e..43d3ada 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java @@ -5,11 +5,24 @@ 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 @@ -21,8 +34,15 @@ 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(); @@ -45,14 +65,57 @@ @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(); + } + } + }); } + } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java index 35bb34b..5d482b2 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java @@ -5,14 +5,29 @@ 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 @@ -20,9 +35,15 @@ 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(); @@ -45,14 +66,51 @@ @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())); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting5.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting5.java index 095617c..6ca2c3e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting5.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting5.java @@ -5,14 +5,29 @@ 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 @@ -20,7 +35,13 @@ 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; @@ -47,12 +68,50 @@ 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())); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting6.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting6.java index b08e87b..af45273 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting6.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting6.java @@ -5,11 +5,24 @@ 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 @@ -21,8 +34,12 @@ 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(); @@ -47,12 +64,40 @@ 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())); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting7.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting7.java index c48f7e2..be6c8fe 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting7.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting7.java @@ -5,11 +5,24 @@ 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 @@ -20,9 +33,13 @@ 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(); @@ -47,12 +64,41 @@ 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())); + } + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java index c7ef98f..5c5d031 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java @@ -5,11 +5,24 @@ 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 @@ -21,8 +34,15 @@ 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(); @@ -45,14 +65,50 @@ @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, "鍔犲噺妗h缃垚鍔�", 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())); + } + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java index 81d6a68..f8e8cbe 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java @@ -5,11 +5,24 @@ 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 @@ -18,11 +31,20 @@ * 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(); @@ -45,14 +67,75 @@ @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())); + } + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java index a84913e..cc2c2bf 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java @@ -79,4 +79,8 @@ String edite = editText.getText().toString().trim(); return edite; } + + public void setInput(String str){ + editText.setText(str.trim()); + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java index 3380df0..50e23ff 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java +++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java @@ -572,7 +572,16 @@ Matcher matcher = pattern.matcher(str); return matcher.matches(); } + public static boolean isNumber(String str) { + //閲囩敤姝e垯琛ㄨ揪寮忕殑鏂瑰紡鏉ュ垽鏂竴涓瓧绗︿覆鏄惁涓烘暟瀛楋紝杩欑鏂瑰紡鍒ゆ柇闈㈡瘮杈冨叏 + //鍙互鍒ゆ柇姝h礋銆佹暣鏁板皬鏁� + 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"); diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt new file mode 100644 index 0000000..293c141 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt @@ -0,0 +1,47 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/CommonSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/CommonSettingViewModel.kt new file mode 100644 index 0000000..baa9db3 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/CommonSettingViewModel.kt @@ -0,0 +1,46 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/CorneringLampSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/CorneringLampSettingViewModel.kt new file mode 100644 index 0000000..e4904d5 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/CorneringLampSettingViewModel.kt @@ -0,0 +1,45 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.java b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.java new file mode 100644 index 0000000..09b533b --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.java @@ -0,0 +1,57 @@ +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; + } +} diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt new file mode 100644 index 0000000..68b354e --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt @@ -0,0 +1,44 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/OverTakeAndMeetingSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/OverTakeAndMeetingSettingViewModel.kt new file mode 100644 index 0000000..1a748fd --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/OverTakeAndMeetingSettingViewModel.kt @@ -0,0 +1,48 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/SideStopSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/SideStopSettingViewModel.kt new file mode 100644 index 0000000..cc38385 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/SideStopSettingViewModel.kt @@ -0,0 +1,47 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/StartCarSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StartCarSettingViewModel.kt new file mode 100644 index 0000000..4eac389 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StartCarSettingViewModel.kt @@ -0,0 +1,47 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/StationSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StationSettingViewModel.kt new file mode 100644 index 0000000..50ddc0f --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StationSettingViewModel.kt @@ -0,0 +1,45 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/StraightLineSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StraightLineSettingViewModel.kt new file mode 100644 index 0000000..5155164 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/StraightLineSettingViewModel.kt @@ -0,0 +1,48 @@ +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 + } +} + diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/SubDecGearSettingViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/SubDecGearSettingViewModel.kt new file mode 100644 index 0000000..f8df4b3 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/SubDecGearSettingViewModel.kt @@ -0,0 +1,45 @@ +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 + } +} + diff --git a/app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml b/app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml new file mode 100644 index 0000000..adba997 --- /dev/null +++ b/app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml @@ -0,0 +1,52 @@ +<?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 = "鍔犲噺妗i」鐩椹惰窛绂�/绫�" + 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 = "鍔犲噺妗i」鐩悓涓�妗d綅/绉�" + 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> + diff --git a/app/src/main/res/layout/fragment_content.xml b/app/src/main/res/layout/fragment_content.xml index d059495..53d21a1 100644 --- a/app/src/main/res/layout/fragment_content.xml +++ b/app/src/main/res/layout/fragment_content.xml @@ -20,17 +20,6 @@ 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> diff --git a/app/src/main/res/layout/fragment_gear_setting.xml b/app/src/main/res/layout/fragment_gear_setting.xml index b69d301..e7c03f9 100644 --- a/app/src/main/res/layout/fragment_gear_setting.xml +++ b/app/src/main/res/layout/fragment_gear_setting.xml @@ -110,5 +110,17 @@ 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> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_gear_setting_1.xml b/app/src/main/res/layout/fragment_gear_setting_1.xml new file mode 100644 index 0000000..0d9eb80 --- /dev/null +++ b/app/src/main/res/layout/fragment_gear_setting_1.xml @@ -0,0 +1,150 @@ +<?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 = "鍏佽妗d綅涓嶅尮閰�/绉�" + 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> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_common_judge_1.xml b/app/src/main/res/layout/layout_common_judge_1.xml new file mode 100644 index 0000000..c1c572a --- /dev/null +++ b/app/src/main/res/layout/layout_common_judge_1.xml @@ -0,0 +1,79 @@ +<?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> + diff --git a/app/src/main/res/layout/layout_fragment_changkao.xml b/app/src/main/res/layout/layout_fragment_changkao.xml new file mode 100644 index 0000000..5162cae --- /dev/null +++ b/app/src/main/res/layout/layout_fragment_changkao.xml @@ -0,0 +1,126 @@ +<?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> + diff --git a/app/src/main/res/layout/layout_fragment_over_take.xml b/app/src/main/res/layout/layout_fragment_over_take.xml index 3da35e7..28e794d 100644 --- a/app/src/main/res/layout/layout_fragment_over_take.xml +++ b/app/src/main/res/layout/layout_fragment_over_take.xml @@ -1,5 +1,5 @@ <?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 @@ -9,8 +9,16 @@ <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" + /> @@ -21,4 +29,18 @@ app:txt_des_check = "瓒呰溅瀹屾垚鍚庤繑鍥炲師杞﹂亾"/> </LinearLayout> -</ScrollView> \ No newline at end of file + <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> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_fragment_parkover_1.xml b/app/src/main/res/layout/layout_fragment_parkover_1.xml new file mode 100644 index 0000000..9a2c697 --- /dev/null +++ b/app/src/main/res/layout/layout_fragment_parkover_1.xml @@ -0,0 +1,67 @@ +<?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 = "鍏ㄧ▼鏈�楂樻椂閫烱M/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> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_fragment_setlights.xml b/app/src/main/res/layout/layout_fragment_setlights.xml index dbfb4a0..bd0c818 100644 --- a/app/src/main/res/layout/layout_fragment_setlights.xml +++ b/app/src/main/res/layout/layout_fragment_setlights.xml @@ -1,13 +1,18 @@ <?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" /> @@ -43,3 +48,18 @@ </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> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_fragment_start.xml b/app/src/main/res/layout/layout_fragment_start.xml new file mode 100644 index 0000000..9ff1b7c --- /dev/null +++ b/app/src/main/res/layout/layout_fragment_start.xml @@ -0,0 +1,61 @@ +<?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> + diff --git a/app/src/main/res/layout/layout_fragment_stationsettin.xml b/app/src/main/res/layout/layout_fragment_stationsettin.xml index 03a3094..2b5bdc4 100644 --- a/app/src/main/res/layout/layout_fragment_stationsettin.xml +++ b/app/src/main/res/layout/layout_fragment_stationsettin.xml @@ -1,15 +1,34 @@ <?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 @@ -19,3 +38,18 @@ </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> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_fragment_straight_line.xml b/app/src/main/res/layout/layout_fragment_straight_line.xml new file mode 100644 index 0000000..379a24d --- /dev/null +++ b/app/src/main/res/layout/layout_fragment_straight_line.xml @@ -0,0 +1,54 @@ +<?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> + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ba1c0b0..ae0f17d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -60,7 +60,8 @@ <string-array name="array_exam_rule_menu"> <item>妗d綅鐩稿叧璁剧疆</item> - <item>甯哥敤鍙傛暟璁剧疆</item> + <item>鍦哄湴鑰冭瘯璁剧疆</item> +<!-- <item>甯哥敤鍙傛暟璁剧疆</item>--> <item>閫氱敤璇勫垽璁剧疆</item> <item>涓婅溅璧锋璁剧疆</item> <item>鐩寸嚎琛岄┒璁剧疆</item> @@ -73,13 +74,13 @@ </string-array> <string-array name="array_large_item_menu"> - <item>鐏厜璁剧疆</item> +<!-- <item>鐏厜璁剧疆</item>--> <item>瑙勫垯璁剧疆</item> - <item>鎵e垎璁剧疆</item> +<!-- <item>鎵e垎璁剧疆</item> <item>鎸囦护璁剧疆</item> <item>绯荤粺璁剧疆</item> <item>鏁欏绯荤粺璁剧疆</item> - <item>妗d綅瀛︿範</item> + <item>妗d綅瀛︿範</item>--> </string-array> -- Gitblit v1.8.0