From b77dc026ffd21dba8652d28409c51e27d3e5a76c Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期四, 31 八月 2023 09:21:06 +0800 Subject: [PATCH] 更新sdk --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java | 17 ++ HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 54 ++++++++++ HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 26 +++++ HDLSDK/app/src/main/res/layout/activity_main.xml | 8 + HDLSDK/hdl-connect/build.gradle | 4 HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml | 8 + HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/event/DeleteNetworkListener.java | 11 ++ HDLSDK_DEMO.rar | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 21 ++++ HDLSDK/com.hdl.sdk/build.gradle | 4 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 2 HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/BaseLocalCodeResponse.java | 47 +++++++++ HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/DeviceInfoResponse.java | 6 HDLSDK_DEMO/app/build.gradle | 2 HDLSDK_DEMO/.idea/misc.xml | 2 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 48 +++++++++ 17 files changed, 242 insertions(+), 18 deletions(-) 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 00f4264..73cae8c 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -25,9 +25,11 @@ 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.DeleteNetworkListener; 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.LogUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.HDLLink; import com.hdl.sdk.connect.bean.LinkResponse; @@ -59,10 +61,11 @@ private RecyclerView rv; private TextView tv; private TextView responseTv; + private TextView localSecret; private EditText editText; boolean isOn; private EventListener allTopicsListener; - private String testLightSid = "0001010D48C71B02020100010101"; + private String testLightSid = "02010131D9C03D01020300010107"; private String secret = ""; @Override @@ -185,6 +188,7 @@ public void onSuccess(String msg) { tv.setText("璁よ瘉鎴愬姛"); responseTv.setText(msg.toString()); + localSecret.setText("瀵嗛挜锛�" + HDLLinkConfig.getInstance().getLocalSecret()); } }); } @@ -214,6 +218,7 @@ setContentView(R.layout.activity_main); responseTv = findViewById(R.id.response_tv); editText = findViewById(R.id.edittext); + localSecret = findViewById(R.id.local_secret); tv = findViewById(R.id.state_tv); rv = findViewById(R.id.rv); rv.setLayoutManager(new LinearLayoutManager(this)); @@ -222,6 +227,17 @@ checkIfCertified(); initDeviceInfo();//鍒濆鍖� registerAllTopicsListener(); + HDLLink.getInstance().setDeleteNetworkListener(new DeleteNetworkListener() { + @Override + public void onSuccess(Object msg) { + LogUtils.i("setDeleteNetworkListener onSucceed = " + msg); + } + + @Override + public void onFailure() { + LogUtils.i("setDeleteNetworkListener onFailure"); + } + }); ActivityResultLauncher<String[]> launcher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() { @Override @@ -301,7 +317,7 @@ break; case 9: //鍦烘櫙鎺у埗 - controlScene(); + getScene(); break; case 10: //鍔熻兘鍒楄〃 @@ -359,6 +375,9 @@ @Override public void onMessage(Object msg) { LinkResponse response = (LinkResponse) msg; + if ("/user/all/custom/gateway/broadcast_reply".equals(response.getTopic())) { + localSecret.setText("瀵嗛挜锛�" + HDLLinkConfig.getInstance().getLocalSecret()); + } } }; HDLLink.getInstance().registerAllTopicsListener(allTopicsListener); @@ -560,6 +579,7 @@ @Override public void onSuccess(String msg) { responseTv.setText(msg); + Log.d("panlili", "MainActivity.java:getSceneList-----> " + msg); } @Override @@ -573,6 +593,30 @@ // {"id":"8a5eaa143ce943b987b577df5a66759b","time_stamp":"1637040217235","objects":[{"sid":"04010560D2C7170A0A0100000000","name":"鍥炲妯″紡","status":"off","group":"255","delay":"0","modify_time":"1634871490"},{"sid":"04010560D2C76E0A0A0100010000","name":"绂诲妯″紡","status":"off","group":"255","delay":"0","modify_time":"1634785823"}]} /** + * 鑾峰彇鍦烘櫙璇︽儏 + * 鎵ц鎴愬姛鐨勮瘽 鍝嶅簲code涓�200 + */ + void getScene() { + tv.setText("鍦烘櫙璇诲彇"); + responseTv.setText(""); + //鍦烘櫙sid鍒楄〃锛屾敮鎸佹壒閲忚鍙� + List<String> sids = new ArrayList<>(); + sids.add("0201034C50B53F0A0A0100011100"); + sids.add("0201037F50B53F0A0A0100021100"); + HDLLink.getInstance().getScene(sids, new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + responseTv.setText(msg); + } + + @Override + public void onError(HDLLinkException e) { + responseTv.setText(e.getMsg()); + } + }); + } + + /** * 鎺у埗鍦烘櫙 * 鎵ц鎴愬姛鐨勮瘽 鍝嶅簲code涓�200 */ diff --git a/HDLSDK/app/src/main/res/layout/activity_main.xml b/HDLSDK/app/src/main/res/layout/activity_main.xml index 2fe14f5..6bdd2a2 100644 --- a/HDLSDK/app/src/main/res/layout/activity_main.xml +++ b/HDLSDK/app/src/main/res/layout/activity_main.xml @@ -76,6 +76,14 @@ android:text="鍝嶅簲锛�" /> <TextView + android:id="@+id/local_secret" + android:paddingStart="10dp" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="瀵嗛挜锛�" /> + + <TextView android:id="@+id/response_tv" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/HDLSDK/com.hdl.sdk/build.gradle b/HDLSDK/com.hdl.sdk/build.gradle index eeb1372..545c0b7 100644 --- a/HDLSDK/com.hdl.sdk/build.gradle +++ b/HDLSDK/com.hdl.sdk/build.gradle @@ -8,8 +8,8 @@ defaultConfig { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion - versionCode 2 - versionName "1.1.0" + versionCode 5 + versionName "1.1.3" } buildTypes { debug { diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle index b37b85d..5f8c118 100644 --- a/HDLSDK/hdl-connect/build.gradle +++ b/HDLSDK/hdl-connect/build.gradle @@ -8,8 +8,8 @@ defaultConfig { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion - versionCode 2 - versionName "1.1.0" + versionCode 5 + versionName "1.1.3" consumerProguardFiles "consumer-rules.pro" } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/event/DeleteNetworkListener.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/event/DeleteNetworkListener.java new file mode 100644 index 0000000..0fa9a8a --- /dev/null +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/event/DeleteNetworkListener.java @@ -0,0 +1,11 @@ +package com.hdl.sdk.common.event; + +/** + * Created by Tong on 2021/9/22. + */ +public interface DeleteNetworkListener { + + void onSuccess(Object msg); + void onFailure(); + +} 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 e84727d..d1aa555 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 @@ -3,6 +3,7 @@ import android.content.Context; import com.hdl.hdlhttp.HxHttpConfig; +import com.hdl.sdk.common.event.DeleteNetworkListener; import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; @@ -40,6 +41,7 @@ private static final HDLLink instance = new HDLLink(); private String appKey, appSecret; + public DeleteNetworkListener listener; /** * getInstance @@ -90,6 +92,15 @@ public synchronized void removeAllTopicsListener(EventListener listener) { if (listener == null) return; EventDispatcher.getInstance().removeAllTopicsListener(listener); + } + + /** + * 娉ㄥ唽閫�缃戜富棰樼殑鐩戝惉 + * + * @param listener + */ + public synchronized void setDeleteNetworkListener(DeleteNetworkListener listener) { + this.listener = listener; } /***********************涓夋柟璁惧鍜岀綉鍏抽�氫俊涔嬪墠鐨勮璇佹祦绋�****************************/ @@ -251,6 +262,16 @@ } /** + * 鍦烘櫙璇︽儏 + * + * @param sids 鍦烘櫙sid鍒楄〃 + * @param callBack 鍥炶皟 + */ + public void getScene(List<String> sids, HDLLinkCallBack callBack) { + HDLSocket.getInstance().getScene(sids, callBack); + } + + /** * 鍦烘櫙鎺у埗 * * @param sids 鍦烘櫙sid鍒楄〃 diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/BaseLocalCodeResponse.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/BaseLocalCodeResponse.java new file mode 100644 index 0000000..94ecf31 --- /dev/null +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/BaseLocalCodeResponse.java @@ -0,0 +1,47 @@ +package com.hdl.sdk.connect.bean.response; + +import java.io.Serializable; + +/** + * Created by Tong on 2021/9/29. + */ +public class BaseLocalCodeResponse<T> implements Serializable { + + + private String id; + private String time_stamp; + private String code; + private T objects; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTime_stamp() { + return time_stamp; + } + + public void setTime_stamp(String time_stamp) { + this.time_stamp = time_stamp; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public T getObjects() { + return objects; + } + + public void setObjects(T objects) { + this.objects = objects; + } +} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/DeviceInfoResponse.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/DeviceInfoResponse.java index b9ffbc6..a819363 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/DeviceInfoResponse.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/response/DeviceInfoResponse.java @@ -24,7 +24,7 @@ private String oid; private String homeId; private String mac; - private String LocalSecret; + private String local_secret; public String getIPAddress() { return ip_address; @@ -67,11 +67,11 @@ } public String getLocalSecret() { - return LocalSecret; + return local_secret; } public void setLocalSecret(String localSecret) { - LocalSecret = localSecret; + local_secret = localSecret; } } 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 a227a2a..4e2cbb0 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 @@ -15,6 +15,7 @@ import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.common.utils.SPUtils; 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.request.AuthenticateRequest; import com.hdl.sdk.connect.bean.response.DeviceDeleteResponse; @@ -27,8 +28,9 @@ import com.hdl.sdk.socket.codec.ByteToMessageDecoder; import java.util.ArrayList; -import java.util.Base64; import java.util.List; + +import android.util.Base64; import kotlin.ParameterName; @@ -181,7 +183,7 @@ //涔嬪墠鐨勭増鏈繖鍧楁槸鏄庢枃鐨� if (!topic.contains("heartbeat_reply")) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) - LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + Base64.getEncoder().encodeToString(body)); + LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + Base64.encodeToString(body, Base64.NO_WRAP)); else { LogUtils.e("瑙e瘑澶辫触锛屾暟鎹唴瀹规槸锛歕r\n" + new String(body, "utf-8")); } @@ -213,18 +215,19 @@ LogUtils.i("UploadGatewayInfo onError"); } }); - } else if (response.getTopic().equals(updateLocalSecret)) { + } else if (response.getTopic().equals(updateLocalSecret) || response.getTopic().equals(TopicConstant.LINK_BROADCAST)) { try { DeviceInfoResponse deviceInfoResponse = GsonConvert.getGson().fromJson(response.getData(), new TypeToken<DeviceInfoResponse>() { }.getType()); if (!TextUtils.isEmpty(deviceInfoResponse.getObjects().getLocalSecret())) { - byte[] baseBytes = Base64.getDecoder().decode(deviceInfoResponse.getObjects().getLocalSecret()); + byte[] baseBytes = Base64.decode(deviceInfoResponse.getObjects().getLocalSecret(), Base64.NO_WRAP); String mackey = ""; if (!TextUtils.isEmpty(SPUtils.getString("auth_mackey_key", ""))) { mackey = SPUtils.getString("auth_mackey_key", ""); byte[] bodyBytes = AesUtil.aesDecrypt(baseBytes, mackey.substring(mackey.length() - 16)); String localSecret = new String(bodyBytes, "utf-8"); + Log.d("panlili", "鏇存柊瀵嗛挜----->localSecret= " + localSecret); HDLLinkConfig.getInstance().setLocalSecret(localSecret); } } @@ -239,11 +242,17 @@ @Override public void onSuccess(String msg) { LogUtils.i("deleteNetwork onSucceed"); + if (HDLLink.getInstance().listener != null) { + HDLLink.getInstance().listener.onSuccess(msg); + } } @Override public void onError(HDLLinkException e) { LogUtils.i("deleteNetwork onError"); + if (HDLLink.getInstance().listener != null) { + HDLLink.getInstance().listener.onFailure(); + } } }); } catch (Exception e) { 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 5395316..595c20b 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 @@ -271,7 +271,7 @@ HDLLinkConfig.getInstance().setAuthBean(request.getAuth()); //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔� - Log.d("panlili", "HDLAuthSocket.java:onSucceed-----> " + localSecret); + Log.d("panlili", "璁よ瘉鎴愬姛----->localSecret= " + localSecret); if (TextUtils.isEmpty(localSecret) && TextUtils.isEmpty(gatewayId)) { //璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔� callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED)); 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 82b4652..c2a71fb 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 @@ -29,6 +29,7 @@ import com.hdl.sdk.connect.bean.request.ListOidRequest2; import com.hdl.sdk.connect.bean.request.ListUploadRequest; import com.hdl.sdk.connect.bean.response.AuthenticateResponse; +import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse; import com.hdl.sdk.connect.bean.response.BaseLocalResponse; import com.hdl.sdk.connect.bean.request.DeviceControlRequest; import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest; @@ -93,6 +94,7 @@ } public boolean isBroadcast = false; + /** * 骞挎挱鑷韩淇℃伅缁欎富缃戝叧 @@ -544,6 +546,53 @@ } /** + * 鑾峰彇鍦烘櫙鍒楄〃 + */ + public void getScene(List<String> sids, HDLLinkCallBack callBack) { + if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) { + String time = String.valueOf(System.currentTimeMillis()); + final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>(); + data.setId(IdUtils.getUUId()); + data.setTime_stamp(time); + + List<PropertyReadRequest> list = new ArrayList<>(); + for (String s : sids) { + list.add(new PropertyReadRequest(s)); + } + data.setObjects(list); + + String topic = String.format(TopicConstant.SCENE_GET, getGatewayId()); + LinkRequest message = new LinkRequest(topic, + GsonConvert.getGson().toJson(data)); + + String replyTopic = topic + "_reply"; + try { + sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() { + @Override + public void onSucceed() { + + } + + @Override + public void onError() { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR)); + } + } + }); + } catch (Exception e) { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR)); + } + } + } else { + if (callBack != null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR)); + } + } + } + + /** * 鍦烘櫙鎺у埗 * * @param sids 鍦烘櫙sid鍒楄〃 @@ -828,9 +877,10 @@ final String msgId = IdUtils.getUUId(); String time = String.valueOf(System.currentTimeMillis()); - final BaseLocalResponse<List<ListOidRequest>> data = new BaseLocalResponse<>(); + final BaseLocalCodeResponse<List<ListOidRequest>> data = new BaseLocalCodeResponse<>(); data.setId(msgId); data.setTime_stamp(time); + data.setCode("0"); final ListOidRequest request = new ListOidRequest(); request.setOid(oid); @@ -961,7 +1011,7 @@ threadPool.scheduleWithFixedDelay(new Runnable() { @Override public void run() { - if (sendCount.get() < 0) { + if (sendCount.get() < 3) { sendCount.set(sendCount.get() + 1); getTcp().sendMsg(data); } else { diff --git a/HDLSDK_DEMO.rar b/HDLSDK_DEMO.rar index cf56fbe..c293162 100644 --- a/HDLSDK_DEMO.rar +++ b/HDLSDK_DEMO.rar Binary files differ diff --git a/HDLSDK_DEMO/.idea/misc.xml b/HDLSDK_DEMO/.idea/misc.xml index 56d5c89..8bcb976 100644 --- a/HDLSDK_DEMO/.idea/misc.xml +++ b/HDLSDK_DEMO/.idea/misc.xml @@ -3,7 +3,9 @@ <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.3536458333333333" /> <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml" value="0.3538301198540907" /> + <entry key="..\:/HDL/ProjectCode/HDLSDK/HDLSDK_A_Android/HDLSDK_DEMO/app/src/main/res/layout/item_devices_list.xml" value="0.3536458333333333" /> <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> diff --git a/HDLSDK_DEMO/app/build.gradle b/HDLSDK_DEMO/app/build.gradle index 8896afb..8d58906 100644 --- a/HDLSDK_DEMO/app/build.gradle +++ b/HDLSDK_DEMO/app/build.gradle @@ -40,5 +40,5 @@ implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6' // implementation 'com.google.code.gson:gson:2.8.8' // implementation project(path: ':hdl-connect') - implementation files('libs\\com.hdl.sdk-v1.1.0.aar') + implementation files('libs\\com.hdl.sdk-v1.1.3.aar') } \ No newline at end of file diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.0.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar similarity index 94% rename from HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.0.aar rename to HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar index a704e40..457d626 100644 --- a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.0.aar +++ b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar Binary files differ 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 5054c03..8a9300d 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 @@ -2,6 +2,7 @@ import android.Manifest; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; @@ -14,6 +15,7 @@ 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; @@ -23,9 +25,11 @@ 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.DeleteNetworkListener; 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.LogUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.HDLLink; import com.hdl.sdk.connect.bean.LinkResponse; @@ -55,10 +59,11 @@ private RecyclerView rv; private TextView tv; private TextView responseTv; + private TextView localSecret; private EditText editText; boolean isOn; private EventListener allTopicsListener; - private String testLightSid = "0001010D48C71B02020100010101"; + private String testLightSid = "02010131D9C03D01020300010107"; private String secret = ""; @Override @@ -164,6 +169,8 @@ authbean.setSpk(spkStr); authbean.setMACKey(mac_key); authbean.setRequest(requestBean); + HDLLinkConfig.getInstance().setAuthBean(authbean); + //HDLLinkConfig.getInstance().getDeviceInfoBean()杩欎釜鍒濆鍖栫殑鏃跺�欒鍏堣缃ソ AuthenticateRequest request = new AuthenticateRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), authbean); HDLLink.getInstance().startAuthenticateRequest(request, new HDLLinkCallBack() { @@ -174,10 +181,12 @@ Log.e(TAG, "onError: 璁よ瘉澶辫触 " + e.getCode()); } + @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onSuccess(String msg) { tv.setText("璁よ瘉鎴愬姛"); responseTv.setText(msg.toString()); + localSecret.setText("瀵嗛挜锛�" + HDLLinkConfig.getInstance().getLocalSecret()); } }); } @@ -207,6 +216,7 @@ setContentView(R.layout.activity_main); responseTv = findViewById(R.id.response_tv); editText = findViewById(R.id.edittext); + localSecret = findViewById(R.id.local_secret); tv = findViewById(R.id.state_tv); rv = findViewById(R.id.rv); rv.setLayoutManager(new LinearLayoutManager(this)); @@ -215,6 +225,17 @@ checkIfCertified(); initDeviceInfo();//鍒濆鍖� registerAllTopicsListener(); + HDLLink.getInstance().setDeleteNetworkListener(new DeleteNetworkListener() { + @Override + public void onSuccess(Object msg) { + LogUtils.i("setDeleteNetworkListener onSucceed = " + msg); + } + + @Override + public void onFailure() { + LogUtils.i("setDeleteNetworkListener onFailure"); + } + }); ActivityResultLauncher<String[]> launcher = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() { @Override @@ -352,6 +373,9 @@ @Override public void onMessage(Object msg) { LinkResponse response = (LinkResponse) msg; + if ("/user/all/custom/gateway/broadcast_reply".equals(response.getTopic())){ + localSecret.setText("瀵嗛挜锛�" + HDLLinkConfig.getInstance().getLocalSecret()); + } } }; HDLLink.getInstance().registerAllTopicsListener(allTopicsListener); diff --git a/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml b/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml index 2fe14f5..6bdd2a2 100644 --- a/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml +++ b/HDLSDK_DEMO/app/src/main/res/layout/activity_main.xml @@ -76,6 +76,14 @@ android:text="鍝嶅簲锛�" /> <TextView + android:id="@+id/local_secret" + android:paddingStart="10dp" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="瀵嗛挜锛�" /> + + <TextView android:id="@+id/response_tv" android:layout_width="match_parent" android:layout_height="wrap_content" -- Gitblit v1.8.0