| | |
| | | String bodyString = new String(body, "utf-8");
|
| | | response.setData(bodyString);
|
| | | LogUtils.i("接收到数据:" + response.getTopic() + "\r\n" + response.getData());
|
| | |
|
| | | String updateLocalSecret = String.format(TopicConstant.LINK_BROADCAST, HDLLinkConfig.getInstance().getGatewayId());
|
| | | String deleteNetwork = "";
|
| | | if (HDLLinkConfig.getInstance().getDeviceInfoBean() != null) {
|
| | | deleteNetwork = String.format(TopicConstant.DELETE_NOTIFY, HDLLinkConfig.getInstance().getDeviceInfoBean().getOID());
|
| | | }
|
| | |
|
| | | if (response.getTopic().equals("/user/all/custom/gateway/search")) {
|
| | | HDLAuthSocket.getInstance().UploadGatewayInfo(new HDLLinkCallBack() {
|
| | | @Override
|
| | | public void onSuccess(String msg) {
|
| | | LogUtils.i("UploadGatewayInfo onSucceed");
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void onError(HDLLinkException e) {
|
| | | LogUtils.i("UploadGatewayInfo onError");
|
| | | }
|
| | | });
|
| | | }
|
| | | else if (response.getTopic().equals(updateLocalSecret) || response.getTopic().equals(TopicConstant.LINK_BROADCAST)) {
|
| | | try {
|
| | | DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceInfoResponse>() {
|
| | | }.getType());
|
| | |
|
| | | if (!TextUtils.isEmpty(deviceInfoResponse.getObjects().getLocalSecret())) {
|
| | | byte[] baseBytes = Base64.decode(deviceInfoResponse.getObjects().getLocalSecret(), Base64.NO_WRAP);
|
| | | String mackey = "";
|
| | | if (!TextUtils.isEmpty(SPUtils.getString("auth_mackey_key", ""))) {
|
| | | mackey = SPUtils.getString("auth_mackey_key", "");
|
| | | byte[] bodyBytes = AesUtil.aesDecrypt(baseBytes, mackey.substring(mackey.length() - 16));
|
| | | String localSecret = new String(bodyBytes, "utf-8");
|
| | | Log.d("panlili", "更新密钥----->localSecret= " + localSecret);
|
| | | HDLLinkConfig.getInstance().setLocalSecret(localSecret);
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | LogUtils.i("LinkMessageDecoder.java:getLocalSecret----->e= " + e.getMessage());
|
| | | }
|
| | | } else if (response.getTopic().equals(deleteNetwork)) {
|
| | | try {
|
| | | DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceDeleteResponse>() {
|
| | | }.getType());
|
| | | HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() {
|
| | | @Override
|
| | | public void onSuccess(String msg) {
|
| | | LogUtils.i("deleteNetwork onSucceed");
|
| | | if (HDLLink.getInstance().listener != null) {
|
| | | HDLLink.getInstance().listener.onSuccess(msg);
|
| | | }
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void onError(HDLLinkException e) {
|
| | | LogUtils.i("deleteNetwork onError");
|
| | | if (HDLLink.getInstance().listener != null) {
|
| | | HDLLink.getInstance().listener.onFailure();
|
| | | }
|
| | | }
|
| | | });
|
| | | } catch (Exception e) {
|
| | | LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | | |
| | | //非正常数据,返回
|
| | | if (!((bodyString.startsWith("{") && bodyString.endsWith("}"))
|
| | | || (bodyString.startsWith("[") && bodyString.endsWith("]")))) {
|