From adba037d593cae303557bb686025b8ccc3bdf418 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期二, 12 九月 2023 13:58:19 +0800 Subject: [PATCH] 澳斯迪去除申请密钥等功能 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 149 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 126 insertions(+), 23 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java index 47d5f92..d5ab577 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java @@ -2,13 +2,9 @@ import android.os.Build; import android.text.TextUtils; -import android.util.Log; - -import androidx.annotation.RequiresApi; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; -import com.hdl.sdk.common.HDLSdk; import com.hdl.sdk.common.config.TopicConstant; import com.hdl.sdk.common.event.EventDispatcher; import com.hdl.sdk.common.event.EventListener; @@ -16,31 +12,28 @@ 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.SPUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.HDLLink; -import com.hdl.sdk.connect.bean.LoginRequest; -import com.hdl.sdk.connect.bean.request.AuthenticateRequest; -import com.hdl.sdk.connect.bean.request.BroadcastRequest; -import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; -import com.hdl.sdk.connect.bean.request.GatewayInfoRequest; -import com.hdl.sdk.connect.bean.request.ListOidRequest; -import com.hdl.sdk.connect.bean.request.ListUploadRequest; -import com.hdl.sdk.connect.bean.response.AuthenticateResponse; -import com.hdl.sdk.connect.bean.response.BaseLocalResponse; -import com.hdl.sdk.connect.bean.request.DeviceControlRequest; -import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest; import com.hdl.sdk.connect.bean.LinkRequest; import com.hdl.sdk.connect.bean.LinkResponse; +import com.hdl.sdk.connect.bean.LoginRequest; +import com.hdl.sdk.connect.bean.request.BroadcastRequest; +import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; +import com.hdl.sdk.connect.bean.request.DeviceControlRequest; +import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest; +import com.hdl.sdk.connect.bean.request.ListOidRequest; +import com.hdl.sdk.connect.bean.request.ListOidRequest2; +import com.hdl.sdk.connect.bean.request.ListUploadRequest; import com.hdl.sdk.connect.bean.request.PropertyReadRequest; +import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse; +import com.hdl.sdk.connect.bean.response.BaseLocalResponse; import com.hdl.sdk.connect.bean.response.DeviceInfoResponse; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.connect.protocol.LinkMessageDecoder; import com.hdl.sdk.connect.protocol.LinkMessageEncoder; -import com.hdl.sdk.connect.utils.AesUtil; import com.hdl.sdk.socket.SocketBoot; import com.hdl.sdk.socket.SocketOptions; import com.hdl.sdk.socket.client.IHeartbeat; @@ -50,7 +43,6 @@ import com.hdl.sdk.socket.listener.SendListener; import java.util.ArrayList; -import java.util.Base64; import java.util.List; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -93,6 +85,7 @@ public boolean isBroadcast = false; + /** * 骞挎挱鑷韩淇℃伅缁欎富缃戝叧 */ @@ -120,13 +113,17 @@ } BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200"); HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() { - @RequiresApi(api = Build.VERSION_CODES.O) +// @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onSuccess(LinkResponse msg) { String data = msg.getData(); if (!TextUtils.isEmpty(data)) { DeviceInfoResponse response = GsonConvert.getGson().fromJson(data, new TypeToken<DeviceInfoResponse>() { }.getType()); + + if ((response == null) || (response.getObjects() == null) || (response.getObjects().getIPAddress() == null)) + return; + HDLLinkConfig.getInstance().setIpAddress(response.getObjects().getIPAddress()); LogUtils.i("---getIpAddress=" + HDLLinkConfig.getInstance().getIpAddress()); @@ -543,6 +540,53 @@ } /** + * 鑾峰彇鍦烘櫙鍒楄〃 + */ + public void getScene(List<String> sids, HDLLinkCallBack callBack) { + if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) { + String time = String.valueOf(System.currentTimeMillis()); + final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>(); + data.setId(IdUtils.getUUId()); + data.setTime_stamp(time); + + List<PropertyReadRequest> list = new ArrayList<>(); + for (String s : sids) { + list.add(new PropertyReadRequest(s)); + } + data.setObjects(list); + + String topic = String.format(TopicConstant.SCENE_GET, getGatewayId()); + LinkRequest message = new LinkRequest(topic, + GsonConvert.getGson().toJson(data)); + + String replyTopic = topic + "_reply"; + try { + sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() { + @Override + public void onSucceed() { + + } + + @Override + public void onError() { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR)); + } + } + }); + } catch (Exception e) { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR)); + } + } + } else { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR)); + } + } + } + + /** * 鍦烘櫙鎺у埗 * * @param sids 鍦烘櫙sid鍒楄〃 @@ -765,13 +809,13 @@ final String msgId = IdUtils.getUUId(); String time = String.valueOf(System.currentTimeMillis()); - final BaseLocalResponse<List<ListOidRequest>> data = new BaseLocalResponse<>(); + final BaseLocalResponse<List<ListOidRequest2>> data = new BaseLocalResponse<>(); data.setId(msgId); data.setTime_stamp(time); - final ListOidRequest request = new ListOidRequest(); + final ListOidRequest2 request = new ListOidRequest2(); request.setOid(oid); - List<ListOidRequest> list = new ArrayList<>(); + List<ListOidRequest2> list = new ArrayList<>(); list.add(request); data.setObjects(list); @@ -788,6 +832,65 @@ try { sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() { + @Override + public void onSucceed() { + if (callBack == null) return; + try { + callBack.onSuccess("閫�缃戞垚鍔�"); + HDLLinkConfig.getInstance().clearConfig(); + + } catch (Exception e) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR)); + } + } + + @Override + public void onError() { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR)); + } + } + }); + } catch (Exception e) { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR)); + } + } + } + + /** + * 閫氱煡鍒犻櫎骞堕��缃戝瓙璁惧鎷撴墤鍏崇郴 + * + * @param oid 浠庣綉鍏筹紙璁惧锛塷id + * @param callBack 缁撴灉鍥炶皟 + */ + public void deleteNetwork(String oid, HDLLinkCallBack callBack) { + if (TextUtils.isEmpty(oid)) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR)); + } + + final String msgId = IdUtils.getUUId(); + String time = String.valueOf(System.currentTimeMillis()); + final BaseLocalCodeResponse<List<ListOidRequest>> data = new BaseLocalCodeResponse<>(); + data.setId(msgId); + data.setTime_stamp(time); + data.setCode("0"); + + final ListOidRequest request = new ListOidRequest(); + request.setOid(oid); + List<ListOidRequest> list = new ArrayList<>(); + list.add(request); + + data.setObjects(list); + + String topic = String.format(TopicConstant.DELETE_NOTIFY_REPLY, HDLLinkConfig.getInstance().getGatewayId()); + LinkRequest message = new LinkRequest(topic, + GsonConvert.getGson().toJson(data)); + +// String replyTopic = topic + "_reply"; + + try { + sendMsg(message.getSendBytes(), topic, callBack, new SendListener() { @Override public void onSucceed() { if (callBack == null) return; @@ -902,7 +1005,7 @@ threadPool.scheduleWithFixedDelay(new Runnable() { @Override public void run() { - if (sendCount.get() < 0) { + if (sendCount.get() < 3) { sendCount.set(sendCount.get() + 1); getTcp().sendMsg(data); } else { -- Gitblit v1.8.0