From e95d97fece2929943b7576d5cd5f55f8bff4f23a Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期一, 26 十月 2020 13:22:24 +0800 Subject: [PATCH] 完成所有规则设置UI 和 档位相关设置逻辑后台 --- app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting2.java | 2 app/src/main/res/layout/layout_fragment_straight_line.xml | 54 ++ app/src/main/res/layout/layout_common_judge_1.xml | 79 +++ app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java | 1 app/src/main/res/layout/fragment_gear_setting_1.xml | 150 +++++++ app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting3.java | 2 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java | 160 +++++++ app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt | 47 ++ app/src/main/res/layout/layout_fragment_over_take.xml | 26 + app/src/main/res/layout/layout_fragment_changkao.xml | 126 ++++++ app/src/main/res/layout/layout_fragment_setlights.xml | 22 + app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt | 4 app/src/main/assets/Gear_Setting.json | 1 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting9.java | 2 app/src/main/res/layout/layout_fragment_start.xml | 61 ++ app/src/main/res/values/strings.xml | 3 app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 9 app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java | 160 +++++++ app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting4.java | 2 app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml | 52 ++ app/src/main/assets/stop_setting.json | 1 /dev/null | 12 app/src/main/res/layout/layout_fragment_stationsettin.xml | 16 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/cview/TextEditText.java | 4 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting1.java | 175 ++++++++ app/src/main/res/layout/layout_fragment_parkover_1.xml | 53 ++ app/src/main/assets/area_setting.json | 1 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting8.java | 2 28 files changed, 1,194 insertions(+), 33 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..1b88361 --- /dev/null +++ b/app/src/main/assets/area_setting.json @@ -0,0 +1 @@ +{"area_release_start_key":2000,"area_curve_pause_time":200,"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} \ 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/java/safeluck/drive/evaluation/bean/AreaSetting.java b/app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java new file mode 100644 index 0000000..ec855fe --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java @@ -0,0 +1,160 @@ +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 { + + /** + * + * 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/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 2a097cd..e23326b 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 @@ -14,9 +14,14 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; +import java.util.Arrays; +import java.util.List; + import me.yokeyword.fragmentation.SupportFragment; 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; @@ -26,7 +31,19 @@ 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 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 ; @@ -53,7 +70,7 @@ @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>() { @@ -62,6 +79,7 @@ if (gearRelateSet != null){ Toast.makeText(_mActivity, gearRelateSet.toString(), Toast.LENGTH_SHORT).show(); mgearRelateSet = gearRelateSet; + setDatas(); } } }); @@ -69,15 +87,147 @@ 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) { - mgearRelateSet.setGear_one_begin(0); + + + + 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); + 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..88aa566 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,19 @@ 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 me.yokeyword.fragmentation.SupportFragment; 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 +27,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(); + 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 +76,155 @@ @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.getArea_curve_pause_time())); + release_start_key.setInput(String.valueOf(areaSetting.getArea_release_start_key())); + daoku_pause_time.setInput(String.valueOf(areaSetting.getArea_park_pause_time())); + daoku_finish_time.setInput(String.valueOf(areaSetting.getArea_park_finish_time())); + park_finish_time.setInput(String.valueOf(areaSetting.getArea_park2_finish_time())); + park_pasue_time.setInput(String.valueOf(areaSetting.getArea_park2_pause_time())); + angle_90_pause_time.setInput(String.valueOf(areaSetting.getArea_turn_a90_pause_time())); + ramp_finish_time.setInput(String.valueOf(areaSetting.getArea_ramp_finish_time())); + ramp_beyond_edge_dis_red.setInput(String.valueOf(areaSetting.getArea_ramp_edge_red_dist())); + ramp_beyond_edge_dis_yellow.setInput(String.valueOf(areaSetting.getArea_ramp_edge_yellow_dist())); + ramp_beyond_stick_dis.setInput(String.valueOf(areaSetting.getArea_ramp_flag_red_dist())); + back_of_vehicle_red.setInput(String.valueOf(areaSetting.getArea_ramp_slide_red_dist())); + back_of_vehicle_yellow.setInput(String.valueOf(areaSetting.getArea_ramp_slide_yellow_dist())); + } + } + 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.setArea_curve_pause_time(Integer.parseInt(curve_pause_str)); + }else{ + Toast.makeText(_mActivity, "鏇茬嚎涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isDigital(release_start_key_str)){ + areaSetting.setArea_release_start_key(Integer.parseInt(release_start_key_str)); + }else{ + Toast.makeText(_mActivity, "鏉惧紑鐐圭伀寮�鍏冲垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isDigital(daoku_pause_time_str)){ + areaSetting.setArea_park_pause_time(Integer.parseInt(daoku_pause_time_str)); + }else{ + Toast.makeText(_mActivity, "鍊掑簱涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + + if (Utils.isDigital(daoku_finish_time_str)){ + areaSetting.setArea_park_finish_time(Integer.parseInt(daoku_finish_time_str)); + }else{ + Toast.makeText(_mActivity, "鍊掑簱瀹屾垚鏃堕棿杈撳叆涓嶆纭紝璇锋鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isDigital(park_finish_time_str)){ + areaSetting.setArea_park2_finish_time(Integer.parseInt(park_finish_time_str)); + }else{ + Toast.makeText(_mActivity, "渚ф柟鍋滆溅瀹屾垚鏃堕棿杈撳叆涓嶆纭紝璇锋鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isDigital(park_pasue_time_str)){ + areaSetting.setArea_park2_pause_time(Integer.parseInt(park_pasue_time_str)); + }else{ + Toast.makeText(_mActivity, "渚ф柟鍋滆溅涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + + + if (Utils.isDigital(angle_90_pause_time_str)){ + areaSetting.setArea_turn_a90_pause_time(Integer.parseInt(angle_90_pause_time_str)); + }else{ + Toast.makeText(_mActivity, "鐩磋涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isDigital(ramp_finish_time_str)){ + areaSetting.setArea_ramp_finish_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.setArea_ramp_edge_red_dist(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.setArea_ramp_edge_yellow_dist(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.setArea_ramp_flag_red_dist(Double.parseDouble(ramp_beyond_stick_dis_str)); + }else{ + Toast.makeText(_mActivity, "渚ф柟鍋滆溅瀹屾垚鏃堕棿杈撳叆涓嶆纭紝璇锋鏌�", Toast.LENGTH_SHORT).show(); + } + if (Utils.isNumber(back_of_vehicle_red_str)){ + areaSetting.setArea_ramp_slide_red_dist(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.setArea_ramp_slide_yellow_dist(Double.parseDouble(back_of_vehicle_yellow_str)); + }else{ + Toast.makeText(_mActivity, "渚ф柟鍋滆溅涓�斿仠杞﹀垽瀹氳緭鍏ヤ笉姝g‘锛岃妫�鏌�", Toast.LENGTH_SHORT).show(); + } + + if (canWirteJsonToFile){ + areaSettingViewModel.saveAreaSetting(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..dbb2d91 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 @@ -45,7 +45,7 @@ @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); return view; } 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..506fb8e 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 @@ -45,7 +45,7 @@ @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); return view; } 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..601b970 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 @@ -45,7 +45,7 @@ @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); return view; } 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..2577774 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 @@ -45,7 +45,7 @@ @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); return view; } 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..05bbac9 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 @@ -45,7 +45,7 @@ @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); return view; } 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/GearRelateSet.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt deleted file mode 100644 index d41dfd1..0000000 --- a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt +++ /dev/null @@ -1,12 +0,0 @@ -package safeluck.drive.evaluation.viewmodels - -/**DriveJudge - * Created by lzw on 2020/10/9. 14:27:54 - * 閭锛�632393724@qq.com - * All Rights Saved! Chongqing AnYun Tech co. LTD - */ -data class GearRelateSet(var gear_not_match_seconds:Long, - var gear_item_gear_not_match_mills:Long, - var gear_one_dis:Int, -var gear_tw_dis:Int,var gear_one_begin:Int,var gear_one_end:Int -) \ No newline at end of file diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt index c70eefe..68b354e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt +++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt @@ -25,13 +25,13 @@ fun saveGearRelatedSetting(gearRelateSet: GearRelateSet){ CThreadPoolExecutor.runInBackground { - FileUtil.writeTxtFileToSD(app.getAppContext(),"test.json",gson.toJson(gearRelateSet),"") + FileUtil.writeTxtFileToSD(app.getAppContext(),"Gear_Setting.json",gson.toJson(gearRelateSet),"") } } private fun loadData(){ CThreadPoolExecutor.runInBackground { - var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"test.json",false) + var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"Gear_Setting.json",false) var g = gson.fromJson(buffer.toString(),GearRelateSet::class.java) gearRelateSet.postValue(g) } 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_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..3db4c1b --- /dev/null +++ b/app/src/main/res/layout/layout_fragment_parkover_1.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<ScrollView 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_max_dist" + 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/road_stop_open_door_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/road_stop_dist" + 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/road_stop_edge_red_dist" + 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/road_stop_edge_yellow_dist" + app:et_input="17" + /> + +</LinearLayout> +</ScrollView> \ 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..9e45b60 100644 --- a/app/src/main/res/layout/layout_fragment_stationsettin.xml +++ b/app/src/main/res/layout/layout_fragment_stationsettin.xml @@ -8,8 +8,20 @@ <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" + 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 = "閫氳繃瀛︽牎/杞︾珯/妯亾锛岃窛绂绘鏌ョ偣鐨勬湁鏁堣窛绂�(绫�)" + 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 = "鍋滄绾垮闇�鍋滆溅鏃讹紝璺濆仠姝㈢嚎鏈夋晥璺濈(绫�)" + app:et_input="3.0" /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextCheckBox 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..e39c86f 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> -- Gitblit v1.8.0