| | |
| | | package com.hdl.sdk.connect.socket;
|
| | |
|
| | | import static com.hdl.sdk.connect.config.HDLLinkConfig.AUTHENTICATE_IS_DEVICEINFO_KEY;
|
| | |
|
| | | import android.os.Build;
|
| | | import android.text.TextUtils;
|
| | | import android.util.Log;
|
| | |
| | | import com.hdl.sdk.connect.bean.request.GatewayInfoRequest;
|
| | | import com.hdl.sdk.connect.bean.request.ListOidRequest;
|
| | | import com.hdl.sdk.connect.bean.request.ListOidRequest2;
|
| | | import com.hdl.sdk.connect.bean.request.ListSidRequest;
|
| | | import com.hdl.sdk.connect.bean.request.ListUploadRequest;
|
| | | import com.hdl.sdk.connect.bean.response.AuthenticateResponse;
|
| | | import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse;
|
| | |
| | | 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());
|
| | |
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 上报Sid列表
|
| | | *
|
| | | * @param requestList sid列表
|
| | | * @param callBack 回调
|
| | | */
|
| | | public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
|
| | | if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
|
| | | String time = String.valueOf(System.currentTimeMillis());
|
| | | final BaseLocalResponse<List<ListSidRequest>> data = new BaseLocalResponse<>();
|
| | | data.setId(IdUtils.getUUId());
|
| | | data.setTime_stamp(time);
|
| | |
|
| | | data.setObjects(requestList);
|
| | |
|
| | | String topic = String.format(TopicConstant.LIST_SID_UPLOAD, 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_SEND_ERROR));
|
| | | }
|
| | | }
|
| | | });
|
| | | } catch (Exception e) {
|
| | | if (callBack != null) {
|
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
|
| | | }
|
| | | }
|
| | | } else {
|
| | | if (callBack != null) {
|
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * 上报入网认证结果
|
| | | *
|
| | | * @param mac mac
|
| | |
| | | threadPool.scheduleWithFixedDelay(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | | if (sendCount.get() < 3) {
|
| | | if (sendCount.get() < 0) {
|
| | | sendCount.set(sendCount.get() + 1);
|
| | | getTcp().sendMsg(data);
|
| | | } else {
|
| | |
| | |
|
| | | }
|
| | |
|
| | | /**
|
| | | * 回复网关配置命令
|
| | | * @param mac_Oid_GatewayId
|
| | | * @param msgId 消息Id
|
| | | * @param callBack
|
| | | */
|
| | | public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) {
|
| | | if (TextUtils.isEmpty(mac_Oid_GatewayId)) {
|
| | | callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
|
| | | }
|
| | |
|
| | | String time = String.valueOf(System.currentTimeMillis());
|
| | | final BaseLocalCodeResponse<List<String>> data = new BaseLocalCodeResponse<>();
|
| | | data.setId(msgId);
|
| | | data.setTime_stamp(time);
|
| | | data.setCode("0");
|
| | |
|
| | |
|
| | | String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId);
|
| | | LinkRequest message = new LinkRequest(topic,
|
| | | GsonConvert.getGson().toJson(data));
|
| | |
|
| | |
|
| | |
|
| | | try {
|
| | | sendMsg(message.getSendBytes(), topic, 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));
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|