From a61093fc99633b2e5d6a7a14ddd91f26ce2e24ab Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期三, 13 四月 2022 17:04:08 +0800
Subject: [PATCH] 非安卓x1.0

---
 HDLSDK/hdl-common/build.gradle                                                           |    5 ++---
 HDLSDK_DEMO/app/libs/com.hdl.sdk-release.aar                                             |    0 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java              |    2 +-
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java         |    3 ++-
 HDLSDK/hdl-socket/build.gradle                                                           |    1 -
 HDLSDK/.idea/gradle.xml                                                                  |    1 -
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java       |    3 ++-
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java            |    5 +++--
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java    |    1 -
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java                       |    2 +-
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java               |    2 +-
 HDLSDK/settings.gradle                                                                   |    2 +-
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java                |    2 +-
 /dev/null                                                                                |    0 
 HDLSDK/hdl-connect/build.gradle                                                          |    3 ---
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java |    2 +-
 HDLSDK/gradle.properties                                                                 |    6 +++---
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java                    |    2 +-
 18 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/HDLSDK/.idea/gradle.xml b/HDLSDK/.idea/gradle.xml
index 4c7b1e5..db77076 100644
--- a/HDLSDK/.idea/gradle.xml
+++ b/HDLSDK/.idea/gradle.xml
@@ -10,7 +10,6 @@
         <option name="modules">
           <set>
             <option value="$PROJECT_DIR$" />
-            <option value="$PROJECT_DIR$/app" />
             <option value="$PROJECT_DIR$/com.hdl.sdk" />
             <option value="$PROJECT_DIR$/hdl-common" />
             <option value="$PROJECT_DIR$/hdl-connect" />
diff --git a/HDLSDK/app/.gitignore b/HDLSDK/app/.gitignore
deleted file mode 100644
index 42afabf..0000000
--- a/HDLSDK/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/HDLSDK/app/build.gradle b/HDLSDK/app/build.gradle
deleted file mode 100644
index 1960e0a..0000000
--- a/HDLSDK/app/build.gradle
+++ /dev/null
@@ -1,43 +0,0 @@
-plugins {
-    id 'com.android.application'
-}
-
-android {
-    compileSdk 28
-
-    defaultConfig {
-        applicationId "com.hdl.hdlsdk"
-        minSdk 21
-        targetSdk 28
-        versionCode 1
-        versionName "1.0"
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-    }
-
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-        }
-    }
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
-    }
-}
-
-dependencies {
-
-    implementation 'androidx.appcompat:appcompat:1.3.1'
-    implementation 'com.google.android.material:material:1.4.0'
-    implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
-
-    testImplementation 'junit:junit:4.+'
-    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
-    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
-
-    implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6'
-
-    implementation project(path: ':hdl-connect')
-}
\ No newline at end of file
diff --git a/HDLSDK/app/proguard-rules.pro b/HDLSDK/app/proguard-rules.pro
deleted file mode 100644
index 481bb43..0000000
--- a/HDLSDK/app/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-#   http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-#   public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/AndroidManifest.xml b/HDLSDK/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 964acd6..0000000
--- a/HDLSDK/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    package="com.hdl.hdlsdk">
-
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
-    <uses-permission
-        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
-        tools:ignore="ScopedStorage" />
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
-
-    <application
-        android:name=".App"
-        android:allowBackup="true"
-        android:icon="@mipmap/ic_launcher"
-        android:label="@string/app_name"
-        android:roundIcon="@mipmap/ic_launcher_round"
-        android:supportsRtl="true"
-        android:theme="@style/Theme.HDLSDK">
-        <activity android:name=".device.DevicesListActivity"></activity>
-        <activity
-            android:name=".MainActivity"
-            android:exported="true">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-</manifest>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/java/com/hdl/.DS_Store b/HDLSDK/app/src/main/java/com/hdl/.DS_Store
deleted file mode 100644
index ae5aaee..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java
deleted file mode 100644
index 2935d87..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hdl.hdlsdk;
-
-import android.app.Application;
-import android.util.Log;
-
-import com.hdl.sdk.common.HDLSdk;
-import com.hdl.sdk.common.event.EventListener;
-import com.hdl.sdk.common.utils.LogUtils;
-import com.hdl.sdk.connect.HDLLink;
-import com.hdl.sdk.connect.bean.LinkResponse;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class App extends Application {
-
-    private String deviceStatusUpdateTopic;
-    @Override
-    public void onCreate() {
-        super.onCreate();
-        //鍒濆鍖朣DK
-        HDLSdk.getInstance().init(this);
-        //鎺у埗SDK鏃ュ織鎵撳嵃
-        HDLSdk.getInstance().setLogEnabled(true);
-
-    }
-
-    @Override
-    public void onTerminate() {
-        super.onTerminate();
-
-    }
-}
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java
deleted file mode 100644
index 18f6d76..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.hdlsdk;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.viewholder.BaseViewHolder;
-
-import java.util.List;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class DemoAdapter extends BaseMultiItemQuickAdapter<DemoBean, BaseViewHolder> {
-
-    public DemoAdapter(@Nullable List<DemoBean> data) {
-        super(data);
-        addItemType(0,R.layout.demo_item);
-    }
-
-    @Override
-    protected void convert(@NonNull BaseViewHolder baseViewHolder, DemoBean demoBean) {
-        baseViewHolder.setText(R.id.tv_title,demoBean.getName());
-    }
-}
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoBean.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoBean.java
deleted file mode 100644
index ad185fa..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/DemoBean.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.hdl.hdlsdk;
-
-import com.chad.library.adapter.base.entity.MultiItemEntity;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class DemoBean implements MultiItemEntity {
-
-    private String name;
-
-    public DemoBean(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public int getItemType() {
-        return 0;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-}
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
deleted file mode 100644
index ac61a13..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ /dev/null
@@ -1,611 +0,0 @@
-package com.hdl.hdlsdk;
-
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultLauncher;
-import androidx.activity.result.contract.ActivityResultContracts;
-import androidx.annotation.NonNull;
-import androidx.annotation.RequiresApi;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.Manifest;
-import android.content.Intent;
-import android.os.Build;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-import android.widget.Toast;
-
-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.LogUtils;
-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.BroadcastRequest;
-import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
-import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
-import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
-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.socket.HDLAuthSocket;
-import com.hdl.sdk.connect.socket.HDLSocket;
-import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
-import com.hdl.sdk.connect.protocol.LinkMessageDecoder;
-import com.hdl.sdk.connect.protocol.LinkMessageEncoder;
-import com.hdl.sdk.socket.SocketOptions;
-import com.hdl.sdk.socket.codec.MessagePipeLine;
-import java.util.Base64;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.List;
-import java.util.Map;
-
-import static com.hdl.sdk.common.config.TopicConstant.GATEWAY_SEARCH_REPLY;
-import static java.util.Base64.*;
-
-public class MainActivity extends AppCompatActivity {
-
-    private static final String TAG = "MainActivity";
-    private DemoAdapter demoAdapter;
-    private RecyclerView rv;
-    private TextView tv;
-    private TextView responseTv;
-    boolean isOn;
-    private EventListener allTopicsListener;
-    private String testLightSid = "0001010D48C71B02020100010101";
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        removeAllTopicsListener();
-    }
-void init() {
-//    HDLLinkConfig.getInstance().setLocalSecret("7d04c4e3c2b7d600");
-//    HDLLinkConfig.getInstance().setGatewayId("1473119283609321473");
-//    HDLLinkConfig.getInstance().setLocalEncrypt(true);
-}
-    @RequiresApi(api = Build.VERSION_CODES.O)
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        setContentView(R.layout.activity_main);
-        responseTv = findViewById(R.id.response_tv);
-        tv = findViewById(R.id.state_tv);
-        rv = findViewById(R.id.rv);
-        rv.setLayoutManager(new LinearLayoutManager(this));
-
-         init();
-        checkIfCertified();
-        initDeviceInfo();//鍒濆鍖栧熀鏈俊鎭紝闈炲父閲嶈锛岃璇佹椂瑕佺敤
-        registerAllTopicsListener();
-
-        ActivityResultLauncher<String[]> launcher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
-            @Override
-            public void onActivityResult(Map<String, Boolean> result) {
-
-            }
-        });
-
-        launcher.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE});
-
-        final List<DemoBean> beans = new ArrayList<>();
-        beans.add(new DemoBean("鍏ョ綉璁よ瘉"));
-        beans.add(new DemoBean("鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎"));
-        beans.add(new DemoBean("鑾峰彇鍔熻兘鍒楄〃"));
-        beans.add(new DemoBean("鍔熻兘灞炴�ц鍙�"));
-        beans.add(new DemoBean("璁惧鎺у埗"));
-        beans.add(new DemoBean("璇诲彇鐘舵��"));
-        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();
-//        options.setHandleMessage(pipeLine);
-//        options.setEnabledHeartbeat(false);
-
-        demoAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                switch (position) {
-                    case 0:
-                        //鍏ョ綉璁よ瘉
-                        sendAuthenticateRequest();
-                        break;
-                    case 1:
-                        //鎼滅储缃戝叧
-                        searchGatewayBroadcast();
-                        break;
-                    case 2:
-                        //鑾峰彇鍔熻兘鍒楄〃
-                        getFunctionList();
-                        break;
-                    case 3:
-                        //鍔熻兘灞炴�ц鍙�
-                        getFunctionAttribute();
-                        break;
-                    case 4:
-                        //璁惧鎺у埗
-                        controlDecide();
-                        break;
-                    case 5:
-                        //璇诲彇鐘舵��
-                        propertyRead();
-                        break;
-                    case 6:
-                        //鑾峰彇鍦烘櫙鍒楄〃
-                        getSceneList();
-                        break;
-                    case 7:
-                        //鑾峰彇鍦烘櫙鍒楄〃
-                        controlScene();
-                        break;
-                    case 8:
-                        //鍔熻兘鍒楄〃
-                        startDevicesListActivity();
-                        break;
-                    case 9:
-                        //UDP鍙戦��
-                        udpSend();
-                        break;
-                    case 10:
-                        //TCP鍙戦��
-                        tcpSend();
-                        break;
-                    case 11:
-                        //UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
-                        udpSendWithCallback();
-                        break;
-                    case 12:
-                        //TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
-                        tcpSendWithCallback();
-                        break;
-                }
-            }
-        });
-    }
-
-
-    public void showToast(String text) {
-        Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
-    }
-
-    /**
-     * 妫�娴嬫槸鍚﹁璇佽繃
-     */
-    void checkIfCertified() {
-        boolean isCertified = HDLLink.getInstance().checkIfCertified();
-        String mes = isCertified ? "宸茬粡璁よ瘉杩�" : "鏈璇�";
-        showToast(mes);
-        tv.setText(mes);
-    }
-
-    /**
-     * 娉ㄥ唽鎵�鏈変富棰樻暟鎹殑鐩戝惉
-     */
-    void registerAllTopicsListener() {
-        allTopicsListener = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                LinkResponse response = (LinkResponse) msg;
-                handleLinkResponse(response);
-            }
-        };
-        HDLLink.getInstance().registerAllTopicsListener(allTopicsListener);
-    }
-
-    /**
-     * 澶勭悊鏀跺埌鐨勪富棰�
-     *
-     * @param response
-     */
-    private void handleLinkResponse(LinkResponse response) {
-        //缃戝叧鎼滅储鍥炲
-        if (response.getTopic().contains("/user/all/custom/gateway/search_reply")) {
-            String data = response.getData();
-            if (!TextUtils.isEmpty(data)) {
-                Log.i("handleLinkResponse", "data:" + data);
-                final BaseLocalResponse<GatewaySearchBean> bean = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
-                }.getType());
-                GatewaySearchBean searchBean = bean.getObjects();
-                Log.i("handleLinkResponse", "GatewaySearchBean: " + searchBean.getGatewayId());
-            }
-        } else {
-            //鍏跺畠涓婚
-
-        }
-    }
-
-    private GatewaySearchBean getGatewaySearchBean(Object msg) {
-        GatewaySearchBean searchBean = null;
-        if (msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                final BaseLocalResponse<GatewaySearchBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
-                }.getType());
-                searchBean = response.getObjects();
-            }
-        }
-        return searchBean;
-    }
-
-    /**
-     * 绉婚櫎鎵�鏈変富棰樻暟鎹殑鐩戝惉
-     */
-    void removeAllTopicsListener() {
-        HDLLink.getInstance().removeAllTopicsListener(allTopicsListener);
-    }
-
-    void initDeviceInfo()
-    {
-        AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean();
-        infoBean.setDeviceMAC("AA000000000000AF");
-        infoBean.setIPMAC("AA000000000000AF");
-        infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧
-        infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿
-        infoBean.setAccessMode("WIFI");
-        infoBean.setIPGateway("192.168.1.1");
-        infoBean.setIPAddress("192.168.1.102");
-        infoBean.setGateway_type("music.standard");
-        infoBean.setHw_version("HW2.0");
-        infoBean.setFw_version("Fw1.0");
-        infoBean.setOID("010105000000FE10");//姣忎釜璁惧oid閮借涓嶄竴鏍�
-        infoBean.setSid("110105000000FE08110100000000");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍�
-        HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean);
-    }
-
-    /**
-     * 鍏ョ綉璁よ瘉
-     */
-    void sendAuthenticateRequest() {
-        tv.setText("寮�濮嬪叆缃戣璇�...");
-        //璁よ瘉鎻愪氦鍙傛暟鍑嗗
-
-//        娴嬭瘯鏈嶅姟
-//        String spkStr = "ir.module";//浜у搧spk
-//        String macStr = "AA000000000000AF";//璁惧鍞竴MAC鍦板潃
-//        String secret = "44b360eb74b7ba64";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
-
-//        姝e紡鏈嶅姟鍣�
-        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());
-        HDLLinkConfig.getInstance().getDeviceInfoBean().setDeviceMAC(macStr);
-
-        //1.璁剧疆璁よ瘉淇℃伅
-        AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean();
-        requestBean.setMAC(macStr);
-        requestBean.setSupplier("WISE");
-        requestBean.setFirmwareVersion(versionString);
-        requestBean.setHardwareModel("1956F");
-        AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean();
-        authbean.setSpk(spkStr);
-        authbean.setMACKey(mac_key);
-        authbean.setRequest(requestBean);
-        //HDLLinkConfig.getInstance().getDeviceInfoBean()杩欎釜鍒濆鍖栫殑鏃跺�欒鍏堣缃ソ
-        AuthenticateRequest request = new AuthenticateRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), authbean);
-        HDLLink.getInstance().startAuthenticateRequest(request, new HDLLinkCallBack() {
-            @Override
-            public void onError(HDLLinkException e) {
-                tv.setText("璁よ瘉澶辫触");
-                responseTv.setText(e.getMsg());
-                Log.i("TAG", "onError: 璁よ瘉澶辫触");
-            }
-
-            @Override
-            public void onSuccess(String msg) {
-                tv.setText("璁よ瘉鎴愬姛");
-                responseTv.setText(msg.toString());
-            }
-        });
-    }
-
-    String stringToMD5(String text) {
-        byte[] hash;
-        try {
-            hash = MessageDigest.getInstance("MD5").digest(text.getBytes("UTF-8"));
-        } catch (NoSuchAlgorithmException e) {
-            e.printStackTrace();
-            return null;
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-            return null;
-        }
-
-        StringBuilder hex = new StringBuilder(hash.length * 2);
-        for (byte b : hash) {
-            if ((b & 0xFF) < 0x10)
-                hex.append("0");
-            hex.append(Integer.toHexString(b & 0xFF));
-        }
-
-        return hex.toString();
-    }
-
-    /**
-     * 濡傛灉宸茬粡璁よ瘉鍚庯紝鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎
-     * 骞挎挱鎼滅储璁よ瘉杩囩殑缃戝叧鏄惁鍦ㄧ嚎
-     */
-    void searchGatewayBroadcast() {
-        tv.setText("鎼滅储缃戝叧涓�...");
-        HDLLink.getInstance().searchGatewayBroadcast(new HDLAuthSocket.SearchGatewayCallBack() {
-            @Override
-            public void onError(HDLLinkException e) {
-                tv.setText("缃戝叧涓嶅湪绾�");
-                responseTv.setText(e.getMsg());
-            }
-
-            @Override
-            public void onSuccess(GatewaySearchBean gatewaySearchBean) {
-                tv.setText("缃戝叧鍦ㄧ嚎");
-                responseTv.setText("鎼滅储鎴愬姛 缃戝叧id锛�" + gatewaySearchBean.getGatewayId());
-//                                LogUtils.i("TAG", "onSuccess: 鎼滅储鎴愬姛锛�"+gatewaySearchBean.getGatewayId());
-            }
-        });
-    }
-
-    /**
-     * 鑾峰彇鍔熻兘鍒楄〃
-     */
-    void getFunctionList() {
-        tv.setText("鑾峰彇鍔熻兘鍒楄〃涓�...");
-        responseTv.setText("");
-        HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() {
-            @Override
-            public void onError(HDLLinkException error) {
-                tv.setText(error.getMsg());
-            }
-
-            @Override
-            public void onSuccess(String data) {
-                tv.setText("鑾峰彇鍔熻兘鍒楄〃鎴愬姛");
-                responseTv.setText(data);
-            }
-        });
-    }
-
-    /**
-     * 鍔熻兘灞炴�ц鍙�
-     * 鏀寔鎵归噺璇诲彇
-     */
-    void getFunctionAttribute() {
-        tv.setText("鍔熻兘灞炴�ц鍙�");
-        List<String> sids = new ArrayList<>();
-        sids.add(testLightSid);
-        HDLLink.getInstance().getFunctionAttribute(sids, new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String msg) {
-                responseTv.setText(msg);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-    /**
-     * 璇诲彇璁惧鐘舵��
-     * 鏀寔鎵归噺璇诲彇
-     */
-    void propertyRead() {
-        tv.setText("璇诲彇鐘舵�佷腑...");
-        List<String> list = new ArrayList<>();
-        list.add(testLightSid);//瑕佽鍙栬澶囩殑sid
-        HDLLink.getInstance().propertyRead(list, new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String data) {
-                tv.setText("璇诲彇鎴愬姛");
-                responseTv.setText(data);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                tv.setText("璇诲彇澶辫触");
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-    /**
-     * 鎺у埗澶辫触
-     * 鍥炲鍝嶅簲code涓�200 浠h〃鎵ц鎴愬姛
-     */
-    void controlDecide() {
-        tv.setText("鎺у埗璁惧");
-        isOn = !isOn;
-        List<DeviceControlRequest> requestList = new ArrayList<>();
-        DeviceControlRequest request = new DeviceControlRequest();
-        request.setSid(testLightSid);
-        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);
-        HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String data) {
-                responseTv.setText(data);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-    /**
-     * 鑾峰彇鍦烘櫙鍒楄〃
-     */
-    void getSceneList() {
-        tv.setText("璇诲彇鍦烘櫙鍒楄〃");
-        HDLLink.getInstance().getSceneList(new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String msg) {
-                responseTv.setText(msg);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-    //鍦烘櫙鍒楄〃
-    // {"id":"8a5eaa143ce943b987b577df5a66759b","time_stamp":"1637040217235","objects":[{"sid":"04010560D2C7170A0A0100000000","name":"鍥炲妯″紡","status":"off","group":"255","delay":"0","modify_time":"1634871490"},{"sid":"04010560D2C76E0A0A0100010000","name":"绂诲妯″紡","status":"off","group":"255","delay":"0","modify_time":"1634785823"}]}
-
-    /**
-     * 鎺у埗鍦烘櫙
-     * 鎵ц鎴愬姛鐨勮瘽 鍝嶅簲code涓�200
-     */
-    void controlScene() {
-        tv.setText("鍦烘櫙鎺у埗");
-        //鎺у埗鍦烘櫙sid鍒楄〃锛屾敮鎸佹壒閲忔帶鍒�
-        List<String> sids = new ArrayList<>();
-        isOn = !isOn;
-        if (isOn) {
-            sids.add("04010560D2C7170A0A0100000000");
-        } else {
-            sids.add("04010560D2C76E0A0A0100010000");
-        }
-        HDLLink.getInstance().controlScene(sids, new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String msg) {
-                responseTv.setText(msg);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-
-    void startDevicesListActivity() {
-        Intent intent = new Intent(this, DevicesListActivity.class);
-        startActivity(intent);
-    }
-
-    /**
-     * TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
-     */
-    private void tcpSend() {
-        tv.setText("TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�");
-        String propertyDownTopic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId());
-        String bodyStr = getPropertyDownBodyStr();
-        HDLLink.getInstance().tcpSendMsg(propertyDownTopic, bodyStr);
-    }
-
-    /**
-     * UDP鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
-     */
-    private void udpSend() {
-        tv.setText("UDP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�");
-        String propertyDownTopic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId());
-        String bodyStr = getPropertyDownBodyStr();
-        HDLLink.getInstance().udpSendMsg(propertyDownTopic, bodyStr);
-    }
-
-    private String getPropertyDownBodyStr() {
-        isOn = !isOn;
-        List<DeviceControlRequest> requestList = new ArrayList<>();
-        DeviceControlRequest request = new DeviceControlRequest();
-        request.setSid(testLightSid);
-        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());
-
-        final BaseLocalResponse<List<DeviceControlRequest>> data = new BaseLocalResponse<>();
-        data.setId(IdUtils.getUUId());
-        data.setTime_stamp(time);
-        data.setObjects(requestList);
-
-        return GsonConvert.getGson().toJson(data);
-    }
-
-    /**
-     * UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
-     */
-    private void udpSendWithCallback() {
-        tv.setText("UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�");
-        String propertyDownTopic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId());
-        String bodyStr = getPropertyDownBodyStr();
-        HDLLink.getInstance().udpSendMsg(propertyDownTopic, bodyStr, new HDLLinkResponseCallBack() {
-            @Override
-            public void onSuccess(LinkResponse msg) {
-                Log.i("udpSendWithCallback", "udpSendWithCallback");
-                responseTv.setText(GsonConvert.getGson().toJson(msg));
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-
-    /**
-     * TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
-     */
-    private void tcpSendWithCallback() {
-        tv.setText("TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�");
-        String propertyDownTopic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId());
-        String bodyStr = getPropertyDownBodyStr();
-        HDLLink.getInstance().tcpSendMsg(propertyDownTopic, bodyStr, new HDLLinkCallBack() {
-            @Override
-            public void onSuccess(String msg) {
-                Log.i("tcpSendWithCallback", "tcpSendWithCallback");
-                responseTv.setText(msg);
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-                responseTv.setText(e.getMsg());
-            }
-        });
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java
deleted file mode 100644
index f253b34..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.hdl.hdlsdk.device;
-
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.OrientationHelper;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.annotation.SuppressLint;
-import android.os.Bundle;
-import android.util.Log;
-
-import com.google.gson.reflect.TypeToken;
-import com.hdl.hdlsdk.DemoAdapter;
-import com.hdl.hdlsdk.R;
-import com.hdl.sdk.common.exception.HDLLinkException;
-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.LinkResponse;
-import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
-import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
-import com.hdl.sdk.connect.callback.HDLLinkCallBack;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class DevicesListActivity extends AppCompatActivity {
-
-    private static final String TAG = "DevicesListActivity";
-    private List<FunctionBean> devicesList = new ArrayList<>();
-    private DevicesListAdapter mDevicesListAdapter;
-    private RecyclerView mRecyclerView;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_devices_list);
-
-        initView();
-        initData();
-    }
-
-    @SuppressLint("WrongConstant")
-    private void initView() {
-        mRecyclerView = findViewById(R.id.device_list_rv);
-        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
-        mDevicesListAdapter = new DevicesListAdapter(this, devicesList);
-        mRecyclerView.setAdapter(mDevicesListAdapter);
-    }
-
-    private void initData() {
-        getFunctionList();
-    }
-
-    /**
-     * 鑾峰彇鍔熻兘鍒楄〃
-     */
-    void getFunctionList(){
-
-        HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() {
-            @Override
-            public void onError(HDLLinkException error) {
-                Log.e(TAG,error.getMsg());
-            }
-
-            @Override
-            public void onSuccess(String data) {
-                Log.i(TAG, "鑾峰彇璁惧鍒楄〃鎴愬姛");
-                handelFunList(data);
-            }
-        });
-    }
-
-    void handelFunList(String data){
-      try {
-          final LinkResponse linkResponse = GsonConvert.getGson().fromJson(data, new TypeToken<LinkResponse>() {
-          }.getType());
-
-          final BaseLocalResponse<List<FunctionBean>> bean = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<FunctionBean>>>() {
-          }.getType());
-          devicesList.clear();
-          devicesList.addAll(bean.getObjects());
-          mDevicesListAdapter.notifyDataSetChanged();
-      }catch (Exception e){
-          Log.e(TAG, "handelFunList: " + e.getMessage());
-      }
-
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
deleted file mode 100644
index d352b7c..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-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> {
-
-    private LayoutInflater mInflater;
-    private List<FunctionBean> mList = null;
-
-    public DevicesListAdapter(Context context, List<FunctionBean> devicesList) {
-        this.mInflater = LayoutInflater.from(context);
-        this.mList = devicesList;
-    }
-
-    /**
-     * item鏄剧ず绫诲瀷
-     *
-     * @param parent
-     * @param viewType
-     * @return
-     */
-    @Override
-    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        View view = mInflater.inflate(R.layout.item_devices_list, parent, false);
-        ViewHolder viewHolder = new ViewHolder(view);
-        return viewHolder;
-    }
-
-    /**
-     * 鏁版嵁鐨勭粦瀹氭樉绀�
-     *
-     * @param holder
-     * @param position
-     */
-    @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
-    public int getItemCount() {
-        return mList.size();
-    }
-
-    //鑷畾涔夌殑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
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/FunctionBean.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/FunctionBean.java
deleted file mode 100644
index 232b657..0000000
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/FunctionBean.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.hdl.hdlsdk.device;
-
-import com.chad.library.adapter.base.entity.MultiItemEntity;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * Created by jlchen on 12/7/21.
- */
-public class FunctionBean implements Serializable {
-    private String sid;
-    private String oid;
-    private String name;
-    private String spk;
-    private String omodel;
-    private String src;
-    private String online;
-    private List<FunctionStatus> status;
-
-    public String getSid() {
-        return sid;
-    }
-
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-    public String getOid() {
-        return oid;
-    }
-
-    public void setOid(String oid) {
-        this.oid = oid;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getSpk() {
-        return spk;
-    }
-
-    public void setSpk(String spk) {
-        this.spk = spk;
-    }
-
-    public String getOmodel() {
-        return omodel;
-    }
-
-    public void setOmodel(String omodel) {
-        this.omodel = omodel;
-    }
-
-    public String getSrc() {
-        return src;
-    }
-
-    public void setSrc(String src) {
-        this.src = src;
-    }
-
-    public String getOnline() {
-        return online;
-    }
-
-    public void setOnline(String online) {
-        this.online = online;
-    }
-
-    public List<FunctionStatus> getStatus() {
-        return status;
-    }
-
-    public void setStatus(List<FunctionStatus> status) {
-        this.status = status;
-    }
-
-    public class FunctionStatus implements Serializable {
-        private String key;
-        private String value;
-
-        public String getKey() {
-            return key;
-        }
-
-        public void setKey(String key) {
-            this.key = key;
-        }
-
-        public String getValue() {
-            return value;
-        }
-
-        public void setValue(String value) {
-            this.value = value;
-        }
-    }
-
-}
diff --git a/HDLSDK/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/HDLSDK/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index 2b068d1..0000000
--- a/HDLSDK/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
-        <aapt:attr name="android:fillColor">
-            <gradient
-                android:endX="85.84757"
-                android:endY="92.4963"
-                android:startX="42.9492"
-                android:startY="49.59793"
-                android:type="linear">
-                <item
-                    android:color="#44000000"
-                    android:offset="0.0" />
-                <item
-                    android:color="#00000000"
-                    android:offset="1.0" />
-            </gradient>
-        </aapt:attr>
-    </path>
-    <path
-        android:fillColor="#FFFFFF"
-        android:fillType="nonZero"
-        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
-        android:strokeWidth="1"
-        android:strokeColor="#00000000" />
-</vector>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/drawable/ic_launcher_background.xml b/HDLSDK/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index 07d5da9..0000000
--- a/HDLSDK/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
-    android:height="108dp"
-    android:viewportWidth="108"
-    android:viewportHeight="108">
-    <path
-        android:fillColor="#3DDC84"
-        android:pathData="M0,0h108v108h-108z" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M9,0L9,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,0L19,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,0L29,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,0L39,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,0L49,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,0L59,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,0L69,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,0L79,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M89,0L89,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M99,0L99,108"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,9L108,9"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,19L108,19"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,29L108,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,39L108,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,49L108,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,59L108,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,69L108,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,79L108,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,89L108,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M0,99L108,99"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,29L89,29"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,39L89,39"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,49L89,49"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,59L89,59"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,69L89,69"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M19,79L89,79"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M29,19L29,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M39,19L39,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M49,19L49,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M59,19L59,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M69,19L69,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-    <path
-        android:fillColor="#00000000"
-        android:pathData="M79,19L79,89"
-        android:strokeWidth="0.8"
-        android:strokeColor="#33FFFFFF" />
-</vector>
diff --git a/HDLSDK/app/src/main/res/layout/activity_devices_list.xml b/HDLSDK/app/src/main/res/layout/activity_devices_list.xml
deleted file mode 100644
index b7e3865..0000000
--- a/HDLSDK/app/src/main/res/layout/activity_devices_list.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".device.DevicesListActivity">
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/device_list_rv"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/layout/activity_main.xml b/HDLSDK/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index 6fa6c2b..0000000
--- a/HDLSDK/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".MainActivity">
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/scrollView"
-        app:layout_constraintHorizontal_weight="1"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <View
-        android:layout_width="1dp"
-        android:layout_height="0dp"
-        android:background="#f4f4f4"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/scrollView"
-        app:layout_constraintStart_toEndOf="@id/rv"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.core.widget.NestedScrollView
-        android:id="@+id/scrollView"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_weight="2"
-        app:layout_constraintStart_toEndOf="@id/rv"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingStart="10dp"
-                android:text="褰撳墠鐘舵�侊細" />
-
-            <TextView
-                android:id="@+id/state_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:text="鏈搷浣�" />
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="2dp"
-                android:background="#f5f5f5" />
-
-            <TextView
-                android:paddingStart="10dp"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp"
-                android:text="鍝嶅簲锛�" />
-
-            <TextView
-                android:id="@+id/response_tv"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="10dp" />
-
-
-        </LinearLayout>
-    </androidx.core.widget.NestedScrollView>
-
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/layout/demo_item.xml b/HDLSDK/app/src/main/res/layout/demo_item.xml
deleted file mode 100644
index 84a9aed..0000000
--- a/HDLSDK/app/src/main/res/layout/demo_item.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="40dp">
-
-    <TextView
-        android:id="@+id/tv_title"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:gravity="center"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <View
-        android:layout_width="0dp"
-        android:layout_height="1dp"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="10dp"
-        android:background="#f5f5f5"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent" />
-
-
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/layout/item_devices_list.xml b/HDLSDK/app/src/main/res/layout/item_devices_list.xml
deleted file mode 100644
index 345f892..0000000
--- a/HDLSDK/app/src/main/res/layout/item_devices_list.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="50dp"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1"
-        android:orientation="horizontal">
-
-        <TextView
-            android:id="@+id/device_title_tv"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="@dimen/dp_10"
-            android:gravity="center|left"
-            android:text="璁惧"
-            android:textColor="@color/black"
-            android:layout_weight="1"/>
-
-        <Switch
-            android:id="@+id/device_on_off_switch"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginRight="@dimen/dp_10"
-            />
-    </LinearLayout>
-
-
-    <View
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="10dp"
-        android:background="#f5f5f5"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent" />
-
-
-</LinearLayout>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index eca70cf..0000000
--- a/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index eca70cf..0000000
--- a/HDLSDK/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
-    <background android:drawable="@drawable/ic_launcher_background" />
-    <foreground android:drawable="@drawable/ic_launcher_foreground" />
-</adaptive-icon>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index c209e78..0000000
--- a/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index b2dfe3d..0000000
--- a/HDLSDK/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 4f0f1d6..0000000
--- a/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 62b611d..0000000
--- a/HDLSDK/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 948a307..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1b9a695..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 28d4b77..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9287f50..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index aa7d642..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 9126ae3..0000000
--- a/HDLSDK/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/app/src/main/res/values-night/themes.xml b/HDLSDK/app/src/main/res/values-night/themes.xml
deleted file mode 100644
index ab52aa6..0000000
--- a/HDLSDK/app/src/main/res/values-night/themes.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
-    <!-- Base application theme. -->
-    <style name="Theme.HDLSDK" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
-        <!-- Primary brand color. -->
-        <item name="colorPrimary">@color/purple_200</item>
-        <item name="colorPrimaryVariant">@color/purple_700</item>
-        <item name="colorOnPrimary">@color/black</item>
-        <!-- Secondary brand color. -->
-        <item name="colorSecondary">@color/teal_200</item>
-        <item name="colorSecondaryVariant">@color/teal_200</item>
-        <item name="colorOnSecondary">@color/black</item>
-        <!-- Status bar color. -->
-        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
-        <!-- Customize your theme here. -->
-    </style>
-</resources>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/values/colors.xml b/HDLSDK/app/src/main/res/values/colors.xml
deleted file mode 100644
index f8c6127..0000000
--- a/HDLSDK/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <color name="purple_200">#FFBB86FC</color>
-    <color name="purple_500">#FF6200EE</color>
-    <color name="purple_700">#FF3700B3</color>
-    <color name="teal_200">#FF03DAC5</color>
-    <color name="teal_700">#FF018786</color>
-    <color name="black">#FF000000</color>
-    <color name="white">#FFFFFFFF</color>
-</resources>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/values/strings.xml b/HDLSDK/app/src/main/res/values/strings.xml
deleted file mode 100644
index 192b55f..0000000
--- a/HDLSDK/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <string name="app_name">HDLSDK</string>
-</resources>
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/res/values/themes.xml b/HDLSDK/app/src/main/res/values/themes.xml
deleted file mode 100644
index dcf7fa1..0000000
--- a/HDLSDK/app/src/main/res/values/themes.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<resources xmlns:tools="http://schemas.android.com/tools">
-    <!-- Base application theme. -->
-    <style name="Theme.HDLSDK" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
-        <!-- Primary brand color. -->
-        <item name="colorPrimary">@color/purple_500</item>
-        <item name="colorPrimaryVariant">@color/purple_700</item>
-        <item name="colorOnPrimary">@color/white</item>
-        <!-- Secondary brand color. -->
-        <item name="colorSecondary">@color/teal_200</item>
-        <item name="colorSecondaryVariant">@color/teal_700</item>
-        <item name="colorOnSecondary">@color/black</item>
-        <!-- Status bar color. -->
-        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
-        <!-- Customize your theme here. -->
-    </style>
-</resources>
\ No newline at end of file
diff --git a/HDLSDK/gradle.properties b/HDLSDK/gradle.properties
index 52f5917..5822ace 100644
--- a/HDLSDK/gradle.properties
+++ b/HDLSDK/gradle.properties
@@ -14,6 +14,6 @@
 # AndroidX package structure to make it clearer which packages are bundled with the
 # Android operating system, and which are packaged with your app"s APK
 # https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
-# Automatically convert third-party libraries to use AndroidX
-android.enableJetifier=true
\ No newline at end of file
+#android.useAndroidX=true
+### Automatically convert third-party libraries to use AndroidX
+#android.enableJetifier=true
\ No newline at end of file
diff --git a/HDLSDK/hdl-common/build.gradle b/HDLSDK/hdl-common/build.gradle
index f054e96..d24143f 100644
--- a/HDLSDK/hdl-common/build.gradle
+++ b/HDLSDK/hdl-common/build.gradle
@@ -11,7 +11,6 @@
         versionCode 2
 
         versionName "1.0.15"
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
     }
 
@@ -29,6 +28,6 @@
 
 dependencies {
     api 'com.google.code.gson:gson:2.8.8'
-    api 'androidx.annotation:annotation:1.2.0'
-    api 'androidx.collection:collection:1.1.0'
+    api 'com.android.support:support-annotations:28.0.0"'
+    api 'com.android.support:collections:28.0.0'
 }
\ No newline at end of file
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
index bfb38b3..a409121 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
@@ -1,9 +1,10 @@
 package com.hdl.sdk.common.event;
 
-import androidx.annotation.NonNull;
-import androidx.collection.ArrayMap;
 
 
+import android.support.annotation.NonNull;
+import android.support.v4.util.ArrayMap;
+
 import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.common.utils.ThreadToolUtils;
 
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java
index 715cb3e..a4e0acd 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java
@@ -1,6 +1,7 @@
 package com.hdl.sdk.common.exception;
 
-import androidx.annotation.NonNull;
+
+import android.support.annotation.NonNull;
 
 /**
  * Created by Tong on 2021/11/11.
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java
index bbdd808..8ee29f3 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java
@@ -2,8 +2,8 @@
 
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.support.annotation.NonNull;
 
-import androidx.annotation.NonNull;
 
 import com.hdl.sdk.common.HDLSdk;
 
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java
index fd122d8..75557ac 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java
@@ -1,7 +1,7 @@
 package com.hdl.sdk.common.utils.gson;
 
 
-import androidx.annotation.NonNull;
+import android.support.annotation.NonNull;
 
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle
index 79e077a..9b7328f 100644
--- a/HDLSDK/hdl-connect/build.gradle
+++ b/HDLSDK/hdl-connect/build.gradle
@@ -11,7 +11,6 @@
         versionCode 2
         versionName "1.0.15"
 
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
     }
 
@@ -29,6 +28,4 @@
 
 dependencies {
     api project(path: ':hdl-socket')
-    implementation 'androidx.appcompat:appcompat:1.2.0'
-    implementation 'com.google.android.material:material:1.3.0'
 }
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
index 9a9b5ae..f5915d1 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java
@@ -1,8 +1,8 @@
 package com.hdl.sdk.connect.bean;
 
+import android.support.annotation.NonNull;
 import android.text.TextUtils;
 
-import androidx.annotation.NonNull;
 
 import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.connect.config.HDLLinkConfig;
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java
index 8364f80..f45c826 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java
@@ -1,8 +1,8 @@
 package com.hdl.sdk.connect.bean;
 
+import android.support.annotation.NonNull;
 import android.text.TextUtils;
 
-import androidx.annotation.NonNull;
 
 import com.hdl.sdk.common.utils.gson.GsonConvert;
 
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
index edb326e..f5ba2c0 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java
@@ -5,7 +5,6 @@
 import android.os.Build;
 import android.util.Log;
 
-import androidx.annotation.RequiresApi;
 
 import com.google.gson.internal.bind.DateTypeAdapter;
 import com.hdl.sdk.common.utils.LogUtils;
diff --git a/HDLSDK/hdl-socket/build.gradle b/HDLSDK/hdl-socket/build.gradle
index 5c35438..8d3b834 100644
--- a/HDLSDK/hdl-socket/build.gradle
+++ b/HDLSDK/hdl-socket/build.gradle
@@ -11,7 +11,6 @@
         versionCode 2
         versionName "1.0.15"
 
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
     }
 
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
index 92f8f84..6b54083 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
@@ -1,9 +1,9 @@
 package com.hdl.sdk.socket;
 
+import android.support.v4.util.ArrayMap;
 import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.collection.ArrayMap;
 
 import com.google.gson.JsonObject;
 import com.hdl.sdk.common.config.TopicConstant;
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java
index 2ec7809..ce90b17 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java
@@ -1,6 +1,7 @@
 package com.hdl.sdk.socket.annotation;
 
-import androidx.annotation.IntDef;
+
+import android.support.annotation.IntDef;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Target;
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
index 17471bb..0cc6c8f 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
@@ -1,8 +1,8 @@
 package com.hdl.sdk.socket.udp;
 
+import android.support.v4.util.ArrayMap;
 import android.text.TextUtils;
 
-import androidx.collection.ArrayMap;
 
 import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.common.utils.ThreadToolUtils;
diff --git a/HDLSDK/settings.gradle b/HDLSDK/settings.gradle
index fc35c16..ded4b2e 100644
--- a/HDLSDK/settings.gradle
+++ b/HDLSDK/settings.gradle
@@ -1,5 +1,5 @@
 
-include ':app'
+//include ':app'
 include ':hdl-socket'
 include ':hdl-connect'
 include ':hdl-common'
diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-release.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-release.aar
new file mode 100644
index 0000000..931ec01
--- /dev/null
+++ b/HDLSDK_DEMO/app/libs/com.hdl.sdk-release.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar
deleted file mode 100644
index 22ccd83..0000000
--- a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar
+++ /dev/null
Binary files differ

--
Gitblit v1.8.0