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