From 7c8ce9b9a7d3fc1aaa4a621e86415b25ad10a34f Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期三, 19 三月 2025 09:36:28 +0800 Subject: [PATCH] 添加source屏扫码流程 --- HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml | 20 +++ HDLSDK_DEMO/app/src/main/res/layout/activity_source_test.xml | 20 +++ HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 4 HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.2.aar | 0 HDLSDK/app/src/main/res/layout/activity_devices_list.xml | 20 +++ HDLSDK_DEMO.rar | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 4 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudApi.java | 5 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 5 HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java | 10 + HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java | 9 + HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/App.java | 6 HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java | 9 + HDLSDK_DEMO/app/build.gradle | 19 +++ HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java | 10 + HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java | 33 +++++ HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java | 11 + HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java | 1 HDLSDK_DEMO/app/src/main/res/values/strings.xml | 3 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java | 4 HDLSDK/hdl-connect/build.gradle | 4 HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java | 9 + HDLSDK/app/src/main/res/layout/activity_source_bind.xml | 25 +++ HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java | 9 + HDLSDK/com.hdl.sdk/build.gradle | 10 - HDLSDK/app/src/main/res/mipmap-xhdpi/activity_back.png | 0 HDLSDK_DEMO/app/src/main/res/mipmap-xhdpi/activity_back.png | 0 HDLSDK_DEMO/app/src/main/java/com/hdl/.DS_Store | 0 HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java | 9 + HDLSDK/app/src/main/res/layout/activity_source_test.xml | 20 +++ HDLSDK_DEMO/app/src/main/res/layout/activity_source_bind.xml | 25 +++ HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 4 32 files changed, 275 insertions(+), 33 deletions(-) diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java index 284a4e9..6b02529 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/App.java @@ -4,6 +4,7 @@ import com.hdl.sdk.common.HDLSdk; import com.hdl.sdk.connect.HDLLink; +import com.hdl.sdk.connect.cloud.HdlCloudApi; import com.hdl.sdk.connect.cloud.broadcast.GlobalBroadcastManager; import com.hdl.sdk.sourceos.OsManager; @@ -17,8 +18,10 @@ @Override public void onCreate() { super.onCreate(); - //鍒濆鍖朣DK - HDLSdk.getInstance().init(this); + //鍒濆鍖朣DK锛屽鏋滀笉璧颁粠鏈哄叆缃戯紝璧癮pp闇�瑕佽缃鍙d负8584 + HDLSdk.getInstance().init(this, 8584); + //濡傛灉璧颁粠鏈哄叆缃戯紝涓嶉渶瑕佽缃鍙� + //HDLSdk.getInstance().init(this); //鎺у埗SDK鏃ュ織鎵撳嵃 HDLSdk.getInstance().setLogEnabled(true); @@ -27,7 +30,7 @@ //appkey:ryfElI3tVOT //appsecret:AKIn7s1A2YnNvAZRtL8FQxzp0R2KUpIY - HDLLink.getInstance().initCloud(this, "ryfElI3tVOT", "AKIn7s1A2YnNvAZRtL8FQxzp0R2KUpIY"); + HDLLink.getInstance().initCloud(this, "ryfElI3tVOT", "AKIn7s1A2YnNvAZRtL8FQxzp0R2KUpIY", HdlCloudApi.BASE_BAHRAIN_URL); //娉ㄥ唽鍏ㄥ眬骞挎挱,鍒锋柊token GlobalBroadcastManager.registerGlobalBroadcast(this); 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 c4d5f87..20e7579 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -567,7 +567,9 @@ void searchGatewayBroadcast() { tv.setText("鎼滅储缃戝叧涓�..."); responseTv.setText(""); - HDLLinkConfig.getInstance().getGatewayId(); + + String gatewayId = HDLLinkConfig.getInstance().getGatewayId(); + Log.d("panlili", "MainActivity.java:searchGatewayBroadcast----->gatewayId= " + gatewayId); HDLLink.getInstance().searchGatewayBroadcast(new HDLAuthSocket.SearchGatewayCallBack() { @Override public void onError(HDLLinkException e) { diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java index 6be92a1..38cb73e 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java @@ -2,6 +2,7 @@ import android.annotation.SuppressLint; import android.os.Bundle; +import android.view.View; import android.widget.TextView; import android.widget.Toast; @@ -27,6 +28,7 @@ private static final String TAG = "SourceBindActivity"; private QrCodeView qrcodeView; private TextView responseTv; + private View view; @Override protected void onCreate(Bundle savedInstanceState) { @@ -40,6 +42,13 @@ private void initView() { qrcodeView = findViewById(R.id.qrcode_view); responseTv = findViewById(R.id.response_tv); + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); createBindQRCodeInfo(); } diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java index 4f2266a..19b3a6a 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java @@ -43,6 +43,7 @@ private Button btnApiVersion, btnDeviceModel, btnOsVersion, btnRunningMemory, btnInnerStorage, btnFreeStorage, btnKernelVersion, btnBuilderNumber, btnFwVersion, btnShutDown, btnReboot, btnSystemConfiginfo, btnBrightness, btnRotation, notifyOpen, notifyClose, btnOpenBackLight, btnCloseBackLight, btnStatusBarShow, btnStatusBarHide, btnMicEnable, btnEthMacAddress, btnEthIpAddress, btnScardPath, btnInner, btnInstall, btnEthernetConnect, btnSubmitStaticIp, btnSleep, btnWakeUp, btnFilterPermission, btnOta, btnNetmask, btnGateway, btnDns, btnDisconnectEth, btnConnectEth, btnWwitchDhcp; private TextView tvContent; private EditText editIpAddress, editGateway, editNetmask, editDns1, editDns2, editBrightness, editRotation; + private View view; final private int LED_NOTIFICATION_ID = 100; @@ -221,6 +222,14 @@ btnConnectEth.setOnClickListener(this); btnWwitchDhcp.setOnClickListener(this); + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } private void initKnob() { 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 index cc0c140..ec799ab 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java @@ -3,6 +3,7 @@ import android.annotation.SuppressLint; import android.os.Bundle; import android.util.Log; +import android.view.View; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -27,6 +28,7 @@ private List<FunctionBean> devicesList = new ArrayList<>(); private DevicesListAdapter mDevicesListAdapter; private RecyclerView mRecyclerView; + private View view; @Override protected void onCreate(Bundle savedInstanceState) { @@ -43,6 +45,14 @@ mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mDevicesListAdapter = new DevicesListAdapter(this, devicesList); mRecyclerView.setAdapter(mDevicesListAdapter); + + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); } private void initData() { diff --git a/HDLSDK/app/src/main/res/layout/activity_devices_list.xml b/HDLSDK/app/src/main/res/layout/activity_devices_list.xml index b7e3865..0144256 100644 --- a/HDLSDK/app/src/main/res/layout/activity_devices_list.xml +++ b/HDLSDK/app/src/main/res/layout/activity_devices_list.xml @@ -6,6 +6,26 @@ android:layout_height="match_parent" tools:context=".device.DevicesListActivity"> + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> + <androidx.recyclerview.widget.RecyclerView android:id="@+id/device_list_rv" android:layout_width="match_parent" diff --git a/HDLSDK/app/src/main/res/layout/activity_source_bind.xml b/HDLSDK/app/src/main/res/layout/activity_source_bind.xml index 8454510..281a853 100644 --- a/HDLSDK/app/src/main/res/layout/activity_source_bind.xml +++ b/HDLSDK/app/src/main/res/layout/activity_source_bind.xml @@ -1,11 +1,30 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".SourceBindActivity"> + + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> <com.hdl.sdk.sourceos.qrcode.QrCodeView android:id="@+id/qrcode_view" @@ -21,7 +40,7 @@ android:id="@+id/response_tv" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="3dp" - android:layout_marginTop="28dp" /> + android:layout_marginTop="28dp" + android:padding="3dp" /> </LinearLayout> \ No newline at end of file diff --git a/HDLSDK/app/src/main/res/layout/activity_source_test.xml b/HDLSDK/app/src/main/res/layout/activity_source_test.xml index 4810053..d3cf12f 100644 --- a/HDLSDK/app/src/main/res/layout/activity_source_test.xml +++ b/HDLSDK/app/src/main/res/layout/activity_source_test.xml @@ -11,6 +11,26 @@ android:orientation="vertical"> + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> + <TextView android:id="@+id/tv_content" android:layout_width="match_parent" diff --git a/HDLSDK/app/src/main/res/mipmap-xhdpi/activity_back.png b/HDLSDK/app/src/main/res/mipmap-xhdpi/activity_back.png new file mode 100644 index 0000000..e10bd42 --- /dev/null +++ b/HDLSDK/app/src/main/res/mipmap-xhdpi/activity_back.png Binary files differ diff --git a/HDLSDK/com.hdl.sdk/build.gradle b/HDLSDK/com.hdl.sdk/build.gradle index 92656b8..48b680e 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 119 - versionName "1.1.9" + versionCode 123 + versionName "1.2.3" } buildTypes { debug { @@ -29,9 +29,6 @@ embed 'com.hdl.hdlhttp:hxhttp:1.0.4' -// api 'androidx.appcompat:appcompat:1.3.1' -// api 'com.google.android.material:material:1.4.0' - embed 'com.squareup.okhttp3:okhttp:4.9.1' embed 'com.squareup.okhttp3:logging-interceptor:4.9.1' embed 'com.squareup.okio:okio:2.8.0' @@ -48,9 +45,6 @@ embed 'com.trello.rxlifecycle4:rxlifecycle-android-lifecycle:4.0.2' embed 'org.reactivestreams:reactive-streams:1.0.3' - -// embed(name: 'hxhttp_1.0.4_230201',ext: 'aar') - embed project(path: ':hdl-connect', configuration: 'default') } diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle index 94c2a47..4df2c13 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 9 - versionName "1.2.1" + versionCode 11 + versionName "1.2.3" consumerProguardFiles "consumer-rules.pro" } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java index fb4b1d1..1abc17a 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/HDLSdk.java @@ -18,7 +18,9 @@ private Context context; - private String version = "1.2.1"; + private String version = "1.2.2"; + + private int bindPort = 8585;//缁戝畾鐨勭鍙� /** * 鑾峰彇褰撳墠鐗堟湰 @@ -69,6 +71,35 @@ }); } + public void init(Context context, int bindPort) { + if (this.context != null) { + return; + } + this.context = context.getApplicationContext(); + this.bindPort = bindPort; + HDLAuthSocket.getInstance().init(); + HDLSocket.getInstance().broadcastRequest(); + LogUtils.i("HDLSdk Version:" + getVersion()); + + //璁㈤槄鎵�鏈夌殑涓婚 + HDLLink.getInstance().registerAllTopicsListener(new EventListener() { + @Override + public void onMessage(Object msg) { + if (msg == null || !(msg instanceof LinkResponse)) { + return; + } + AllTopicManagerUtils.manager((LinkResponse) msg); + } + }); + } + + public int getBindPort() { + return bindPort; + } + + public void setBindPort(int bindPort) { + this.bindPort = bindPort; + } public Context getContext() { return context; diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java index 1908d0a..e650391 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java @@ -45,6 +45,7 @@ } String mac_Oid_GatewayId = topics[2]; + Log.d("panlili", "AllTopicManagerUtils.java:manager----->topic= " + topic); if (!isLocalDevice(mac_Oid_GatewayId)) { LogUtils.i("涓嶆槸褰撳墠璁惧鐨勭綉鍏矷d锛孖d鏄�" + mac_Oid_GatewayId); 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 b89fe9e..2dd79d1 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 @@ -185,9 +185,9 @@ /** * 鍒濆鍖栦簯绔� */ - public void initCloud(Context context, String appKey, String appSecret) { + public void initCloud(Context context, String appKey, String appSecret, String url) { - HDLCloudConfig.getInstance().init(context, appKey, appSecret, HdlCloudApi.BASE_CHINA_URL); + HDLCloudConfig.getInstance().init(context, appKey, appSecret, url); HxHttpConfig.getInstance().ignoreSSL(); diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudApi.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudApi.java index 3968fd2..1115a8d 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudApi.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudApi.java @@ -10,7 +10,10 @@ public static final String BASE_CHINA_URL = "https://china-gateway.hdlcontrol.com"; //娴嬭瘯鐜 -// public static final String BASE_CHINA_URL = "https://test-gz.hdlcontrol.com"; + public static final String BASE_TEST_URL = "https://test-gz.hdlcontrol.com"; + + //鍥藉鐜 + public static final String BASE_BAHRAIN_URL = "https://bahrain-gateway.hdlcontrol.com"; //鐧婚檰鍒锋柊token public static final String LOGIN = "/smart-footstone/member/oauth/login"; diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java index b47fd7c..6425275 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java @@ -21,7 +21,7 @@ public static Disposable applyDeviceSecret(String supplier, String mac, String spk, CallBackListener callBack) { return HxHttp.builder() - .url(HdlCloudApi.BASE_CHINA_URL + HdlCloudApi.APPLY_DEVICE_SECRET) + .url(HdlCloudApi.APPLY_DEVICE_SECRET) .params("supplier", supplier) .params("mac", mac) .params("spk", spk) @@ -51,7 +51,7 @@ */ public static Disposable checkAppVersion(String versionCode, String appCode, CheckAppVersionListener listener) { return HxHttp.builder() - .url(HdlCloudApi.BASE_CHINA_URL + HdlCloudApi.CHECK_APP_VERSION_URL) + .url(HdlCloudApi.CHECK_APP_VERSION_URL) .params("version", versionCode) .params("appCode", appCode) .params("releaseSystem", "Android") 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 3f277dc..9b94bcf 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 @@ -55,6 +55,7 @@ * udp榛樿绔彛 */ private static final int UDP_PORT = 8585; + private static int BIND_UDP_PORT = 8584; /** * 鍥犱负鑰冭檻鍒颁娇鐢ㄤ竴涓鍙o紝瑕佹敮鎸佹帴鏀跺缃戝叧鐨勬暟鎹紝鎵�浠ュ彧鍏佽浣跨敤涓�涓� */ @@ -115,7 +116,9 @@ private synchronized UdpSocketBoot getUdpBoot() { try { if (udpSocketBoot == null) { - udpSocketBoot = UdpClient.init(UDP_PORT, getUdpOptions()); + //鍖哄垎鏄�8584杩樻槸8585 + BIND_UDP_PORT = HDLSdk.getInstance().getBindPort(); + udpSocketBoot = UdpClient.init(BIND_UDP_PORT, getUdpOptions()); udpSocketBoot.bind(); LogUtils.i("鍒濆鍖朣ocket udp"); diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java index c8d46ea..28db4dc 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java @@ -1,8 +1,11 @@ package com.hdl.sdk.socket.client; +import android.content.Context; +import android.net.wifi.WifiManager; import android.text.TextUtils; +import com.hdl.sdk.common.HDLSdk; import com.hdl.sdk.common.utils.IpUtils; import com.hdl.sdk.common.utils.LogUtils; import com.hdl.sdk.socket.SocketPool; @@ -32,6 +35,7 @@ */ private DatagramPacket receivePacket; + private WifiManager.MulticastLock lock; /** * 缂撳啿鍖哄ぇ灏� */ @@ -64,6 +68,10 @@ this.socketOptions = socketOptions; byte[] receiveByte = new byte[BUFFER]; receivePacket = new DatagramPacket(receiveByte, receiveByte.length); + + WifiManager manager = (WifiManager) HDLSdk.getInstance().getContext().getApplicationContext() + .getSystemService(Context.WIFI_SERVICE); + this.lock = manager.createMulticastLock("UDPwifi"); } /** @@ -91,12 +99,13 @@ @Override - public void bind() throws Exception { + public synchronized void bind() throws Exception { try { //宸茬粡缁戝畾杩囧氨涓嶇敤鍐嶇粦瀹� if (null != mSocket) { return; } + lock.acquire(); if (TextUtils.isEmpty(ipAddress)) { mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(port)); } else { diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.1.aar b/HDLSDK_DEMO.rar similarity index 76% rename from HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.1.aar rename to HDLSDK_DEMO.rar index 7bec746..fe0cd6c 100644 --- a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.1.aar +++ b/HDLSDK_DEMO.rar Binary files differ diff --git a/HDLSDK_DEMO/app/build.gradle b/HDLSDK_DEMO/app/build.gradle index dc145bb..78d4cad 100644 --- a/HDLSDK_DEMO/app/build.gradle +++ b/HDLSDK_DEMO/app/build.gradle @@ -39,7 +39,24 @@ implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6' // implementation 'com.google.code.gson:gson:2.8.8' - implementation files('libs\\com.hdl.sdk-v1.2.1.aar') + implementation files('libs\\com.hdl.sdk-v1.2.2.aar') + + implementation 'com.squareup.okhttp3:okhttp:4.9.1' + implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1' + implementation 'com.squareup.okio:okio:2.8.0' + //retrofit + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.retrofit2:converter-scalars:2.9.0' + implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0' + implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' + implementation 'io.reactivex.rxjava3:rxjava:3.1.1' + implementation 'com.google.code.gson:gson:2.8.8' + + implementation 'com.trello.rxlifecycle4:rxlifecycle:4.0.2' + implementation 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2' + implementation 'com.trello.rxlifecycle4:rxlifecycle-android-lifecycle:4.0.2' + + implementation 'org.reactivestreams:reactive-streams:1.0.3' //浜岀淮鐮� implementation 'com.google.zxing:core:3.4.1' diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.2.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.2.aar new file mode 100644 index 0000000..2db90e1 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.2.2.aar Binary files differ diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/.DS_Store b/HDLSDK_DEMO/app/src/main/java/com/hdl/.DS_Store new file mode 100644 index 0000000..ae5aaee --- /dev/null +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/.DS_Store Binary files differ 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 index ebc961c..5bc8cb1 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/App.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/App.java @@ -17,8 +17,10 @@ @Override public void onCreate() { super.onCreate(); - //鍒濆鍖朣DK - HDLSdk.getInstance().init(this); + //鍒濆鍖朣DK锛屽鏋滀笉璧颁粠鏈哄叆缃戯紝璧癮pp闇�瑕佽缃鍙d负8584 + HDLSdk.getInstance().init(this, 8584); + //濡傛灉璧颁粠鏈哄叆缃戯紝涓嶉渶瑕佽缃鍙� + //HDLSdk.getInstance().init(this); //鎺у埗SDK鏃ュ織鎵撳嵃 HDLSdk.getInstance().setLogEnabled(true); 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 c4d5f87..20e7579 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 @@ -567,7 +567,9 @@ void searchGatewayBroadcast() { tv.setText("鎼滅储缃戝叧涓�..."); responseTv.setText(""); - HDLLinkConfig.getInstance().getGatewayId(); + + String gatewayId = HDLLinkConfig.getInstance().getGatewayId(); + Log.d("panlili", "MainActivity.java:searchGatewayBroadcast----->gatewayId= " + gatewayId); HDLLink.getInstance().searchGatewayBroadcast(new HDLAuthSocket.SearchGatewayCallBack() { @Override public void onError(HDLLinkException e) { diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java index 6be92a1..38cb73e 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceBindActivity.java @@ -2,6 +2,7 @@ import android.annotation.SuppressLint; import android.os.Bundle; +import android.view.View; import android.widget.TextView; import android.widget.Toast; @@ -27,6 +28,7 @@ private static final String TAG = "SourceBindActivity"; private QrCodeView qrcodeView; private TextView responseTv; + private View view; @Override protected void onCreate(Bundle savedInstanceState) { @@ -40,6 +42,13 @@ private void initView() { qrcodeView = findViewById(R.id.qrcode_view); responseTv = findViewById(R.id.response_tv); + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); createBindQRCodeInfo(); } diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java index 4f2266a..19b3a6a 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/SourceTestActivity.java @@ -43,6 +43,7 @@ private Button btnApiVersion, btnDeviceModel, btnOsVersion, btnRunningMemory, btnInnerStorage, btnFreeStorage, btnKernelVersion, btnBuilderNumber, btnFwVersion, btnShutDown, btnReboot, btnSystemConfiginfo, btnBrightness, btnRotation, notifyOpen, notifyClose, btnOpenBackLight, btnCloseBackLight, btnStatusBarShow, btnStatusBarHide, btnMicEnable, btnEthMacAddress, btnEthIpAddress, btnScardPath, btnInner, btnInstall, btnEthernetConnect, btnSubmitStaticIp, btnSleep, btnWakeUp, btnFilterPermission, btnOta, btnNetmask, btnGateway, btnDns, btnDisconnectEth, btnConnectEth, btnWwitchDhcp; private TextView tvContent; private EditText editIpAddress, editGateway, editNetmask, editDns1, editDns2, editBrightness, editRotation; + private View view; final private int LED_NOTIFICATION_ID = 100; @@ -221,6 +222,14 @@ btnConnectEth.setOnClickListener(this); btnWwitchDhcp.setOnClickListener(this); + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } private void initKnob() { 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 index cc0c140..ec799ab 100644 --- 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 @@ -3,6 +3,7 @@ import android.annotation.SuppressLint; import android.os.Bundle; import android.util.Log; +import android.view.View; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -27,6 +28,7 @@ private List<FunctionBean> devicesList = new ArrayList<>(); private DevicesListAdapter mDevicesListAdapter; private RecyclerView mRecyclerView; + private View view; @Override protected void onCreate(Bundle savedInstanceState) { @@ -43,6 +45,14 @@ mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mDevicesListAdapter = new DevicesListAdapter(this, devicesList); mRecyclerView.setAdapter(mDevicesListAdapter); + + view = findViewById(R.id.rl_back); + view.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); } private void initData() { diff --git a/HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml b/HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml index b7e3865..0144256 100644 --- a/HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml +++ b/HDLSDK_DEMO/app/src/main/res/layout/activity_devices_list.xml @@ -6,6 +6,26 @@ android:layout_height="match_parent" tools:context=".device.DevicesListActivity"> + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> + <androidx.recyclerview.widget.RecyclerView android:id="@+id/device_list_rv" android:layout_width="match_parent" diff --git a/HDLSDK_DEMO/app/src/main/res/layout/activity_source_bind.xml b/HDLSDK_DEMO/app/src/main/res/layout/activity_source_bind.xml index 8454510..281a853 100644 --- a/HDLSDK_DEMO/app/src/main/res/layout/activity_source_bind.xml +++ b/HDLSDK_DEMO/app/src/main/res/layout/activity_source_bind.xml @@ -1,11 +1,30 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".SourceBindActivity"> + + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> <com.hdl.sdk.sourceos.qrcode.QrCodeView android:id="@+id/qrcode_view" @@ -21,7 +40,7 @@ android:id="@+id/response_tv" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="3dp" - android:layout_marginTop="28dp" /> + android:layout_marginTop="28dp" + android:padding="3dp" /> </LinearLayout> \ No newline at end of file diff --git a/HDLSDK_DEMO/app/src/main/res/layout/activity_source_test.xml b/HDLSDK_DEMO/app/src/main/res/layout/activity_source_test.xml index 4810053..d3cf12f 100644 --- a/HDLSDK_DEMO/app/src/main/res/layout/activity_source_test.xml +++ b/HDLSDK_DEMO/app/src/main/res/layout/activity_source_test.xml @@ -11,6 +11,26 @@ android:orientation="vertical"> + <RelativeLayout + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="44dp" + android:background="@color/white"> + + <RelativeLayout + android:id="@+id/rl_back" + android:layout_width="47dp" + android:layout_height="match_parent"> + + <ImageView + android:layout_width="10dp" + android:layout_height="17dp" + android:layout_centerVertical="true" + android:layout_marginStart="16dp" + android:src="@mipmap/activity_back" /> + </RelativeLayout> + </RelativeLayout> + <TextView android:id="@+id/tv_content" android:layout_width="match_parent" diff --git a/HDLSDK_DEMO/app/src/main/res/mipmap-xhdpi/activity_back.png b/HDLSDK_DEMO/app/src/main/res/mipmap-xhdpi/activity_back.png new file mode 100644 index 0000000..e10bd42 --- /dev/null +++ b/HDLSDK_DEMO/app/src/main/res/mipmap-xhdpi/activity_back.png Binary files differ diff --git a/HDLSDK_DEMO/app/src/main/res/values/strings.xml b/HDLSDK_DEMO/app/src/main/res/values/strings.xml index deff410..dc5eb5f 100644 --- a/HDLSDK_DEMO/app/src/main/res/values/strings.xml +++ b/HDLSDK_DEMO/app/src/main/res/values/strings.xml @@ -1,3 +1,4 @@ <resources> - <string name="app_name">HDLSDK Demo</string> + <string name="app_name">HDLSDK</string> + <string name="http_unknown">鏈煡缃戠粶閿欒锛岃绋嶅悗鍐嶈瘯</string> </resources> \ No newline at end of file -- Gitblit v1.8.0