package safeluck.drive.evaluation.fragment.rulefragments; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.widget.Toolbar; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProviders; import com.anyun.exam.lib.AYSdk; import com.google.gson.Gson; import me.yokeyword.fragmentation.SupportFragment; import safeluck.drive.evaluation.Constant; import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.bean.AreaSetting; import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText; import safeluck.drive.evaluation.util.Utils; import safeluck.drive.evaluation.viewmodels.AreaSettingViewModel; /** * DriveJudge * Created by lzw on 2020/9/14. 10:16:39 * 邮箱:632393724@qq.com * All Rights Saved! Chongqing AnYun Tech co. LTD */ public class FragmentSetting1 extends SupportFragment implements View.OnClickListener { private static final String ARG_NUMBER = "arg_number"; private static final String TAG = FragmentSetting1.class.getSimpleName(); private Gson gson = new Gson(); AreaSetting areaSetting; AreaSettingViewModel areaSettingViewModel; private TextEditText release_start_key,curve_pause_time,daoku_pause_time,daoku_finish_time; private TextEditText park_pasue_time;//侧方停车中途停车时间 private TextEditText park_finish_time;//侧方停车完成时间 private TextEditText angle_90_pause_time,ramp_finish_time; //坡起超出桩杆距离 private TextEditText ramp_beyond_stick_dis; //坡起边线黄牌距离 private TextEditText ramp_beyond_edge_dis_yellow; //坡起边线红牌距离 private TextEditText ramp_beyond_edge_dis_red; //坡起车辆后溜黄牌距离 private TextEditText back_of_vehicle_yellow; private TextEditText back_of_vehicle_red; private Button btn_save; private int mNumber; public static FragmentSetting1 newInstance(String number) { FragmentSetting1 fragment = new FragmentSetting1(); Bundle args = new Bundle(); args.putInt(ARG_NUMBER, Integer.parseInt(number)); fragment.setArguments(args); return fragment; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle args = getArguments(); if (args != null) { mNumber =args.getInt(ARG_NUMBER) ; Log.i(TAG,"mNumber="+mNumber); } } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 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() { @Override public void onChanged(AreaSetting mareaSetting) { if (mareaSetting != null){ areaSetting =mareaSetting; setDatas(); }else{ Log.i(TAG,"observe AreaSetting==null"); } } }); return view; } private void setDatas() { if (areaSetting != null){ Log.i(TAG,"设置数据"); curve_pause_time.setInput(String.valueOf(areaSetting.getCurve_pause_criteria())); release_start_key.setInput(String.valueOf(areaSetting.getHold_start_key_limit_time())); daoku_pause_time.setInput(String.valueOf(areaSetting.getPark_bottom_pause_criteria())); daoku_finish_time.setInput(String.valueOf(areaSetting.getPark_edge_limit_time())); park_finish_time.setInput(String.valueOf(areaSetting.getPark_edge_limit_time())); park_pasue_time.setInput(String.valueOf(areaSetting.getPark_edge_pause_criteria())); angle_90_pause_time.setInput(String.valueOf(areaSetting.getTurn_a90_pause_criteria())); ramp_finish_time.setInput(String.valueOf(areaSetting.getRamp_start_car_limit_time())); ramp_beyond_edge_dis_red.setInput(String.valueOf(areaSetting.getRamp_edge_red_distance())); ramp_beyond_edge_dis_yellow.setInput(String.valueOf(areaSetting.getRamp_edge_yellow_distance())); ramp_beyond_stick_dis.setInput(String.valueOf(areaSetting.getRamp_stoppoint_red_distance())); back_of_vehicle_red.setInput(String.valueOf(areaSetting.getRamp_slide_red_distance())); back_of_vehicle_yellow.setInput(String.valueOf(areaSetting.getRamp_slide_yellow_distance())); } } private void initView(View view) { btn_save = view.findViewById(R.id.btn_setting_save); btn_save.setOnClickListener(this); curve_pause_time = view.findViewById(R.id.area_curve_pause_time); release_start_key = view.findViewById(R.id.area_release_start_key); daoku_pause_time = view.findViewById(R.id.area_park_pause_time); daoku_finish_time = view.findViewById(R.id.area_park_finish_time); park_finish_time = view.findViewById(R.id.area_park2_finish_time); park_pasue_time = view.findViewById(R.id.area_park2_pause_time); angle_90_pause_time = view.findViewById(R.id.area_turn_a90_pause_time); ramp_finish_time = view.findViewById(R.id.area_ramp_finish_time); ramp_beyond_edge_dis_red = view.findViewById(R.id.area_ramp_edge_red_dist); ramp_beyond_edge_dis_yellow = view.findViewById(R.id.area_ramp_edge_yellow_dist); ramp_beyond_stick_dis = view.findViewById(R.id.area_ramp_flag_red_dist); back_of_vehicle_red = view.findViewById(R.id.area_ramp_slide_red_dist); back_of_vehicle_yellow = view.findViewById(R.id.area_ramp_slide_yellow_dist); } private boolean canWirteJsonToFile = true; @Override public void onClick(View v) { AreaSetting areaSetting = new AreaSetting(); String curve_pause_str = curve_pause_time.getInput(); String release_start_key_str = release_start_key.getInput(); String daoku_pause_time_str = daoku_pause_time.getInput(); String daoku_finish_time_str = daoku_pause_time.getInput(); String park_finish_time_str = park_finish_time.getInput(); String park_pasue_time_str = park_pasue_time.getInput(); String angle_90_pause_time_str = angle_90_pause_time.getInput(); String ramp_finish_time_str = ramp_finish_time.getInput(); String ramp_beyond_edge_dis_red_str = ramp_beyond_edge_dis_red.getInput(); String ramp_beyond_edge_dis_yellow_str = ramp_beyond_edge_dis_yellow.getInput(); String ramp_beyond_stick_dis_str = ramp_beyond_stick_dis.getInput(); String back_of_vehicle_red_str = back_of_vehicle_red.getInput(); String back_of_vehicle_yellow_str = back_of_vehicle_yellow.getInput(); if (Utils.isDigital(curve_pause_str)){ areaSetting.setCurve_pause_criteria(Integer.parseInt(curve_pause_str)); }else{ Toast.makeText(_mActivity, "曲线中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(release_start_key_str)){ areaSetting.setHold_start_key_limit_time(Integer.parseInt(release_start_key_str)); }else{ Toast.makeText(_mActivity, "松开点火开关判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(daoku_pause_time_str)){ areaSetting.setPark_bottom_pause_criteria(Integer.parseInt(daoku_pause_time_str)); }else{ Toast.makeText(_mActivity, "倒库中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(daoku_finish_time_str)){ areaSetting.setPark_bottom_limit_time(Integer.parseInt(daoku_finish_time_str)); }else{ Toast.makeText(_mActivity, "倒库完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(park_finish_time_str)){ areaSetting.setPark_edge_limit_time(Integer.parseInt(park_finish_time_str)); }else{ Toast.makeText(_mActivity, "侧方停车完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(park_pasue_time_str)){ areaSetting.setPark_edge_pause_criteria(Integer.parseInt(park_pasue_time_str)); }else{ Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(angle_90_pause_time_str)){ areaSetting.setTurn_a90_pause_criteria(Integer.parseInt(angle_90_pause_time_str)); }else{ Toast.makeText(_mActivity, "直角中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isDigital(ramp_finish_time_str)){ areaSetting.setRamp_start_car_limit_time(Integer.parseInt(ramp_finish_time_str)); }else{ Toast.makeText(_mActivity, "坡起完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isNumber(ramp_beyond_edge_dis_red_str)){ areaSetting.setRamp_edge_red_distance(Double.parseDouble(ramp_beyond_edge_dis_red_str)); }else{ Toast.makeText(_mActivity, "倒库中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isNumber(ramp_beyond_edge_dis_yellow_str)){ areaSetting.setRamp_edge_yellow_distance(Double.parseDouble(ramp_beyond_edge_dis_yellow_str)); }else{ Toast.makeText(_mActivity, "倒库完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isNumber(ramp_beyond_stick_dis_str)){ areaSetting.setRamp_stoppoint_red_distance(Double.parseDouble(ramp_beyond_stick_dis_str)); }else{ Toast.makeText(_mActivity, "侧方停车完成时间输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isNumber(back_of_vehicle_red_str)){ areaSetting.setRamp_slide_red_distance(Double.parseDouble(back_of_vehicle_red_str)); }else{ Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (Utils.isNumber(back_of_vehicle_yellow_str)){ areaSetting.setRamp_slide_yellow_distance(Double.parseDouble(back_of_vehicle_yellow_str)); }else{ Toast.makeText(_mActivity, "侧方停车中途停车判定输入不正确,请检查", Toast.LENGTH_SHORT).show(); } if (canWirteJsonToFile){ areaSettingViewModel.saveAreaSetting(areaSetting); AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(areaSetting)); } } }