From 739d5bad0d24c5f4913f8d8e09292b5b98991fac Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 10 十二月 2021 16:59:58 +0800
Subject: [PATCH] 2021-12-10 1.开启UDP心跳

---
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
index 33770ed..6e224da 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
@@ -4,6 +4,8 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.CompoundButton;
+import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
@@ -14,7 +16,18 @@
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.hdl.hdlsdk.DemoBean;
 import com.hdl.hdlsdk.R;
+import com.hdl.sdk.common.config.TopicConstant;
+import com.hdl.sdk.common.exception.HDLLinkException;
+import com.hdl.sdk.common.utils.IdUtils;
+import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.common.utils.gson.GsonConvert;
+import com.hdl.sdk.connect.HDLLink;
+import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
+import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
+import com.hdl.sdk.connect.callback.HDLLinkCallBack;
+import com.hdl.sdk.connect.config.HDLLinkConfig;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class DevicesListAdapter extends RecyclerView.Adapter<DevicesListAdapter.ViewHolder> {
@@ -50,6 +63,12 @@
     @Override
     public void onBindViewHolder(ViewHolder holder, int position) {
         holder.item_tv.setText(mList.get(position).getName());
+        holder.device_on_off_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
+                propertyDown(mList.get(position), isChecked);
+            }
+        });
     }
 
     @Override
@@ -60,10 +79,36 @@
     //鑷畾涔夌殑ViewHolder锛屾寔鏈夋瘡涓狪tem鐨勭殑鎵�鏈夌晫闈㈠厓绱�
     public static class ViewHolder extends RecyclerView.ViewHolder {
         public TextView item_tv;
+        public Switch device_on_off_switch;
 
         public ViewHolder(View view) {
             super(view);
             item_tv = (TextView) view.findViewById(R.id.device_title_tv);
+            device_on_off_switch = view.findViewById(R.id.device_on_off_switch);
         }
     }
+
+    private void propertyDown(FunctionBean functionBean, Boolean isOn){
+        List<DeviceControlRequest> requestList = new ArrayList<>();
+        DeviceControlRequest request = new DeviceControlRequest();
+        request.setSid(functionBean.getSid());
+        List<DeviceControlRequest.StatusBean>  statusBeanList= new ArrayList<>();
+        DeviceControlRequest.StatusBean bean =  new DeviceControlRequest.StatusBean();
+        bean.setKey("on_off");
+        bean.setValue(isOn ? "on" : "off");
+        statusBeanList.add(bean);
+        request.setStatus(statusBeanList);
+        requestList.add(request);
+        String time = String.valueOf(System.currentTimeMillis());
+
+        final BaseLocalResponse<List<DeviceControlRequest>> data = new BaseLocalResponse<>();
+        data.setId(IdUtils.getUUId());
+        data.setTime_stamp(time);
+        data.setObjects(requestList);
+
+        String topic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId());
+
+        HDLLink.getInstance().tcpSendMsg(topic, GsonConvert.getGson().toJson(data));
+//        HDLLink.getInstance().udpSendMsg(topic, GsonConvert.getGson().toJson(data));
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0