endian11
2020-10-26 9119ae3e2d99b5afbc8611a99fc134f35260955b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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.Toast;
 
import androidx.annotation.Nullable;
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.CommonSetting;
import safeluck.drive.evaluation.bean.SideStopSetting;
import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText;
import safeluck.drive.evaluation.util.Utils;
import safeluck.drive.evaluation.viewmodels.CommonSettingViewModel;
import safeluck.drive.evaluation.viewmodels.SideStopSettingViewModel;
 
/**
 * DriveJudge
 * Created by lzw on 2020/9/14. 10:16:39
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class FragmentSetting9 extends SupportFragment {
    private Gson gson = new Gson();
    private static final String ARG_NUMBER = "arg_number";
    private static final String TAG = FragmentSetting9.class.getSimpleName();
 
    private SideStopSetting mSideStopSetting;
    private SideStopSettingViewModel mSideStopSettingViewModel;
    private int mNumber;
 
    private TextEditText te_road_total_distance;
    private TextEditText te_road_max_speed;
    private TextEditText te_stop_car_open_door_allow_time;
    private TextEditText te_stop_car_limit_distance;
    private TextEditText te_stop_car_edge_red_distance;
    private TextEditText te_stop_car_edge_yellow_distance;
 
    public static FragmentSetting9 newInstance(String number) {
        FragmentSetting9 fragment = new FragmentSetting9();
        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_parkover_1, container, false);
        initView(view);
        mSideStopSettingViewModel = ViewModelProviders.of(this).get(SideStopSettingViewModel.class);
        mSideStopSettingViewModel.getSideStopSetting().observe(this, new Observer<SideStopSetting>() {
            @Override
            public void onChanged(SideStopSetting commonSetting) {
                if (commonSetting != null){
                    mSideStopSetting = commonSetting;
                    setDatas();
                }
            }
        });
        return view;
    }
 
    private void initView(View view) {
         te_road_total_distance = view.findViewById(R.id.road_total_distance);
        te_road_max_speed = view.findViewById(R.id.road_max_speed);
        te_stop_car_open_door_allow_time = view.findViewById(R.id.stop_car_open_door_allow_time);
        te_stop_car_limit_distance = view.findViewById(R.id.stop_car_limit_distance);
        te_stop_car_edge_red_distance = view.findViewById(R.id.stop_car_edge_red_distance);
        te_stop_car_edge_yellow_distance = view.findViewById(R.id.stop_car_edge_yellow_distance);
        view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String teRoadMaxSpeedInput = te_road_max_speed.getInput();
                String teRoadTotalDistanceInput = te_road_total_distance.getInput();
                String teStopCarOpenDoorAllowTimeInput = te_stop_car_open_door_allow_time.getInput();
                String teStopCarLimitDistanceInput = te_stop_car_limit_distance.getInput();
                String teStopCarEdgeRedDistanceInput = te_stop_car_edge_red_distance.getInput();
                String teStopCarEdgeYellowDistanceInput = te_stop_car_edge_yellow_distance.getInput();
 
                if (mSideStopSetting!=null){
                    if (Utils.isDigital(teRoadTotalDistanceInput)){
                        mSideStopSetting.setRoad_total_distance(Integer.parseInt(teRoadTotalDistanceInput));
                    }
                              if (Utils.isDigital(teRoadMaxSpeedInput)){
                        mSideStopSetting.setRoad_max_speed(Integer.parseInt(teRoadMaxSpeedInput));
                    }
                              if (Utils.isDigital(teStopCarOpenDoorAllowTimeInput)){
                        mSideStopSetting.setStop_car_open_door_allow_time(Integer.parseInt(teStopCarOpenDoorAllowTimeInput));
                    }
                              if (Utils.isDigital(teStopCarLimitDistanceInput)){
                        mSideStopSetting.setStop_car_limit_distance(Integer.parseInt(teStopCarLimitDistanceInput));
                    }
                              if (Utils.isNumber(teStopCarEdgeRedDistanceInput)){
                        mSideStopSetting.setStop_car_edge_red_distance(Double.parseDouble(teStopCarEdgeRedDistanceInput));
                    }
                              if (Utils.isNumber(teStopCarEdgeYellowDistanceInput)){
                        mSideStopSetting.setStop_car_edge_yellow_distance(Double.parseDouble(teStopCarEdgeYellowDistanceInput));
                    }
 
 
                    mSideStopSettingViewModel.saveSideStopSetting(mSideStopSetting);
                    Toast.makeText(_mActivity, "靠边停车设置", Toast.LENGTH_SHORT).show();
                    AYSdk.getInstance().sendCmd(Constant.ID_judge_args,gson.toJson(mSideStopSetting));
                }
            }
        });
    }
 
    private void setDatas() {
        if (mSideStopSetting != null){
            te_road_total_distance.setInput(String.valueOf(mSideStopSetting.getRoad_total_distance()));
            te_stop_car_open_door_allow_time.setInput(String.valueOf(mSideStopSetting.getStop_car_open_door_allow_time()));
            te_stop_car_limit_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_limit_distance()));
            te_stop_car_edge_red_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_edge_red_distance()));
            te_stop_car_edge_yellow_distance.setInput(String.valueOf(mSideStopSetting.getStop_car_edge_yellow_distance()));
            te_road_max_speed.setInput(String.valueOf(mSideStopSetting.getRoad_max_speed()));
        }
    }
}