From 830e47a67026205b75f69e061d81783aa606a237 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期五, 23 九月 2022 16:23:26 +0800
Subject: [PATCH] tcp发送之前判断是否连接

---
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 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
new file mode 100644
index 0000000..6128305
--- /dev/null
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
@@ -0,0 +1,118 @@
+package com.hdl.hdlsdk.device;
+
+import android.content.Context;
+import android.util.Log;
+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;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
+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> {
+
+    private LayoutInflater mInflater;
+    private List<FunctionBean> mList = null;
+
+    public DevicesListAdapter(Context context, List<FunctionBean> devicesList) {
+        this.mInflater = LayoutInflater.from(context);
+        this.mList = devicesList;
+    }
+
+    /**
+     * item鏄剧ず绫诲瀷
+     *
+     * @param parent
+     * @param viewType
+     * @return
+     */
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View view = mInflater.inflate(R.layout.item_devices_list, parent, false);
+        ViewHolder viewHolder = new ViewHolder(view);
+        return viewHolder;
+    }
+
+    /**
+     * 鏁版嵁鐨勭粦瀹氭樉绀�
+     *
+     * @param holder
+     * @param position
+     */
+    @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
+    public int getItemCount() {
+        return mList.size();
+    }
+
+    //鑷畾涔夌殑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());
+
+        HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() {
+            @Override
+            public void onSuccess(String data) {
+                Log.i("propertyDown",data);
+            }
+
+            @Override
+            public void onError(HDLLinkException e) {
+                Log.e("propertyDown", "ERROR :"+ e.getMsg());
+            }
+        });
+
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0