app/src/main/assets/Gear_Setting.json
New file @@ -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]]} app/src/main/assets/area_setting.json
New file @@ -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} app/src/main/assets/stop_setting.json
New file @@ -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} app/src/main/java/safeluck/drive/evaluation/bean/AreaSetting.java
New file @@ -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; } } 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(); 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(); } }); 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, "曲线中途停车判定输入不正确,请检查", 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, "松开点火开关判定输入不正确,请检查", 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, "倒库中途停车判定输入不正确,请检查", 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, "侧方停车中途停车判定输入不正确,请检查", 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, "直角中途停车判定输入不正确,请检查", 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, "倒库中途停车判定输入不正确,请检查", 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, "侧方停车中途停车判定输入不正确,请检查", 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, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (canWirteJsonToFile){ areaSettingViewModel.saveAreaSetting(areaSetting); } } } 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; } 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; } 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; } 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; } 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; } 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()); } } 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) { //采用正则表达式的方式来判断一个字符串是否为数字,这种方式判断面比较全 //可以判断正负、整数小数 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"); app/src/main/java/safeluck/drive/evaluation/viewmodels/AreaSettingViewModel.kt
New file @@ -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 } } app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt
File was deleted 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) } app/src/main/res/layout/fragment_add_sub_gear_setting_1.xml
New file @@ -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 = "加减档项目行驶距离/米" android:id="@+id/shift_limit_distance" app:et_input="0.5" /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText android:layout_width="match_parent" android:layout_height="wrap_content" app:txt_des_tvedit = "加减档项目同一档位/秒" android:id="@+id/road_shift_hold_time" app:et_input="0.3" /> </LinearLayout> </ScrollView> <Button android:id="@+id/btn_setting_save" android:layout_width="100dp" android:layout_height="@dimen/ui_margin_60dp" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:layout_marginTop="32dp" android:layout_gravity="bottom|center" android:background="@drawable/btn_start_bg" android:textAllCaps="false" android:textColor="@android:color/white" android:textSize="@dimen/network_train_textsize32px" android:text="保存"/> </FrameLayout> app/src/main/res/layout/fragment_gear_setting_1.xml
New file @@ -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 = "允许档位不匹配/秒" 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> app/src/main/res/layout/layout_common_judge_1.xml
New file @@ -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> app/src/main/res/layout/layout_fragment_changkao.xml
New file @@ -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> 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> <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> app/src/main/res/layout/layout_fragment_parkover_1.xml
New file @@ -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 = "全程最高时速KM/H" android:id="@+id/road_max_speed" app:et_input="60" /> <safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText android:layout_width="match_parent" android:layout_height="wrap_content" app:txt_des_tvedit = "下车时车门允许开启的时间/秒" android:id="@+id/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> 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> app/src/main/res/layout/layout_fragment_start.xml
New file @@ -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> 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 app/src/main/res/layout/layout_fragment_straight_line.xml
New file @@ -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> app/src/main/res/values/strings.xml
@@ -60,7 +60,8 @@ <string-array name="array_exam_rule_menu"> <item>档位相关设置</item> <item>常用参数设置</item> <item>场地考试设置</item> <!-- <item>常用参数设置</item>--> <item>通用评判设置</item> <item>上车起步设置</item> <item>直线行驶设置</item>