From a3f9e5ce8dce3d86a60a79b85ce44424a612c6fa Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期五, 13 五月 2022 14:06:45 +0800 Subject: [PATCH] 提交jar版本 --- HDLSDK/hdl-common/build.gradle | 14 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java | 55 +- HDLSDK/app/src/main/AndroidManifest.xml | 2 HDLSDK/hdl-socket/build.gradle | 9 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java | 31 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java | 19 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 39 + HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 244 +++++++------ HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java | 15 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 10 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java | 4 HDLSDK_DEMO/app/src/main/AndroidManifest.xml | 2 HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java | 3 HDLSDK/hdl-connect/libs/gson-2.8.8.jar | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkResponse.java | 6 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java | 25 - HDLSDK/build.gradle | 3 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/exception/HDLLinkException.java | 5 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java | 6 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java | 19 HDLSDK_DEMO/app/libs/hdl-socket.jar | 0 HDLSDK/app/libs/gson-2.8.8.jar | 0 HDLSDK_DEMO/app/libs/commons-lang3-3.12.0.jar | 0 HDLSDK_DEMO/.idea/gradle.xml | 3 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java | 14 HDLSDK/settings.gradle | 1 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/TextUtils.java | 9 HDLSDK/hdl-common/libs/gson-2.8.8.jar | 0 HDLSDK/hdl-connect/libs/commons-lang3-3.12.0.jar | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 2 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/ProtocolParse.java | 2 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java | 54 +- HDLSDK_DEMO/app/build.gradle | 7 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java | 17 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/annotation/ConnectStatus.java | 17 HDLSDK/app/build.gradle | 1 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkCallBack.java | 3 /dev/null | 106 ----- HDLSDK/hdl-connect/build.gradle | 13 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java | 4 HDLSDK_DEMO/app/libs/gson-2.8.8.jar | 0 HDLSDK/com.hdl.sdk/build.gradle | 132 +------ HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/gson/ParameterizedTypeImpl.java | 5 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/LogUtils.java | 16 HDLSDK_DEMO/app/libs/hdl-common.jar | 0 HDLSDK_DEMO/.idea/compiler.xml | 2 HDLSDK_DEMO/app/libs/hdl-connect.jar | 0 HDLSDK_DEMO/.idea/misc.xml | 6 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 140 +++--- 49 files changed, 412 insertions(+), 653 deletions(-) diff --git a/HDLSDK/.idea/compiler.xml b/HDLSDK/.idea/compiler.xml deleted file mode 100644 index 245a82c..0000000 --- a/HDLSDK/.idea/compiler.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="CompilerConfiguration"> - <bytecodeTargetLevel target="1.8" /> - </component> -</project> \ No newline at end of file diff --git a/HDLSDK/.idea/gradle.xml b/HDLSDK/.idea/gradle.xml deleted file mode 100644 index 4c7b1e5..0000000 --- a/HDLSDK/.idea/gradle.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="GradleMigrationSettings" migrationVersion="1" /> - <component name="GradleSettings"> - <option name="linkedExternalProjectsSettings"> - <GradleProjectSettings> - <option name="testRunner" value="PLATFORM" /> - <option name="distributionType" value="DEFAULT_WRAPPED" /> - <option name="externalProjectPath" value="$PROJECT_DIR$" /> - <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" /> - <option value="$PROJECT_DIR$/hdl-socket" /> - </set> - </option> - <option name="resolveModulePerSourceSet" value="false" /> - <option name="useQualifiedModuleNames" value="true" /> - </GradleProjectSettings> - </option> - </component> -</project> \ No newline at end of file diff --git a/HDLSDK/app/build.gradle b/HDLSDK/app/build.gradle index 1960e0a..f7edf1a 100644 --- a/HDLSDK/app/build.gradle +++ b/HDLSDK/app/build.gradle @@ -32,6 +32,7 @@ implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation files('libs\\gson-2.8.8.jar') testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' diff --git a/HDLSDK/app/libs/gson-2.8.8.jar b/HDLSDK/app/libs/gson-2.8.8.jar new file mode 100644 index 0000000..4707d40 --- /dev/null +++ b/HDLSDK/app/libs/gson-2.8.8.jar Binary files differ diff --git a/HDLSDK/app/src/main/AndroidManifest.xml b/HDLSDK/app/src/main/AndroidManifest.xml index 964acd6..8d37dcb 100644 --- a/HDLSDK/app/src/main/AndroidManifest.xml +++ b/HDLSDK/app/src/main/AndroidManifest.xml @@ -12,14 +12,12 @@ <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"> 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/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java index ac61a13..f4a4071 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -10,7 +10,6 @@ import androidx.recyclerview.widget.RecyclerView; import android.Manifest; -import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -21,46 +20,30 @@ 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 com.hdl.sdk.socket.SocketBoot; 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 { @@ -71,18 +54,19 @@ private TextView responseTv; boolean isOn; private EventListener allTopicsListener; - private String testLightSid = "0001010D48C71B02020100010101"; + private String testLightSid = "1493092497588469761"; @Override protected void onDestroy() { super.onDestroy(); removeAllTopicsListener(); } -void init() { -// HDLLinkConfig.getInstance().setLocalSecret("7d04c4e3c2b7d600"); -// HDLLinkConfig.getInstance().setGatewayId("1473119283609321473"); -// HDLLinkConfig.getInstance().setLocalEncrypt(true); -} + + void init() { + HDLLinkConfig.getInstance().setLocalSecret("e186beeb7974998e"); + HDLLinkConfig.getInstance().setGatewayId("1519863101509361666"); + } + @RequiresApi(api = Build.VERSION_CODES.O) @Override protected void onCreate(Bundle savedInstanceState) { @@ -94,7 +78,7 @@ rv = findViewById(R.id.rv); rv.setLayoutManager(new LinearLayoutManager(this)); - init(); +// init(); checkIfCertified(); initDeviceInfo();//鍒濆鍖栧熀鏈俊鎭紝闈炲父閲嶈锛岃璇佹椂瑕佺敤 registerAllTopicsListener(); @@ -170,7 +154,7 @@ break; case 8: //鍔熻兘鍒楄〃 - startDevicesListActivity(); +// startDevicesListActivity(); break; case 9: //UDP鍙戦�� @@ -206,6 +190,7 @@ String mes = isCertified ? "宸茬粡璁よ瘉杩�" : "鏈璇�"; showToast(mes); tv.setText(mes); + } /** @@ -265,22 +250,23 @@ HDLLink.getInstance().removeAllTopicsListener(allTopicsListener); } - void initDeviceInfo() - { + void initDeviceInfo() { AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean(); - infoBean.setDeviceMAC("AA000000000000AF"); - infoBean.setIPMAC("AA000000000000AF"); + infoBean.setDeviceMAC("AA00000000000100"); + infoBean.setIPMAC("AA00000000000100"); infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧 infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿 infoBean.setAccessMode("WIFI"); infoBean.setIPGateway("192.168.1.1"); - infoBean.setIPAddress("192.168.1.102"); + infoBean.setIPAddress("192.168.1.116"); infoBean.setGateway_type("music.standard"); infoBean.setHw_version("HW2.0"); infoBean.setFw_version("Fw1.0"); - infoBean.setOID("010105000000FE10");//姣忎釜璁惧oid閮借涓嶄竴鏍� - infoBean.setSid("110105000000FE08110100000000");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� + infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍� + infoBean.setSid("110105000000FE08110100000011");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); + + } /** @@ -297,8 +283,8 @@ // 姝e紡鏈嶅姟鍣� String spkStr = "screen.mirror";//浜у搧spk - String macStr = "AA000000000000AC";//璁惧鍞竴MAC鍦板潃 - String secret = "ee62124c151b737c";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret + String macStr = "AA00000000000100";//璁惧鍞竴MAC鍦板潃 + String secret = "e186beeb7974998e";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret String mac_key = stringToMD5(stringToMD5(macStr + secret)); String versionString = "HDL_V1.0.1";// @@ -320,15 +306,16 @@ HDLLink.getInstance().startAuthenticateRequest(request, new HDLLinkCallBack() { @Override public void onError(HDLLinkException e) { - tv.setText("璁よ瘉澶辫触"); - responseTv.setText(e.getMsg()); - Log.i("TAG", "onError: 璁よ瘉澶辫触"); +// tv.setText("璁よ瘉澶辫触"); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError: 璁よ瘉澶辫触" + e.getMsg()); } @Override public void onSuccess(String msg) { - tv.setText("璁よ瘉鎴愬姛"); - responseTv.setText(msg.toString()); +// tv.setText("璁よ瘉鎴愬姛"); +// responseTv.setText(msg.toString()); + Log.i("TAG", "onSuccess: 璁よ瘉鎴愬姛" + msg.toString()); } }); } @@ -364,15 +351,16 @@ HDLLink.getInstance().searchGatewayBroadcast(new HDLAuthSocket.SearchGatewayCallBack() { @Override public void onError(HDLLinkException e) { - tv.setText("缃戝叧涓嶅湪绾�"); - responseTv.setText(e.getMsg()); +// tv.setText("缃戝叧涓嶅湪绾�"); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "缃戝叧涓嶅湪绾�" + e.getMsg()); } @Override public void onSuccess(GatewaySearchBean gatewaySearchBean) { - tv.setText("缃戝叧鍦ㄧ嚎"); - responseTv.setText("鎼滅储鎴愬姛 缃戝叧id锛�" + gatewaySearchBean.getGatewayId()); -// LogUtils.i("TAG", "onSuccess: 鎼滅储鎴愬姛锛�"+gatewaySearchBean.getGatewayId()); +// tv.setText("缃戝叧鍦ㄧ嚎"); +// responseTv.setText("鎼滅储鎴愬姛 缃戝叧id锛�" + gatewaySearchBean.getGatewayId()); + Log.i("TAG", "onSuccess: 鎼滅储鎴愬姛锛�"+gatewaySearchBean.getGatewayId()); } }); } @@ -386,13 +374,15 @@ HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() { @Override public void onError(HDLLinkException error) { - tv.setText(error.getMsg()); +// tv.setText(error.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍔熻兘鍒楄〃澶辫触" + error.getMsg()); } @Override public void onSuccess(String data) { - tv.setText("鑾峰彇鍔熻兘鍒楄〃鎴愬姛"); - responseTv.setText(data); +// tv.setText("鑾峰彇鍔熻兘鍒楄〃鎴愬姛"); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 鑾峰彇鍔熻兘鍒楄〃鎴愬姛" + data.toString()); } }); } @@ -408,12 +398,14 @@ HDLLink.getInstance().getFunctionAttribute(sids, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鍔熻兘灞炴�ц鍙栨垚鍔�" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍔熻兘鍒楄〃澶辫触" + e.getMsg()); } }); } @@ -429,20 +421,22 @@ HDLLink.getInstance().propertyRead(list, new HDLLinkCallBack() { @Override public void onSuccess(String data) { - tv.setText("璇诲彇鎴愬姛"); - responseTv.setText(data); +// tv.setText("璇诲彇鎴愬姛"); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 璇诲彇璁惧鐘舵�佹垚鍔�" + data.toString()); } @Override public void onError(HDLLinkException e) { - tv.setText("璇诲彇澶辫触"); - responseTv.setText(e.getMsg()); +// tv.setText("璇诲彇澶辫触"); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 璇诲彇璁惧鐘舵�佸け璐�" + e.getMsg()); } }); } /** - * 鎺у埗澶辫触 + * 鎺у埗璁惧 * 鍥炲鍝嶅簲code涓�200 浠h〃鎵ц鎴愬姛 */ void controlDecide() { @@ -461,12 +455,14 @@ HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() { @Override public void onSuccess(String data) { - responseTv.setText(data); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 鎺у埗璁惧鎴愬姛" + data.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鎺у埗璁惧澶辫触" + e.getMsg()); } }); } @@ -479,12 +475,14 @@ HDLLink.getInstance().getSceneList(new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鑾峰彇鍦烘櫙鍒楄〃鎴愬姛" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍦烘櫙鍒楄〃澶辫触" + e.getMsg()); } }); } @@ -509,21 +507,23 @@ HDLLink.getInstance().controlScene(sids, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鍦烘櫙鎺у埗鎴愬姛" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鍦烘櫙鎺у埗澶辫触" + e.getMsg()); } }); } - void startDevicesListActivity() { +/* void startDevicesListActivity() { Intent intent = new Intent(this, DevicesListActivity.class); startActivity(intent); - } + }*/ /** * TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� @@ -577,13 +577,14 @@ HDLLink.getInstance().udpSendMsg(propertyDownTopic, bodyStr, new HDLLinkResponseCallBack() { @Override public void onSuccess(LinkResponse msg) { - Log.i("udpSendWithCallback", "udpSendWithCallback"); - responseTv.setText(GsonConvert.getGson().toJson(msg)); + Log.i("TAG", "onSuccess UDP鍙戦�佹垚鍔�" + GsonConvert.getGson().toJson(msg)); +// responseTv.setText(GsonConvert.getGson().toJson(msg)); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError UDP鍙戦�佸け璐�" + e.getMsg()); } }); } @@ -598,13 +599,14 @@ HDLLink.getInstance().tcpSendMsg(propertyDownTopic, bodyStr, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - Log.i("tcpSendWithCallback", "tcpSendWithCallback"); - responseTv.setText(msg); + Log.i("TAG", "onSuccess TCP鍙戦�佹垚鍔�" + msg); +// responseTv.setText(msg); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError TCP鍙戦�佸け璐�"); } }); } 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/build.gradle b/HDLSDK/build.gradle index 8641fad..81b2e55 100644 --- a/HDLSDK/build.gradle +++ b/HDLSDK/build.gradle @@ -12,14 +12,15 @@ } } - allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } + google() maven { url "https://jitpack.io" } + } } diff --git a/HDLSDK/com.hdl.sdk/build.gradle b/HDLSDK/com.hdl.sdk/build.gradle index 795f57b..e9a0572 100644 --- a/HDLSDK/com.hdl.sdk/build.gradle +++ b/HDLSDK/com.hdl.sdk/build.gradle @@ -1,8 +1,11 @@ //鎵撳寘鐨� -apply plugin: 'com.android.library' -apply plugin:'com.kezong.fat-aar' +//apply plugin: 'com.android.library' +//apply plugin:'com.kezong.fat-aar' +plugins { + id 'java-library' +} -android { +/*android { compileSdkVersion rootProject.compileSdkVersion defaultConfig { @@ -21,23 +24,27 @@ sourceCompatibility 1.8 targetCompatibility 1.8 } -} + + //gradlew assembleRelease + //gradlew makeJar + +}*/ dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') -// embed 'com.ezviz.sdk:ezviz-sdk:4.16.1' -// embed(name: 'hdl-common-release',ext: 'aar') -// embed(name: 'hdl-connect-release',ext: 'aar') -// embed(name: 'hdl-socket-release',ext: 'aar') +// embed project(path: ':hdl-common', configuration:'default') +// embed project(path: ':hdl-connect', configuration:'default') +// embed project(path: ':hdl-socket', configuration:'default') - embed project(path: ':hdl-common', configuration:'default') - embed project(path: ':hdl-connect', configuration:'default') - embed project(path: ':hdl-socket', configuration:'default') + implementation project(path: ':hdl-common') + implementation project(path: ':hdl-connect') + implementation project(path: ':hdl-socket') } //鎵撳寘鐨� +/* buildscript { repositories { @@ -50,105 +57,4 @@ classpath 'com.android.tools.build:gradle:3.6.3' classpath 'com.kezong:fat-aar:1.2.16' } -} - -//allprojects { -// repositories { -// flatDir{ -// dirs 'libs' -// } -// google() -// jcenter() -// } -//} - - - -////杩愯鐨� -// -//apply plugin: 'com.android.application' -//apply from: "../app-common/build_common.gradle" -//apply plugin: 'kotlin-android' -//apply plugin: 'kotlin-android-extensions' -// -////濡傛灉鏈夌敤鍒発apt娣诲姞濡備笅閰嶇疆 -//kapt { -// useBuildCache = true -// javacOptions { -// option("-Xmaxerrs", 500) -// } -//} -// -//android { -// -// compileSdkVersion 29 -// buildToolsVersion "29.0.3" -// -// sourceSets { -// main { -// jniLibs.srcDirs = ['libs'] -// } -// } -// lintOptions { -// abortOnError false -// } -// defaultConfig { -// applicationId "com.evoyo.home1111112" -// minSdkVersion 21 -// //noinspection ExpiredTargetSdkVersion -// targetSdkVersion 28 -// versionCode 4160 -// versionName "v4.16.0.20201230" -// ndk { -// abiFilters "armeabi-v7a", "arm64-v8a" -// } -// /*绂佹浣跨敤java8锛屽鏋渟dk浣跨敤浜唈ava8缂栬瘧锛屼絾鏄簲鐢ㄥ眰浣跨敤浜唈ava7缂栬瘧锛屼細瀵艰嚧搴旂敤灞傛墦鍖呮棤娉曢�氳繃*/ -// compileOptions { -// sourceCompatibility JavaVersion.VERSION_1_7 -// targetCompatibility JavaVersion.VERSION_1_7 -// } -// } -// //鍦ˋndroid浠g爜鍧椾腑娣诲姞濡備笅閰嶇疆锛氾紙鍙紭鍖栨渶涓婂浘涓璽ransformClassDexBuilderForDebug鐨勬椂闂达級 -// dexOptions { -// preDexLibraries true -// maxProcessCount 8 -// } -// buildTypes { -// debug { -// minifyEnabled false -// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' -// } -// } -// productFlavors { -// } -//} -// -// -//dependencies { -// /*钀ょ煶SDK鏍稿績妯″潡锛屽繀椤�*/ -//// api project(path: ':ezviz-sdk') -// api 'com.ezviz.sdk:ezviz-sdk:4.16.1' -// -// /*瑙嗛閫氳瘽妯″潡锛屾寜闇�浣跨敤*/ -//// api project(path: ':videotalk') -// api 'com.ezviz.sdk:videotalk:1.2.0' -// -// /*瑙嗛閫氳瘽妯″潡锛屾寜闇�浣跨敤*/ -//// api project(path: ':streamctrl') -// api 'com.ezviz.sdk:streamctrl:1.2.0' -// -// /*钀ょ煶鏍稿績妯″潡鐨勪笁鏂逛緷璧�*/ -//// implementation 'javax.jmdns:jmdns:3.4.1' -// implementation 'com.google.code.gson:gson:2.8.0' -// api 'com.squareup.okhttp3:okhttp:3.12.1' -// -// /*demo鐨勪緷璧栭」*/ -// api project(path: ':app-common') -// implementation fileTree(include: ['*.jar'], dir: 'libs') -// implementation 'com.android.support.constraint:constraint-layout:1.1.3' -//} -// -////repositories { -//// maven { url 'https://dl.bintray.com/open-ezviz/mobile-sdk'} -////} - +}*/ diff --git a/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml b/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml deleted file mode 100755 index d1923e3..0000000 --- a/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml +++ /dev/null @@ -1,7 +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.sdk"> - <application/> - -</manifest> \ No newline at end of file diff --git a/HDLSDK/hdl-common/build.gradle b/HDLSDK/hdl-common/build.gradle index f054e96..d49bcfe 100644 --- a/HDLSDK/hdl-common/build.gradle +++ b/HDLSDK/hdl-common/build.gradle @@ -1,8 +1,9 @@ plugins { - id 'com.android.library' +// id 'com.android.library' + id 'java-library' } -android { +/*android { compileSdkVersion rootProject.compileSdkVersion defaultConfig { @@ -25,10 +26,13 @@ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } +}*/ +java { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } 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.google.code.gson:gson:2.8.8' + implementation files('libs\\gson-2.8.8.jar') } \ No newline at end of file diff --git a/HDLSDK/hdl-common/libs/gson-2.8.8.jar b/HDLSDK/hdl-common/libs/gson-2.8.8.jar new file mode 100644 index 0000000..4707d40 --- /dev/null +++ b/HDLSDK/hdl-common/libs/gson-2.8.8.jar Binary files differ diff --git a/HDLSDK/hdl-common/src/main/AndroidManifest.xml b/HDLSDK/hdl-common/src/main/AndroidManifest.xml deleted file mode 100644 index ea4c4f9..0000000 --- a/HDLSDK/hdl-common/src/main/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.hdl.sdk.common"> - -</manifest> \ No newline at end of file diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java index de346dd..b9a3bee 100644 --- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java +++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java @@ -1,15 +1,14 @@ package com.hdl.sdk.common; -import android.content.Context; - import com.hdl.sdk.common.utils.LogUtils; /** * Created by Tong on 2021/9/28. + * Modify by panlili on 5/7/22 */ public class HDLSdk { - private Context context; +// private Context context; /** * 鑾峰彇褰撳墠鐗堟湰 @@ -32,14 +31,14 @@ return SingletonInstance.INSTANCE; } - public void init(Context context) { +/* public void init(Context context) { this.context = context.getApplicationContext(); LogUtils.i("Version:" + version); - } + }*/ - public Context getContext() { - return context; - } +// public Context getContext() { +// return context; +// } /** * 璁剧疆鎵撳嵃鏄惁寮�鍚� 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..a80f45f 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,14 +1,12 @@ package com.hdl.sdk.common.event; -import androidx.annotation.NonNull; -import androidx.collection.ArrayMap; - - import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.concurrent.ExecutorService; @@ -21,9 +19,9 @@ private static final List<EventListener> ALL_TOPICS_EVENT = new ArrayList<>();//鎵�鏈変富棰樻秷鎭� - private static final ArrayMap<Object, List<EventListener>> EVENT = new ArrayMap<>(); + private static final Map<Object, List<EventListener>> EVENT = new HashMap<>(); - private static final ArrayMap<EventListener, Integer> TYPE = new ArrayMap<>(); + private static final Map<EventListener, Integer> TYPE = new HashMap<>(); private static final int MAIN_TYPE = 0; private static final int IO_TYPE = 1; @@ -62,7 +60,7 @@ } } - public void registerIo(Object tag, EventListener listener) { + public void registerIo(Object tag, EventListener listener) { synchronized (this) { LogUtils.i("娉ㄥ唽涓婚锛�" + tag); if (tag == null) return; @@ -82,7 +80,7 @@ } } - public void remove(Object tag) { + public void remove(Object tag) { synchronized (this) { if (tag == null) { return; @@ -105,7 +103,7 @@ } } - public void remove(Object tag, EventListener listener) { + public void remove(Object tag, EventListener listener) { synchronized (this) { try { if (tag == null || listener == null) { @@ -125,7 +123,7 @@ } } - public synchronized void post(Object tag, @NonNull Object o) { + public synchronized void post(Object tag, Object o) { if (tag == null) { LogUtils.i("post tag涓虹┖"); return; @@ -139,7 +137,8 @@ if (listener == null) { continue; } - ThreadToolUtils.getInstance().runOnUiThread(new Runnable() { + + ThreadToolUtils.getInstance().runOnUiThread(new Runnable() { @Override public void run() { try { @@ -173,17 +172,18 @@ }); } } - }catch (Exception e){ + } catch (Exception e) { LogUtils.e("post寮傚父2锛�" + e.getMessage()); } } /** * 娉ㄥ唽鎵�鏈変富棰樻秷鎭殑鐩戝惉 + * * @param listener */ public synchronized void registerAllTopicsListener(EventListener listener) { - if(listener==null){ + if (listener == null) { return; } try { @@ -191,13 +191,14 @@ ALL_TOPICS_EVENT.add(listener); } TYPE.put(listener, MAIN_TYPE); - }catch (Exception e){ + } catch (Exception e) { LogUtils.e("registerAllTopicsListener锛�" + e.getMessage()); } } /** * 鍙栨秷鎵�鏈変富棰樻秷鎭殑鐩戝惉 + * * @param listener */ public synchronized void removeAllTopicsListener(EventListener listener) { @@ -206,7 +207,7 @@ @Override public void run() { try { - if(listener==null){ + if (listener == null) { return; } if (ALL_TOPICS_EVENT != null && !ALL_TOPICS_EVENT.isEmpty()) { 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..a8fd194 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,7 +1,5 @@ package com.hdl.sdk.common.exception; -import androidx.annotation.NonNull; - /** * Created by Tong on 2021/11/11. */ @@ -39,8 +37,7 @@ this.code = code; } - public @NonNull - String getMsg() { + public String getMsg() { return msg; } diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java index 97620f2..1c492fb 100644 --- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java +++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/IpUtils.java @@ -1,8 +1,8 @@ package com.hdl.sdk.common.utils; -import android.content.Context; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; +//import android.content.Context; +//import android.net.wifi.WifiInfo; +//import android.net.wifi.WifiManager; import java.net.InetAddress; import java.net.InterfaceAddress; @@ -19,21 +19,6 @@ * @return 骞挎挱鍦板潃 */ public static String getBroadcastAddress() { -// try { -// for (Enumeration<NetworkInterface> niEnum = NetworkInterface.getNetworkInterfaces(); -// niEnum.hasMoreElements(); ) { -// NetworkInterface ni = niEnum.nextElement(); -// if (!ni.isLoopback()) { -// for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) { -// if (interfaceAddress.getBroadcast() != null) { -// return interfaceAddress.getBroadcast().toString().substring(1); -// } -// } -// } -// } -// } catch (SocketException e) { -// e.printStackTrace(); -// } return "255.255.255.255"; } @@ -54,7 +39,7 @@ return false; } - public static String getIP(Context application) { + /*public static String getIP(Context application) { WifiManager wifiManager = (WifiManager) application.getApplicationContext().getSystemService(Context.WIFI_SERVICE); if (!wifiManager.isWifiEnabled()) { try { @@ -77,7 +62,7 @@ } return null; } - +*/ private static String intToIp(int i) { diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/LogUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/LogUtils.java index 46b1d5d..8f7945d 100644 --- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/LogUtils.java +++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/LogUtils.java @@ -1,7 +1,5 @@ package com.hdl.sdk.common.utils; -import android.util.Log; - /** * Created by Tong on 2021/9/23. */ @@ -21,43 +19,43 @@ public static void d(String tag, String msg) { if (tag != null && msg != null && isEnabled) { - Log.d(TAG, tag + "-- " + msg); + System.out.println(tag + "-- " + msg); } } public static void e(String tag, String msg) { if (tag != null && msg != null && isEnabled) { - Log.e(TAG, tag + "-- " + msg); + System.out.println(tag + "-- " + msg); } } public static void w(String tag, String msg) { if (tag != null && msg != null && isEnabled) { - Log.w(TAG, tag + "-- " + msg); + System.out.println(tag + "-- " + msg); } } public static void v(String tag, String msg) { if (tag != null && msg != null && isEnabled) { - Log.v(TAG, tag + "-- " + msg); + System.out.println(tag + "-- " + msg); } } public static void i(String tag, String msg) { if (tag != null && msg != null && isEnabled) { - Log.i(TAG, tag + "-- " + msg); + System.out.println(tag + "-- " + msg); } } public static void i(String msg) { if (msg != null && isEnabled) { - Log.i(TAG, msg); + System.out.println(msg); } } public static void e(String msg) { if (msg != null && isEnabled) { - Log.e(TAG, msg); + System.out.println(msg); } } } 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 deleted file mode 100644 index bbdd808..0000000 --- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/SPUtils.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.hdl.sdk.common.utils; - -import android.content.Context; -import android.content.SharedPreferences; - -import androidx.annotation.NonNull; - -import com.hdl.sdk.common.HDLSdk; - - -import java.util.Collections; -import java.util.Map; -import java.util.Set; - -/** - * Created by Tong on 2021/9/28. - */ -public class SPUtils { - private static final String APP_PREFERENCES_KEY = "profile"; - private static final SharedPreferences PREFERENCES = - HDLSdk.getInstance().getContext().getApplicationContext().getSharedPreferences(APP_PREFERENCES_KEY, Context.MODE_PRIVATE); - - private static SharedPreferences getAppPreference() { - return PREFERENCES; - } - - - //======閫氱敤瀛樺偍======== - public static void put(@NonNull final String key, final String value) { - getAppPreference().edit().putString(key, value).apply(); - } - - - public static String getString(@NonNull final String key) { - return getString(key, ""); - } - - - public static String getString(@NonNull final String key, final String defaultValue) { - return getAppPreference().getString(key, defaultValue); - } - - - public static void put(@NonNull final String key, final int value) { - put(key, value, false); - } - - - public static void put(@NonNull final String key, final int value, final boolean isCommit) { - getAppPreference().edit().putInt(key, value).apply(); - } - - - public static int getInt(@NonNull final String key) { - return getInt(key, -1); - } - - - public static int getInt(@NonNull final String key, final int defaultValue) { - return getAppPreference().getInt(key, defaultValue); - } - - - public static void put(@NonNull final String key, final long value) { - getAppPreference().edit().putLong(key, value).apply(); - } - - - public static long getLong(@NonNull final String key) { - return getLong(key, -1L); - } - - - public static long getLong(@NonNull final String key, final long defaultValue) { - return getAppPreference().getLong(key, defaultValue); - } - - - public static void put(@NonNull final String key, final float value) { - getAppPreference().edit().putFloat(key, value).apply(); - } - - - public static float getFloat(@NonNull final String key) { - return getFloat(key, -1f); - } - - - public static float getFloat(@NonNull final String key, final float defaultValue) { - return getAppPreference().getFloat(key, defaultValue); - } - - - public static void put(@NonNull final String key, final boolean value) { - getAppPreference().edit().putBoolean(key, value).apply(); - } - - - public static boolean getBoolean(@NonNull final String key) { - return getBoolean(key, false); - } - - - public static boolean getBoolean(@NonNull final String key, final boolean defaultValue) { - return getAppPreference().getBoolean(key, defaultValue); - } - - - public static void put(@NonNull final String key, - final Set<String> value - ) { - - getAppPreference().edit().putStringSet(key, value).apply(); - - } - - - public static Set<String> getStringSet(@NonNull final String key) { - return getStringSet(key, Collections.<String>emptySet()); - } - - - public static Set<String> getStringSet(@NonNull final String key, - final Set<String> defaultValue) { - return getAppPreference().getStringSet(key, defaultValue); - } - - - public static Map<String, ?> getAll() { - return getAppPreference().getAll(); - } - - - public static boolean contains(@NonNull final String key) { - return getAppPreference().contains(key); - } - - - public static void remove(@NonNull final String key) { - getAppPreference().edit().remove(key).apply(); - } - - public static void clear() { - getAppPreference() - .edit() - .clear() - .apply(); - } - - -} diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/TextUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/TextUtils.java new file mode 100644 index 0000000..aec0aa0 --- /dev/null +++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/TextUtils.java @@ -0,0 +1,9 @@ +package com.hdl.sdk.common.utils; + +public class TextUtils { + + public static boolean isEmpty(CharSequence str) { + return str == null || str.length() == 0; + } + +} diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java index 5e7cead..6a28c1e 100644 --- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java +++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java @@ -1,8 +1,5 @@ package com.hdl.sdk.common.utils; -import android.os.Handler; -import android.os.Looper; - import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -12,16 +9,13 @@ */ public class ThreadToolUtils { - private final Handler uiHandler = new Handler(Looper.getMainLooper()); +// private final Handler uiHandler = new Handler(Looper.getMainLooper()); //cpu 鏈�澶х嚎绋嬪绾抽噺 private final int coreSize = Runtime.getRuntime().availableProcessors() + 1; private ThreadToolUtils() { } - -// private static class SingletonInstance { -// } private static final ThreadToolUtils instance = new ThreadToolUtils(); @@ -65,9 +59,10 @@ /** * 鍒囨崲鍥炰富绾跨▼ */ - public void runOnUiThread(Runnable run) { - uiHandler.post(run); - } - + public void runOnUiThread(Runnable run) { +// uiHandler.post(run); + Thread thread = new Thread(run); + thread.start(); + } } 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..e15a526 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,8 +1,5 @@ package com.hdl.sdk.common.utils.gson; - -import androidx.annotation.NonNull; - import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -25,14 +22,12 @@ return new ParameterizedTypeImpl(rawType, actualTypeArguments, null); } - @NonNull @Override public Type[] getActualTypeArguments() { return actualTypeArguments; } - @NonNull @Override public Type getRawType() { return rawType; diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle index 79e077a..5917d64 100644 --- a/HDLSDK/hdl-connect/build.gradle +++ b/HDLSDK/hdl-connect/build.gradle @@ -1,8 +1,9 @@ plugins { - id 'com.android.library' +// id 'com.android.library' + id 'java-library' } -android { +/*android { compileSdkVersion rootProject.compileSdkVersion defaultConfig { @@ -25,10 +26,14 @@ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } +}*/ +java { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } dependencies { api project(path: ':hdl-socket') - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'com.google.android.material:material:1.3.0' + implementation files('libs\\commons-lang3-3.12.0.jar') + implementation files('libs\\gson-2.8.8.jar') } diff --git a/HDLSDK/hdl-connect/libs/commons-lang3-3.12.0.jar b/HDLSDK/hdl-connect/libs/commons-lang3-3.12.0.jar new file mode 100644 index 0000000..4d434a2 --- /dev/null +++ b/HDLSDK/hdl-connect/libs/commons-lang3-3.12.0.jar Binary files differ diff --git a/HDLSDK/hdl-connect/libs/gson-2.8.8.jar b/HDLSDK/hdl-connect/libs/gson-2.8.8.jar new file mode 100644 index 0000000..4707d40 --- /dev/null +++ b/HDLSDK/hdl-connect/libs/gson-2.8.8.jar Binary files differ diff --git a/HDLSDK/hdl-connect/src/main/AndroidManifest.xml b/HDLSDK/hdl-connect/src/main/AndroidManifest.xml deleted file mode 100644 index c3b028e..0000000 --- a/HDLSDK/hdl-connect/src/main/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.hdl.sdk.connect"> - -</manifest> \ No newline at end of file diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java index e5e993b..3130eca 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java @@ -1,7 +1,6 @@ package com.hdl.sdk.connect; import com.hdl.sdk.common.utils.LogUtils; -import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.connect.bean.request.DeviceControlRequest; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; @@ -13,7 +12,6 @@ import com.hdl.sdk.connect.socket.HDLSocket; import java.util.List; -import java.util.concurrent.TimeUnit; /** * Created by jlchen on 11/15/21. 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..e46cccb 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,10 +1,7 @@ package com.hdl.sdk.connect.bean; -import android.text.TextUtils; - -import androidx.annotation.NonNull; - import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.common.utils.ByteUtils; import com.hdl.sdk.connect.utils.AesUtil; @@ -56,7 +53,6 @@ this.length = length; } - @NonNull @Override public String toString() { return "Topic:" + 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..6846097 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,9 +1,6 @@ package com.hdl.sdk.connect.bean; -import android.text.TextUtils; - -import androidx.annotation.NonNull; - +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import java.io.Serializable; @@ -57,7 +54,6 @@ this.length = length; } - @NonNull @Override public String toString() { return GsonConvert.getGson().toJson(this); diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkCallBack.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkCallBack.java index 3a0f1c3..fd52428 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkCallBack.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/callback/HDLLinkCallBack.java @@ -1,8 +1,5 @@ package com.hdl.sdk.connect.callback; -import com.hdl.sdk.common.exception.HDLLinkException; -import com.hdl.sdk.connect.bean.LinkResponse; - /** * Created by jlchen on 11/16/21. * diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java index bfe3d60..bc00c48 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java @@ -1,24 +1,21 @@ package com.hdl.sdk.connect.config; -import android.text.TextUtils; - import com.hdl.sdk.common.config.TopicConstant; -import com.hdl.sdk.common.utils.LogUtils; -import com.hdl.sdk.common.utils.SPUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.bean.response.GatewaySearchBean; /** * Created by jlchen on 11/11/21. + * Modify by panlili on 5/7/22 * * @Description : HDLLinkConfig */ 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"; - private static final String AUTHENTICATE_IS_LS_KEY = "auth_isls_key"; + private static String AUTHENTICATE_LS_KEY = ""; + private static String AUTHENTICATE_GATEWAYID_KEY = ""; + private static String AUTHENTICATE_IPADDRESS_KEY = ""; private String localSecret;//鏈湴鍔犲瘑瀵嗛挜 private String gatewayId; @@ -30,9 +27,9 @@ /** * instance */ - private static final HDLLinkConfig instance=new HDLLinkConfig(); - private HDLLinkConfig() - { + private static final HDLLinkConfig instance = new HDLLinkConfig(); + + private HDLLinkConfig() { loadConfig(); } @@ -41,15 +38,7 @@ * * @return AuthenticateConfig */ - public static HDLLinkConfig getInstance() { -// if (instance == null) { -// synchronized (HDLLinkConfig.class) { -// if (instance == null) { -// instance = new HDLLinkConfig(); -// instance.loadConfig(); -// } -// } -// } + public static HDLLinkConfig getInstance() { return instance; } @@ -60,19 +49,15 @@ this.gatewayId = ""; this.ipAddress = ""; this.localSecret = ""; - SPUtils.remove(AUTHENTICATE_LS_KEY); - SPUtils.remove(AUTHENTICATE_GATEWAYID_KEY); - SPUtils.remove(AUTHENTICATE_IPADDRESS_KEY); - SPUtils.remove(AUTHENTICATE_IS_LS_KEY); } /** * 鍔犺浇缂撳瓨 */ void loadConfig() { - localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, ""); - gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, ""); - ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, ""); + localSecret = AUTHENTICATE_LS_KEY; + gatewayId = AUTHENTICATE_GATEWAYID_KEY; + ipAddress = AUTHENTICATE_IPADDRESS_KEY; } /** @@ -86,9 +71,9 @@ this.localSecret = localSecret; this.gatewayId = gatewayId; this.ipAddress = ipAddress; - SPUtils.put(AUTHENTICATE_LS_KEY, localSecret); - SPUtils.put(AUTHENTICATE_GATEWAYID_KEY, gatewayId); - SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress); + AUTHENTICATE_LS_KEY = localSecret; + AUTHENTICATE_GATEWAYID_KEY = gatewayId; + AUTHENTICATE_IPADDRESS_KEY = ipAddress; } /** @@ -112,7 +97,7 @@ public void setLocalSecret(String localSecret) { this.localSecret = localSecret; - SPUtils.put(AUTHENTICATE_LS_KEY, localSecret); + AUTHENTICATE_LS_KEY = localSecret; } public String getLocalSecret() { @@ -122,14 +107,16 @@ public String getGatewayId() { return gatewayId; } + public void setGatewayId(String gatewayId) { - this.gatewayId=gatewayId; + this.gatewayId = gatewayId; } public String getIpAddress() { return ipAddress; } - public void setIpAddress(String ipAddress){ + + public void setIpAddress(String ipAddress) { this.ipAddress = ipAddress; } @@ -143,7 +130,7 @@ if (!this.ipAddress.equals(this.currentGateway.getIp_address())) { //濡傛灉IP鍦板潃鏈夊彉鍖栧垯鏇存柊 this.ipAddress = this.currentGateway.getIp_address(); - SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress); + AUTHENTICATE_IPADDRESS_KEY = ipAddress; } } } 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..74fdc83 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 @@ -1,20 +1,11 @@ package com.hdl.sdk.connect.protocol; - -import android.annotation.TargetApi; -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; 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.AesUtil; -import com.hdl.sdk.connect.utils.ProtocolParse; import com.hdl.sdk.socket.codec.ByteToMessageDecoder; import java.util.ArrayList; @@ -168,11 +159,12 @@ try { //涔嬪墠鐨勭増鏈繖鍧楁槸鏄庢枃鐨� if (!topic.contains("heartbeat_reply")) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + /*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + Base64.getEncoder().encodeToString(body)); else { LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + new String(body, "utf-8")); - } + }*/ + LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + new String(body, "utf-8")); } } catch (Exception e) { } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java index 0016adc..6986188 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java @@ -1,7 +1,5 @@ package com.hdl.sdk.connect.socket; -import android.text.TextUtils; - import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; @@ -10,8 +8,8 @@ import com.hdl.sdk.common.exception.HDLLinkCode; import com.hdl.sdk.common.exception.HDLLinkException; import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; -import com.hdl.sdk.connect.HDLLink; import com.hdl.sdk.connect.bean.response.AuthenticateResponse; import com.hdl.sdk.connect.bean.response.NetworkAccessBroadcastResponse; import com.hdl.sdk.connect.callback.BaseCallBack; @@ -35,7 +33,6 @@ import com.hdl.sdk.socket.udp.UdpSocketBoot; import com.hdl.sdk.socket.udp.UdpSocketOptions; -import java.net.InetSocketAddress; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -183,6 +180,9 @@ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { + + LogUtils.i("onSucceed msg锛�" + msg); + if (callBack == null) return; try { AuthenticateResponse bean = getAuthenticateResponseBean(msg); @@ -629,6 +629,8 @@ } } }); + LogUtils.i("callBackSearchGatewayTimeout onError锛氭悳绱㈢綉鍏冲け璐ワ紝瓒呮椂"); + } 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 9eb486c..d42d619 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 @@ -1,8 +1,5 @@ package com.hdl.sdk.connect.socket; -import android.text.TextUtils; -import android.util.Log; - import com.google.gson.JsonObject; import com.hdl.sdk.common.config.TopicConstant; import com.hdl.sdk.common.event.EventDispatcher; @@ -11,6 +8,7 @@ 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.TextUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.bean.request.BroadcastRequest; @@ -32,6 +30,8 @@ import com.hdl.sdk.socket.codec.MessagePipeLine; import com.hdl.sdk.socket.listener.ConnectStatusListener; import com.hdl.sdk.socket.listener.SendListener; + +import org.apache.commons.lang3.StringEscapeUtils; import java.util.ArrayList; import java.util.List; @@ -110,7 +110,7 @@ }).start(); } -// private static class SingletonInstance { + // private static class SingletonInstance { // } private static final HDLSocket instance = new HDLSocket(); @@ -119,8 +119,9 @@ } SocketOptions options; + private SocketOptions getTcpOptions() { - if(null!=options){ + if (null != options) { return options; } options = new SocketOptions(); @@ -243,6 +244,7 @@ final BaseLocalResponse<List<FunctionAttributeRequest>> data = new BaseLocalResponse<>(); data.setId(IdUtils.getUUId()); + data.setTime_stamp(time); List<FunctionAttributeRequest> list = new ArrayList<>(); for (String s : sids) { @@ -423,13 +425,13 @@ throw new RuntimeException("璇锋悳绱㈢綉鍏�"); } //濡傛灉娌℃湁鍒濆鍖栵紝鎴栬�呯綉鍏矷P鏇存敼浜嗭紝灏遍噸鏂板垵濮嬪寲 - if (tcpBoot == null||!getTcpOptions().getIp().equals(getTcpIp())) { + if (tcpBoot == null || !getTcpOptions().getIp().equals(getTcpIp())) { tcpBoot = TcpClient.init(getTcpIp(), getTcpPort(), getTcpOptions()); tcpBoot.SetHeartbeat(new IHeartbeat() { @Override public void heartbeat() { - if(HDLLinkConfig.getInstance().getDeviceInfoBean()==null||HDLLinkConfig.getInstance().getDeviceInfoBean().getOID()==null) { + if (HDLLinkConfig.getInstance().getDeviceInfoBean() == null || HDLLinkConfig.getInstance().getDeviceInfoBean().getOID() == null) { LogUtils.i("DeviceInfoBean涓虹┖锛岄渶瑕佽缃墠鑳芥甯稿績璺�"); return; } @@ -493,8 +495,9 @@ } /** - * 鍦烘櫙鎺у埗 - * @param sids 鍦烘櫙sid鍒楄〃 + * 鍦烘櫙鎺у埗 + * + * @param sids 鍦烘櫙sid鍒楄〃 * @param callBack 鍥炶皟 */ public void controlScene(List<String> sids, HDLLinkCallBack callBack) { @@ -584,8 +587,8 @@ /** * 閫氱敤TCP鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� * - * @param topic 鍙戦�佹暟鎹� - * @param bodyStr 鍥炲鐨勪富棰� + * @param topic 鍙戦�佹暟鎹� + * @param bodyStr 鍥炲鐨勪富棰� */ public void tcpSendMsg(String topic, String bodyStr) { try { @@ -596,7 +599,7 @@ LinkRequest message = new LinkRequest(topic, bodyStr); getTcp().sendMsg(message.getSendBytes()); } catch (Exception e) { - LogUtils.e("tcpSendMsg", "鍙戦�佸け璐� :"+e.getMessage()); + LogUtils.e("tcpSendMsg", "鍙戦�佸け璐� :" + e.getMessage()); } } @@ -607,7 +610,7 @@ public void sendMsg(byte[] data, String eventTag, HDLLinkCallBack callBack, SendListener sendListener) { try { - if(eventTag!=null) { + if (eventTag != null) { final AtomicInteger sendCount = new AtomicInteger(0); final ScheduledExecutorService threadPool = ThreadToolUtils.getInstance().newScheduledThreadPool(1); @@ -615,12 +618,14 @@ @Override public void onMessage(Object msg) { if (msg instanceof LinkResponse) { - LogUtils.i("sendMsg onSuccess"); + LogUtils.i("sendMsg onSuccess" + StringEscapeUtils.unescapeJava(msg.toString())); +// LogUtils.i("sendMsg onSuccess" + msg); threadPool.shutdownNow(); LogUtils.i("sendMsg eventListener remove"); EventDispatcher.getInstance().remove(eventTag, this); if (callBack != null) { - callBack.onSuccess(msg.toString()); + callBack.onSuccess(StringEscapeUtils.unescapeJava(msg.toString())); +// callBack.onSuccess(msg.toString()); } } } @@ -644,6 +649,8 @@ } } }); + LogUtils.i("HDLSocket sendMsg onError 鍙戦�佸け璐�"); + } } }, 1000, 500, TimeUnit.MILLISECONDS); @@ -675,6 +682,8 @@ } } }); + LogUtils.i("HDLSocket sendMsg onError 鍙戦�佸け璐�"); + } } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java index abac95d..7314b78 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java @@ -1,16 +1,14 @@ package com.hdl.sdk.connect.socket; -import android.text.TextUtils; - import com.hdl.sdk.common.event.EventDispatcher; import com.hdl.sdk.common.event.EventListener; import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.connect.bean.LinkRequest; import com.hdl.sdk.socket.SocketBoot; import com.hdl.sdk.socket.udp.UdpSocketBoot; -import java.net.InetSocketAddress; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/ProtocolParse.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/ProtocolParse.java index d29c09d..792eddc 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/ProtocolParse.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/utils/ProtocolParse.java @@ -1,6 +1,6 @@ package com.hdl.sdk.connect.utils; -import android.text.TextUtils; +import com.hdl.sdk.common.utils.TextUtils; /** * Created by Tong on 2021/9/22. diff --git a/HDLSDK/hdl-socket/build.gradle b/HDLSDK/hdl-socket/build.gradle index 5c35438..908bff6 100644 --- a/HDLSDK/hdl-socket/build.gradle +++ b/HDLSDK/hdl-socket/build.gradle @@ -1,8 +1,9 @@ plugins { - id 'com.android.library' +// id 'com.android.library' + id 'java-library' } -android { +/*android { compileSdkVersion rootProject.compileSdkVersion defaultConfig { @@ -26,6 +27,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } +}*/ +java { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } dependencies { 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..0965fc7 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,29 +1,18 @@ package com.hdl.sdk.socket; -import android.text.TextUtils; -import android.util.Log; - -import androidx.collection.ArrayMap; - -import com.google.gson.JsonObject; -import com.hdl.sdk.common.config.TopicConstant; -import com.hdl.sdk.common.utils.IdUtils; import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.socket.annotation.ConnectStatus; import com.hdl.sdk.socket.client.IClient; import com.hdl.sdk.socket.client.IHeartbeat; import com.hdl.sdk.socket.listener.SendListener; -import java.net.ConnectException; -import java.util.Date; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; /** * Created by Tong on 2021/9/26. @@ -57,7 +46,7 @@ private final BlockingQueue<SocketRequest> mMessageQueue = new LinkedBlockingDeque<>(); - private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>(); + private final Map<String, SendListener> sendMap = new HashMap<>(); public SocketBoot(IClient client) { this.client = client; 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..6bdd529 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,31 +1,22 @@ package com.hdl.sdk.socket.annotation; -import androidx.annotation.IntDef; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Target; - /** * Created by Tong on 2021/9/22. */ -@Target({ElementType.TYPE_PARAMETER, ElementType.PARAMETER}) -@IntDef({ConnectStatus.CONNECTING, - ConnectStatus.CONNECTED, - ConnectStatus.DISCONNECT}) -public @interface ConnectStatus { +public class ConnectStatus { /** * 杩炴帴涓� */ - int CONNECTING = 0; + public static int CONNECTING = 0; /** * 杩炴帴鎴愬姛 */ - int CONNECTED = 1; + public static int CONNECTED = 1; /** * 杩炴帴鍏抽棴 */ - int DISCONNECT = 2; + public static int DISCONNECT = 2; } diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java index 5ff1097..b4a7d3c 100644 --- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java +++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/TcpClient.java @@ -1,8 +1,5 @@ package com.hdl.sdk.socket.client; - - -import com.hdl.sdk.common.utils.ByteUtils; import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.socket.SocketBoot; @@ -39,21 +36,21 @@ /** * 浠庤繛鎺ユ睜涓壘鍑哄綋鍓岻P鍙婄鍙g殑杩炴帴瀹㈡埛绔� + * * @param ipAdderss 杩炴帴IP鍦板潃 - * @param port 杩炴帴绔彛 + * @param port 杩炴帴绔彛 * @return */ - public static TcpClient getTcpClientByIP(String ipAdderss,int port) { - for(TcpClient tcpClient:tcpClientList){ - if(tcpClient.ip.equals(ipAdderss)&&tcpClient.port==port) - { + public static TcpClient getTcpClientByIP(String ipAdderss, int port) { + for (TcpClient tcpClient : tcpClientList) { + if (tcpClient.ip.equals(ipAdderss) && tcpClient.port == port) { return tcpClient; } } - return null; + return null; } - private byte[] readBuffer = new byte[4*1024]; + private byte[] readBuffer = new byte[4 * 1024]; private TcpClient(String ip, int port, SocketOptions socketOptions) { this.socketOptions = socketOptions; @@ -83,8 +80,6 @@ } - - @Override public void disconnect() { if (mSocket != null) { @@ -108,18 +103,18 @@ public void onHandleResponse() throws Exception { final InputStream stream = getInputStream(); if (stream != null && getOptions() != null) { - while ( true) { - int len=getInputStream().read(readBuffer); - if(len<=0){ - throw new Exception("鎺ユ敹寮傚父锛屾帴鏀舵暟鎹暱搴en="+len); + while (true) { + int len = getInputStream().read(readBuffer); + if (len <= 0) { + throw new Exception("鎺ユ敹寮傚父锛屾帴鏀舵暟鎹暱搴en=" + len); } IHandleMessage handleMessage = getOptions().getHandleMessage(); if (handleMessage != null) { - byte []bytes = new byte[len]; - System.arraycopy(readBuffer,0,bytes,0,len); + byte[] bytes = new byte[len]; + System.arraycopy(readBuffer, 0, bytes, 0, len); //瀹屾暣鐨勬暟鎹墠鍥炶皟 - handleMessage.read(bytes,ip); + handleMessage.read(bytes, ip); } } } @@ -129,10 +124,10 @@ public void sendMsg(byte[] msg) throws Exception { final OutputStream outputStream = getOutStream(); if (outputStream != null && getOptions() != null) { - IHandleMessage handleMessage = getOptions().getHandleMessage(); - handleMessage.write(handleMessage.write(msg)); - outputStream.write(msg); - outputStream.flush(); + IHandleMessage handleMessage = getOptions().getHandleMessage(); + handleMessage.write(handleMessage.write(msg)); + outputStream.write(msg); + outputStream.flush(); } } @@ -141,6 +136,7 @@ * 澶勭悊杩炴帴鐘舵�� */ public void onConnectStatus(int status) { + ThreadToolUtils.getInstance().runOnUiThread(new Runnable() { @Override public void run() { @@ -148,16 +144,13 @@ if (list != null && !list.isEmpty()) { for (ConnectStatusListener listener : list) { switch (status) { - case ConnectStatus - .CONNECTING: + case 0: listener.onConnecting(); break; - case ConnectStatus - .CONNECTED: + case 1: listener.onConnected(); break; - case ConnectStatus - .DISCONNECT: + case 2: listener.onConnectFailed(); break; } @@ -165,6 +158,9 @@ } } }); + + LogUtils.i("TcpClient onConnectStatus status:" + status); + } diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java index 07d368d..6fdaabb 100644 --- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java +++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java @@ -1,10 +1,8 @@ package com.hdl.sdk.socket.client; - -import android.text.TextUtils; - import com.hdl.sdk.common.utils.IpUtils; import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.socket.SocketBoot; import com.hdl.sdk.socket.SocketOptions; import com.hdl.sdk.socket.SocketPool; 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..5316f88 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,26 +1,15 @@ package com.hdl.sdk.socket.udp; -import android.text.TextUtils; - -import androidx.collection.ArrayMap; - import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.common.utils.TextUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.socket.SocketRequest; -import com.hdl.sdk.socket.annotation.ConnectStatus; -import com.hdl.sdk.socket.client.IClient; import com.hdl.sdk.socket.client.IUdpClient; import com.hdl.sdk.socket.listener.SendListener; -import java.net.ConnectException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.SocketAddress; -import java.util.concurrent.BlockingQueue; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -37,7 +26,7 @@ private ExecutorService receiveThread; - private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>(); + private final Map<String, SendListener> sendMap = new HashMap<>(); public UdpSocketBoot(IUdpClient client) { this.client = client; diff --git a/HDLSDK/settings.gradle b/HDLSDK/settings.gradle index fc35c16..45786a8 100644 --- a/HDLSDK/settings.gradle +++ b/HDLSDK/settings.gradle @@ -4,3 +4,4 @@ include ':hdl-connect' include ':hdl-common' include ':com.hdl.sdk' +include ':hdl-test' diff --git a/HDLSDK_DEMO/.idea/compiler.xml b/HDLSDK_DEMO/.idea/compiler.xml index 245a82c..7d7ec2e 100644 --- a/HDLSDK_DEMO/.idea/compiler.xml +++ b/HDLSDK_DEMO/.idea/compiler.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="CompilerConfiguration"> - <bytecodeTargetLevel target="1.8" /> + <bytecodeTargetLevel target="11" /> </component> </project> \ No newline at end of file diff --git a/HDLSDK_DEMO/.idea/gradle.xml b/HDLSDK_DEMO/.idea/gradle.xml index 7e69409..3123843 100644 --- a/HDLSDK_DEMO/.idea/gradle.xml +++ b/HDLSDK_DEMO/.idea/gradle.xml @@ -4,7 +4,7 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> - <option name="testRunner" value="PLATFORM" /> + <option name="testRunner" value="GRADLE" /> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="modules"> @@ -17,7 +17,6 @@ </set> </option> <option name="resolveModulePerSourceSet" value="false" /> - <option name="useQualifiedModuleNames" value="true" /> </GradleProjectSettings> </option> </component> diff --git a/HDLSDK_DEMO/.idea/misc.xml b/HDLSDK_DEMO/.idea/misc.xml index 3bdd701..aa7c0fe 100644 --- a/HDLSDK_DEMO/.idea/misc.xml +++ b/HDLSDK_DEMO/.idea/misc.xml @@ -3,12 +3,16 @@ <component name="DesignSurface"> <option name="filePathToZoomLevelMap"> <map> + <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml" value="0.3494791666666667" /> + <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml" value="0.3536458333333333" /> + <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/demo_item.xml" value="0.3494791666666667" /> + <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/item_devices_list.xml" value="0.3494791666666667" /> <entry key="..\:/job/me/Android/HDLSDK/app/src/main/res/layout/activity_main.xml" value="0.1" /> <entry key="..\:/job/me/Android/HDLSDK/app/src/main/res/layout/demo_item.xml" value="0.28958333333333336" /> </map> </option> </component> - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/HDLSDK_DEMO/app/build.gradle b/HDLSDK_DEMO/app/build.gradle index c4991de..cd98e6d 100644 --- a/HDLSDK_DEMO/app/build.gradle +++ b/HDLSDK_DEMO/app/build.gradle @@ -32,12 +32,17 @@ implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' + implementation files('libs\\hdl-common.jar') + implementation files('libs\\hdl-connect.jar') + implementation files('libs\\hdl-socket.jar') + implementation files('libs\\commons-lang3-3.12.0.jar') + implementation files('libs\\gson-2.8.8.jar') 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 'com.google.code.gson:gson:2.8.8' +// implementation 'com.google.code.gson:gson:2.8.8' // implementation project(path: ':hdl-connect') } \ No newline at end of file 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 diff --git a/HDLSDK_DEMO/app/libs/commons-lang3-3.12.0.jar b/HDLSDK_DEMO/app/libs/commons-lang3-3.12.0.jar new file mode 100644 index 0000000..4d434a2 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/commons-lang3-3.12.0.jar Binary files differ diff --git a/HDLSDK_DEMO/app/libs/gson-2.8.8.jar b/HDLSDK_DEMO/app/libs/gson-2.8.8.jar new file mode 100644 index 0000000..4707d40 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/gson-2.8.8.jar Binary files differ diff --git a/HDLSDK_DEMO/app/libs/hdl-common.jar b/HDLSDK_DEMO/app/libs/hdl-common.jar new file mode 100644 index 0000000..d010675 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/hdl-common.jar Binary files differ diff --git a/HDLSDK_DEMO/app/libs/hdl-connect.jar b/HDLSDK_DEMO/app/libs/hdl-connect.jar new file mode 100644 index 0000000..1841d83 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/hdl-connect.jar Binary files differ diff --git a/HDLSDK_DEMO/app/libs/hdl-socket.jar b/HDLSDK_DEMO/app/libs/hdl-socket.jar new file mode 100644 index 0000000..788478b --- /dev/null +++ b/HDLSDK_DEMO/app/libs/hdl-socket.jar Binary files differ diff --git a/HDLSDK_DEMO/app/src/main/AndroidManifest.xml b/HDLSDK_DEMO/app/src/main/AndroidManifest.xml index 964acd6..8d37dcb 100644 --- a/HDLSDK_DEMO/app/src/main/AndroidManifest.xml +++ b/HDLSDK_DEMO/app/src/main/AndroidManifest.xml @@ -12,14 +12,12 @@ <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"> diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/App.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/App.java deleted file mode 100644 index 2935d87..0000000 --- a/HDLSDK_DEMO/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_DEMO/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java index 2ebf4dd..ee481fd 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/DemoAdapter.java @@ -4,7 +4,6 @@ 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; @@ -16,7 +15,7 @@ public DemoAdapter(@Nullable List<DemoBean> data) { super(data); - addItemType(0, R.layout.demo_item); + addItemType(0,R.layout.demo_item); } @Override diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java index 39c7c97..862e9fe 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -4,12 +4,13 @@ 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; @@ -19,32 +20,22 @@ 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.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.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.io.UnsupportedEncodingException; import java.security.MessageDigest; @@ -52,8 +43,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; - -import static com.hdl.sdk.common.config.TopicConstant.GATEWAY_SEARCH_REPLY; public class MainActivity extends AppCompatActivity { @@ -64,7 +53,7 @@ private TextView responseTv; boolean isOn; private EventListener allTopicsListener; - private String testLightSid = "0001010D48C71B02020100010101"; + private String testLightSid = "1493092497588469761"; @Override protected void onDestroy() { @@ -72,86 +61,26 @@ removeAllTopicsListener(); } - 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.88.1"); - infoBean.setIPAddress("192.168.88.153"); - 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 init() { + HDLLinkConfig.getInstance().setLocalSecret("e186beeb7974998e"); + HDLLinkConfig.getInstance().setGatewayId("1519863101509361666"); +// HDLLinkConfig.getInstance().setLocalEncrypt(true); } - /** - * 鍏ョ綉璁よ瘉 - */ - 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()); - } - }); - } - - + @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();//鍒濆鍖� + initDeviceInfo();//鍒濆鍖栧熀鏈俊鎭紝闈炲父閲嶈锛岃璇佹椂瑕佺敤 registerAllTopicsListener(); ActivityResultLauncher<String[]> launcher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() { @@ -225,7 +154,7 @@ break; case 8: //鍔熻兘鍒楄〃 - startDevicesListActivity(); +// startDevicesListActivity(); break; case 9: //UDP鍙戦�� @@ -271,6 +200,7 @@ @Override public void onMessage(Object msg) { LinkResponse response = (LinkResponse) msg; + handleLinkResponse(response); } }; HDLLink.getInstance().registerAllTopicsListener(allTopicsListener); @@ -319,7 +249,82 @@ HDLLink.getInstance().removeAllTopicsListener(allTopicsListener); } + void initDeviceInfo() { + AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean(); +// infoBean.setDeviceMAC("AA00000000000100"); +// infoBean.setIPMAC("AA00000000000100"); + infoBean.setDeviceMAC("BB000000000000BF"); + infoBean.setIPMAC("BB000000000000BF"); + infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧 + infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿 + infoBean.setAccessMode("WIFI"); +// infoBean.setIPGateway("192.168.1.1"); +// infoBean.setIPAddress("192.168.1.116"); + + infoBean.setIPGateway("192.168.3.1"); + infoBean.setIPAddress("192.168.3.126"); + infoBean.setGateway_type("music.standard"); + infoBean.setHw_version("HW2.0"); + infoBean.setFw_version("Fw1.0"); +// infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍� +// infoBean.setSid("110105000000FE08110100000011");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� + + infoBean.setOID("010105010101FE07");//姣忎釜璁惧oid閮借涓嶄竴鏍� + infoBean.setSid("010105010101FE02020100040101");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� + HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); + } + + /** + * 鍏ョ綉璁よ瘉 + */ + void sendAuthenticateRequest() { + tv.setText("寮�濮嬪叆缃戣璇�..."); + //璁よ瘉鎻愪氦鍙傛暟鍑嗗 + +// 娴嬭瘯鏈嶅姟 + String spkStr = "ir.module";//浜у搧spk + String macStr = "BB000000000000BF";//璁惧鍞竴MAC鍦板潃 + String secret = "d70f8872ddd6fe6a";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret + +// 姝e紡鏈嶅姟鍣� +// String spkStr = "screen.mirror";//浜у搧spk +// String macStr = "AA00000000000100";//璁惧鍞竴MAC鍦板潃 +// String secret = "e186beeb7974998e";//閫氳繃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: 璁よ瘉澶辫触" + e.getMsg()); + } + + @Override + public void onSuccess(String msg) { +// tv.setText("璁よ瘉鎴愬姛"); +// responseTv.setText(msg.toString()); + Log.i("TAG", "onSuccess: 璁よ瘉鎴愬姛" + msg.toString()); + } + }); + } String stringToMD5(String text) { byte[] hash; @@ -352,15 +357,16 @@ HDLLink.getInstance().searchGatewayBroadcast(new HDLAuthSocket.SearchGatewayCallBack() { @Override public void onError(HDLLinkException e) { - tv.setText("缃戝叧涓嶅湪绾�"); - responseTv.setText(e.getMsg()); +// tv.setText("缃戝叧涓嶅湪绾�"); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "缃戝叧涓嶅湪绾�" + e.getMsg()); } @Override public void onSuccess(GatewaySearchBean gatewaySearchBean) { - tv.setText("缃戝叧鍦ㄧ嚎"); - responseTv.setText("鎼滅储鎴愬姛 缃戝叧id锛�" + gatewaySearchBean.getGatewayId()); -// LogUtils.i("TAG", "onSuccess: 鎼滅储鎴愬姛锛�"+gatewaySearchBean.getGatewayId()); +// tv.setText("缃戝叧鍦ㄧ嚎"); +// responseTv.setText("鎼滅储鎴愬姛 缃戝叧id锛�" + gatewaySearchBean.getGatewayId()); + Log.i("TAG", "onSuccess: 鎼滅储鎴愬姛锛�"+gatewaySearchBean.getGatewayId()); } }); } @@ -374,13 +380,15 @@ HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() { @Override public void onError(HDLLinkException error) { - tv.setText(error.getMsg()); +// tv.setText(error.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍔熻兘鍒楄〃澶辫触" + error.getMsg()); } @Override public void onSuccess(String data) { - tv.setText("鑾峰彇鍔熻兘鍒楄〃鎴愬姛"); - responseTv.setText(data); +// tv.setText("鑾峰彇鍔熻兘鍒楄〃鎴愬姛"); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 鑾峰彇鍔熻兘鍒楄〃鎴愬姛" + data.toString()); } }); } @@ -396,12 +404,14 @@ HDLLink.getInstance().getFunctionAttribute(sids, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鍔熻兘灞炴�ц鍙栨垚鍔�" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍔熻兘鍒楄〃澶辫触" + e.getMsg()); } }); } @@ -417,20 +427,22 @@ HDLLink.getInstance().propertyRead(list, new HDLLinkCallBack() { @Override public void onSuccess(String data) { - tv.setText("璇诲彇鎴愬姛"); - responseTv.setText(data); +// tv.setText("璇诲彇鎴愬姛"); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 璇诲彇璁惧鐘舵�佹垚鍔�" + data.toString()); } @Override public void onError(HDLLinkException e) { - tv.setText("璇诲彇澶辫触"); - responseTv.setText(e.getMsg()); +// tv.setText("璇诲彇澶辫触"); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 璇诲彇璁惧鐘舵�佸け璐�" + e.getMsg()); } }); } /** - * 鎺у埗澶辫触 + * 鎺у埗璁惧 * 鍥炲鍝嶅簲code涓�200 浠h〃鎵ц鎴愬姛 */ void controlDecide() { @@ -449,12 +461,14 @@ HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() { @Override public void onSuccess(String data) { - responseTv.setText(data); +// responseTv.setText(data); + Log.i("TAG", "onSuccess 鎺у埗璁惧鎴愬姛" + data.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鎺у埗璁惧澶辫触" + e.getMsg()); } }); } @@ -467,12 +481,14 @@ HDLLink.getInstance().getSceneList(new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鑾峰彇鍦烘櫙鍒楄〃鎴愬姛" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鑾峰彇鍦烘櫙鍒楄〃澶辫触" + e.getMsg()); } }); } @@ -497,21 +513,23 @@ HDLLink.getInstance().controlScene(sids, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - responseTv.setText(msg); +// responseTv.setText(msg); + Log.i("TAG", "onSuccess 鍦烘櫙鎺у埗鎴愬姛" + msg.toString()); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError 鍦烘櫙鎺у埗澶辫触" + e.getMsg()); } }); } - void startDevicesListActivity() { +/* void startDevicesListActivity() { Intent intent = new Intent(this, DevicesListActivity.class); startActivity(intent); - } + }*/ /** * TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙� @@ -565,13 +583,14 @@ HDLLink.getInstance().udpSendMsg(propertyDownTopic, bodyStr, new HDLLinkResponseCallBack() { @Override public void onSuccess(LinkResponse msg) { - Log.i("udpSendWithCallback", "udpSendWithCallback"); - responseTv.setText(GsonConvert.getGson().toJson(msg)); + Log.i("TAG", "onSuccess UDP鍙戦�佹垚鍔�" + GsonConvert.getGson().toJson(msg)); +// responseTv.setText(GsonConvert.getGson().toJson(msg)); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError UDP鍙戦�佸け璐�" + e.getMsg()); } }); } @@ -586,13 +605,14 @@ HDLLink.getInstance().tcpSendMsg(propertyDownTopic, bodyStr, new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - Log.i("tcpSendWithCallback", "tcpSendWithCallback"); - responseTv.setText(msg); + Log.i("TAG", "onSuccess TCP鍙戦�佹垚鍔�" + msg); +// responseTv.setText(msg); } @Override public void onError(HDLLinkException e) { - responseTv.setText(e.getMsg()); +// responseTv.setText(e.getMsg()); + Log.i("TAG", "onError TCP鍙戦�佸け璐�"); } }); } diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java deleted file mode 100644 index c53f88c..0000000 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java +++ /dev/null @@ -1,86 +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.R; -import com.hdl.sdk.common.exception.HDLLinkException; -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.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_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java deleted file mode 100644 index d352b7c..0000000 --- a/HDLSDK_DEMO/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_DEMO/app/src/main/java/com/hdl/hdlsdk/device/FunctionBean.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/FunctionBean.java deleted file mode 100644 index 232b657..0000000 --- a/HDLSDK_DEMO/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; - } - } - -} -- Gitblit v1.8.0