JLChen
2021-11-15 501b06cda2eeda60456f317da3074b6c19cc9495
2021-11-15 1.更新
5个文件已修改
1 文件已重命名
48 ■■■■ 已修改文件
HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -16,7 +16,7 @@
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.hdl.sdk.common.config.AuthenticateConfig;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.connect.socket.HDLAuthSocket;
import com.hdl.sdk.connect.socket.HDLSocket;
import com.hdl.sdk.connect.bean.DeviceControlRequest;
@@ -46,8 +46,8 @@
        tv = findViewById(R.id.state_tv);
        rv = findViewById(R.id.rv);
        rv.setLayoutManager(new LinearLayoutManager(this));
        AuthenticateConfig.getInstance().setLocalEncrypt(true);
        AuthenticateConfig.getInstance().setLocalSecret("5648d9b9cafd30dd");
        HDLLinkConfig.getInstance().setLocalEncrypt(true);
        HDLLinkConfig.getInstance().setLocalSecret("5648d9b9cafd30dd");
        ActivityResultLauncher<String[]> launcher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
            @Override
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -1,6 +1,6 @@
package com.hdl.sdk.connect;
import com.hdl.sdk.common.config.AuthenticateConfig;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.common.event.EventDispatcher;
import com.hdl.sdk.common.event.EventListener;
import com.hdl.sdk.connect.bean.AuthenticateRequest;
@@ -53,7 +53,7 @@
     * @return
     */
    public boolean checkIfCertified(){
        return AuthenticateConfig.getInstance().checkIfCertified();
        return HDLLinkConfig.getInstance().checkIfCertified();
    }
    /**
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
@@ -4,13 +4,9 @@
import androidx.annotation.NonNull;
import com.hdl.sdk.common.config.AuthenticateConfig;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.common.utils.ByteUtils;
import com.hdl.sdk.connect.utils.AESUtils;
import com.hdl.sdk.connect.utils.AesUtil;
import java.io.UnsupportedEncodingException;
//import com.hdl.sdk.connect.utils.AesUtil;
/**
 * Created by Tong on 2021/9/29.
@@ -86,9 +82,9 @@
    public byte[] getSendBytes() {
        try {
            //判断是否需要加密
            if (AuthenticateConfig.getInstance().ifNeedEncrypt(topic)) {
            if (HDLLinkConfig.getInstance().ifNeedEncrypt(topic)) {
                //需要加密
                byte[] dataBytes = AesUtil.aesEncrypt(ByteUtils.stringToBytes(data), AuthenticateConfig.getInstance().getLocalSecret());
                byte[] dataBytes = AesUtil.aesEncrypt(ByteUtils.stringToBytes(data), HDLLinkConfig.getInstance().getLocalSecret());
//                byte[] dataBytes = AESUtils.encryptAES(stringToBytes(data), AuthenticateConfig.getInstance().getLocalSecret());
                String headString = "Topic:" + getTopic() + "\r\n" + "Length:" + dataBytes.length + "\r\n" + "\r\n";
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
File was renamed from HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/config/AuthenticateConfig.java
@@ -1,16 +1,17 @@
package com.hdl.sdk.common.config;
package com.hdl.sdk.connect.config;
import android.text.TextUtils;
import com.hdl.sdk.common.config.TopicConstant;
import com.hdl.sdk.common.utils.SPUtils;
/**
 * Created by jlchen on 11/11/21.
 *
 * @Description : AuthenticateConfig
 * @Description : HDLLinkConfig
 */
public class AuthenticateConfig {
public class HDLLinkConfig {
    private static final String Authenticate_LS_KEY = "auth_ls_key";
    private static final String AUTHENTICATE_GATEWAYID_KEY = "auth_gatewayid_key";
    private static final String AUTHENTICATE_IPADDRESS_KEY = "auth_ipaddress_key";
@@ -23,17 +24,17 @@
    /**
     * instance
     */
    private volatile static AuthenticateConfig instance;
    private volatile static HDLLinkConfig instance;
    /**
     * getInstance
     *
     * @return AuthenticateConfig
     */
    public static synchronized AuthenticateConfig getInstance() {
    public static synchronized HDLLinkConfig getInstance() {
        if (instance == null) {
            synchronized (AuthenticateConfig.class) {
            synchronized (HDLLinkConfig.class) {
                if (instance == null) {
                    instance = new AuthenticateConfig();
                    instance = new HDLLinkConfig();
                    instance.loadConfig();
                }
            }
@@ -58,6 +59,8 @@
     */
    void loadConfig(){
        localSecret = SPUtils.getString(Authenticate_LS_KEY, "");
        gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, "");
        ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, "");
    }
    /**
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
@@ -1,11 +1,10 @@
package com.hdl.sdk.connect.protocol;
import com.hdl.sdk.common.config.AuthenticateConfig;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.common.event.EventDispatcher;
import com.hdl.sdk.common.utils.ByteUtils;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.utils.AESUtils;
import com.hdl.sdk.connect.utils.AesUtil;
import com.hdl.sdk.connect.utils.ProtocolParse;
import com.hdl.sdk.socket.codec.ByteToMessageDecoder;
@@ -60,9 +59,9 @@
                if (byteArray.length >= bodyLength + bodyStartIndex) {
                    byte[] body = ByteUtils.getRangeBytes(bytes, bodyStartIndex, bodyStartIndex + bodyLength);
                    if(AuthenticateConfig.getInstance().ifNeedEncrypt(response.getTopic())){
                    if(HDLLinkConfig.getInstance().ifNeedEncrypt(response.getTopic())){
                        //需要解密
                        byte[] bodyBytes = AesUtil.aesDecrypt(body,AuthenticateConfig.getInstance().getLocalSecret());
                        byte[] bodyBytes = AesUtil.aesDecrypt(body, HDLLinkConfig.getInstance().getLocalSecret());
//                        byte[] bodyBytes = AESUtils.decryptAES(body,AuthenticateConfig.getInstance().getLocalSecret());
                        response.setData(new String(bodyBytes, "utf-8"));
//                        Log.i("TAG", "解密 主题:"+response.getTopic()+ " body: "+response.getData());
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -6,7 +6,7 @@
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.sdk.common.config.AuthenticateConfig;
import com.hdl.sdk.connect.config.HDLLinkConfig;
import com.hdl.sdk.common.config.TopicConstant;
import com.hdl.sdk.common.utils.IdUtils;
import com.hdl.sdk.common.utils.IpUtils;
@@ -63,7 +63,7 @@
     */
    public static synchronized HDLAuthSocket getInstance() {
        if (instance == null) {
            synchronized (AuthenticateConfig.class) {
            synchronized (HDLLinkConfig.class) {
                if (instance == null) {
                    instance = new HDLAuthSocket();
                }