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/FragmentSetting1.java |  175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 172 insertions(+), 3 deletions(-)

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);
+        }
+
+    }
 }

--
Gitblit v1.8.0