wxr
2022-11-18 15b3ee439476e88df66991afb4e0a4d7a8e73422
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
package com.lechange.demo.ui;
 
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
 
import com.common.openapi.ClassInstanceManager;
import com.common.openapi.DeviceDetailService;
import com.common.openapi.IGetDeviceInfoCallBack;
import com.common.openapi.MethodConst;
import com.common.openapi.entity.DeviceAlarmStatusData;
import com.common.openapi.entity.DeviceChannelInfoData;
import com.common.openapi.entity.DeviceDetailListData;
import com.lechange.demo.R;
import com.lechange.demo.tools.DialogUtils;
import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
 
public class DeviceDetailDeploymentFragment extends Fragment implements IGetDeviceInfoCallBack.IDeviceChannelInfoCallBack, View.OnClickListener, IGetDeviceInfoCallBack.IDeviceAlarmStatusCallBack {
    private static final String TAG = DeviceDetailDeploymentFragment.class.getSimpleName();
    private Bundle arguments;
    private DeviceDetailListData.ResponseData.DeviceListBean deviceListBean;
    private DeviceDetailActivity deviceDetailActivity;
    private ImageView ivMoveCheck;
    private int alarmStatus;
 
    public static DeviceDetailDeploymentFragment newInstance() {
        DeviceDetailDeploymentFragment fragment = new DeviceDetailDeploymentFragment();
        return fragment;
    }
 
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DeviceDetailActivity deviceDetailActivity = (DeviceDetailActivity) getActivity();
        deviceDetailActivity.llOperate.setVisibility(View.GONE);
        arguments = getArguments();
    }
 
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_device_detail_deployment, container, false);
    }
 
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initView(view);
        deviceDetailActivity = (DeviceDetailActivity) getActivity();
        deviceDetailActivity.tvTitle.setText(getResources().getString(R.string.lc_demo_device_deployment_title));
        if (arguments == null) {
            return;
        }
        deviceListBean = (DeviceDetailListData.ResponseData.DeviceListBean) arguments.getSerializable(MethodConst.ParamConst.deviceDetail);
        if (deviceListBean == null) {
            return;
        }
        initData();
    }
 
    private void initView(View view) {
        ivMoveCheck = view.findViewById(R.id.iv_move_check);
        ivMoveCheck.setOnClickListener(this);
    }
 
    private void initData() {
        //获取动检状态/设备详情
        DialogUtils.show(getActivity());
        DeviceDetailService deviceDetailService =  ClassInstanceManager.newInstance().getDeviceDetailService();
        DeviceChannelInfoData deviceChannelInfoData = new DeviceChannelInfoData();
        deviceChannelInfoData.data.deviceId = deviceListBean.deviceId;
        deviceChannelInfoData.data.channelId = deviceListBean.channels.get(deviceListBean.checkedChannel).channelId;
        deviceDetailService.bindDeviceChannelInfo(deviceChannelInfoData, this);
    }
 
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }
 
    @Override
    public void deviceChannelInfo(DeviceChannelInfoData.Response result) {
        if (!isAdded()){
            return;
        }
        DialogUtils.dismiss();
        this.alarmStatus = result.data.alarmStatus;
        if (result.data.alarmStatus == 1) {
            ivMoveCheck.setImageDrawable(getResources().getDrawable(R.mipmap.lc_demo_switch_on));
        } else {
            ivMoveCheck.setImageDrawable(getResources().getDrawable(R.mipmap.lc_demo_switch_off));
        }
    }
 
    @Override
    public void deviceAlarmStatus(boolean result) {
        if (!isAdded()){
            return;
        }
        DialogUtils.dismiss();
        this.alarmStatus = (this.alarmStatus == 1) ? 0 : 1;
        if (this.alarmStatus == 1) {
            ivMoveCheck.setImageDrawable(getResources().getDrawable(R.mipmap.lc_demo_switch_on));
        } else {
            ivMoveCheck.setImageDrawable(getResources().getDrawable(R.mipmap.lc_demo_switch_off));
        }
    }
 
    @Override
    public void onError(Throwable throwable) {
        if (!isAdded()){
            return;
        }
        DialogUtils.dismiss();
        LogUtil.errorLog(TAG, "error", throwable);
        Toast.makeText(getContext(), throwable.getMessage(), Toast.LENGTH_SHORT).show();
    }
 
    @Override
    public void onClick(View v) {
        //设置动检状态
        DialogUtils.show(getActivity());
        DeviceDetailService deviceDetailService =  ClassInstanceManager.newInstance().getDeviceDetailService();
        DeviceAlarmStatusData deviceAlarmStatusData = new DeviceAlarmStatusData();
        deviceAlarmStatusData.data.deviceId = deviceListBean.deviceId;
        deviceAlarmStatusData.data.channelId = deviceListBean.channels.get(deviceListBean.checkedChannel).channelId;
        //现在是开启状态,则关闭,反之
        deviceAlarmStatusData.data.enable = alarmStatus == 1 ? false : true;
        deviceDetailService.modifyDeviceAlarmStatus(deviceAlarmStatusData, this);
    }
}