From 4a4ed8210c58dba28deea1a6e69c3671ae1a7dd0 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 10 十二月 2021 17:28:50 +0800
Subject: [PATCH] 2021-12-10 1.更新

---
 HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java |   55 ++++++++++++++++++
 HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar                                 |    0 
 HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar                                  |    0 
 HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar                                  |    0 
 HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java              |  111 ++++++++++++++++++++++++++++++++----
 5 files changed, 152 insertions(+), 14 deletions(-)

diff --git a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
index 5fecde9..3e7e0f8 100644
--- a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
index 9759821..e2b97c4 100644
--- a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
index 20823ed..1ff8177 100644
--- a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index 44815ae..d6c6e37 100644
--- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -19,14 +19,17 @@
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
+import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 import com.hdl.hdlsdk.device.DevicesListActivity;
+import com.hdl.sdk.common.config.TopicConstant;
 import com.hdl.sdk.common.event.EventListener;
 import com.hdl.sdk.common.exception.HDLLinkException;
 import com.hdl.sdk.common.utils.IdUtils;
 import com.hdl.sdk.common.utils.IpUtils;
 import com.hdl.sdk.common.utils.gson.GsonConvert;
 import com.hdl.sdk.connect.HDLLink;
+import com.hdl.sdk.connect.bean.LinkRequest;
 import com.hdl.sdk.connect.bean.LinkResponse;
 import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
 import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
@@ -100,13 +103,17 @@
         beans.add(new DemoBean("鑾峰彇鍦烘櫙鍒楄〃"));
         beans.add(new DemoBean("鍦烘櫙鎺у埗"));
         beans.add(new DemoBean("璁惧鍔熻兘鍒楄〃"));
+        beans.add(new DemoBean("UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�"));
+        beans.add(new DemoBean("TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�"));
+        beans.add(new DemoBean("UDP鍙戦�侊紝涓嶅洖璋冧笉閲嶅彂"));
+        beans.add(new DemoBean("TCP鍙戦�侊紝涓嶅洖璋冧笉閲嶅彂"));
         demoAdapter = new DemoAdapter(beans);
         rv.setAdapter(demoAdapter);
 
 
 //        final SocketOptions options = new SocketOptions();
 //
-        MessagePipeLine pipeLine = new MessagePipeLine();
+//        MessagePipeLine pipeLine = new MessagePipeLine();
 //        options.setHandleMessage(pipeLine);
 //        options.setEnabledHeartbeat(false);
 
@@ -150,10 +157,29 @@
                         //鍔熻兘鍒楄〃
                         startDevicesListActivity();
                         break;
+                    case 9:
+                        //UDP鍙戦��
+                        udpSendWithCallback();
+                        break;
+                    case 10:
+                        //TCP鍙戦��
+                        tcpSendWithCallback();
+                    case 11:
+                        //UDP鍙戦��
+                        udpSend();
+                        break;
+                    case 12:
+                        //TCP鍙戦��
+                        tcpSend();
+                        break;
                 }
             }
         });
     }
+
+
+
+
     public void showToast(String text) {
         Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
     }
@@ -176,13 +202,6 @@
             @Override
             public void onMessage(Object msg) {
                 LinkResponse response = (LinkResponse)msg;
-                if(response != null){
-                    Log.i(TAG, "AllTopicsListener"
-                            + "\nTopic: " + response.getTopic()
-                            +"\n Data: " + response.getData());
-                    handleLinkResponse(response);
-                }
-
             }
         };
         HDLLink.getInstance().registerAllTopicsListener(allTopicsListener);
@@ -238,9 +257,9 @@
         tv.setText("寮�濮嬪叆缃戣璇�...");
         //璁よ瘉鎻愪氦鍙傛暟鍑嗗
 
-        String spkStr = "ir.module";//浜у搧spk
-        String macStr = "AA000000000000BB";//璁惧鍞竴MAC鍦板潃
-        String secret = "87ae414b7a853f65";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
+        String spkStr = "screen.mirror";//浜у搧spk
+        String macStr = "AA000000000000AC";//璁惧鍞竴MAC鍦板潃
+        String secret = "ee62124c151b737c";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
         String mac_key = stringToMD5(stringToMD5(macStr + secret));
         String versionString = "HDL_V1.0.1";//
         String time = String.valueOf(System.currentTimeMillis());
@@ -248,7 +267,7 @@
         //1.璁剧疆璁よ瘉淇℃伅
         AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean();
         requestBean.setMAC(macStr);
-        requestBean.setSupplier("HDL");
+        requestBean.setSupplier("raysgem");
         requestBean.setFirmwareVersion(versionString);
         requestBean.setHardwareModel("1956F");
         AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean();
@@ -263,7 +282,7 @@
         infoBean.setDeviceName("绾㈠瀹�");//璁惧鍚嶅瓧
         infoBean.setDeviceModel("HDL");//
         infoBean.setAccessMode("WIFI");
-        infoBean.setIPGateway("192.168.12.1");
+        infoBean.setIPGateway("192.168.88.1");
         infoBean.setIPAddress(IpUtils.getIP(this));
 
         infoBean.setOID("010105000000FE08");
@@ -476,4 +495,70 @@
         Intent intent = new Intent(this, DevicesListActivity.class);
         startActivity(intent);
     }
+
+    /**
+     * TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
+     */
+    private void tcpSendWithCallback() {
+        String time = String.valueOf(System.currentTimeMillis());
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("id", IdUtils.getUUId());
+        jsonObject.addProperty("time_stamp", time);
+        HDLLink.getInstance().tcpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString(), new HDLLinkCallBack() {
+            @Override
+            public void onSuccess(String data) {
+                responseTv.setText(data);
+            }
+
+            @Override
+            public void onError(HDLLinkException e) {
+                responseTv.setText(e.getMsg());
+            }
+        });
+    }
+
+    /**
+     * UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
+     */
+    private void udpSendWithCallback() {
+        String time = String.valueOf(System.currentTimeMillis());
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("id", IdUtils.getUUId());
+        jsonObject.addProperty("time_stamp", time);
+        HDLLink.getInstance().udpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString(), new HDLLinkResponseCallBack() {
+            @Override
+            public void onSuccess(LinkResponse linkResponse) {
+                if(linkResponse != null){
+                    responseTv.setText(linkResponse.getData());
+                }
+            }
+
+            @Override
+            public void onError(HDLLinkException e) {
+                responseTv.setText(e.getMsg());
+            }
+        });
+    }
+
+    /**
+     * TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+     */
+    private void tcpSend() {
+        String time = String.valueOf(System.currentTimeMillis());
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("id", IdUtils.getUUId());
+        jsonObject.addProperty("time_stamp", time);
+        HDLLink.getInstance().tcpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString());
+    }
+
+    /**
+     * 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+     */
+    private void udpSend() {
+        String time = String.valueOf(System.currentTimeMillis());
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("id", IdUtils.getUUId());
+        jsonObject.addProperty("time_stamp", time);
+        HDLLink.getInstance().udpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString());
+    }
 }
\ No newline at end of file
diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
index 1816d97..d352b7c 100644
--- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
+++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
@@ -1,16 +1,34 @@
 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> {
@@ -46,6 +64,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
@@ -56,10 +80,39 @@
     //鑷畾涔夌殑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