endian11
2020-10-26 e95d97fece2929943b7576d5cd5f55f8bff4f23a
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);
        }
    }
}