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