From b1072a799774a18b19856d10c9ecfdda96a8b48d Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期五, 15 九月 2023 09:44:38 +0800 Subject: [PATCH] 代码同步 --- HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 236 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 164 insertions(+), 72 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..d650ead 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -1,7 +1,10 @@ package com.hdl.hdlsdk; import android.Manifest; +import android.content.Context; import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -25,9 +28,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; @@ -36,9 +41,11 @@ import com.hdl.sdk.connect.bean.request.ListUploadRequest; import com.hdl.sdk.connect.bean.response.BaseLocalResponse; import com.hdl.sdk.connect.bean.response.GatewaySearchBean; +import com.hdl.sdk.connect.bean.response.UpdateInfo; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; import com.hdl.sdk.connect.cloud.CallBackListener; +import com.hdl.sdk.connect.cloud.CheckAppVersionListener; import com.hdl.sdk.connect.cloud.HDLException; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.connect.socket.HDLAuthSocket; @@ -59,35 +66,12 @@ 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 - protected void onDestroy() { - super.onDestroy(); - removeAllTopicsListener(); - } - - void initDeviceInfo() { - AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean(); - infoBean.setDeviceMAC("f2c5d8bad48f"); - infoBean.setIPMAC("f2c5d8bad48f"); - infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧 - infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿 - infoBean.setAccessMode("WIFI"); - infoBean.setIPGateway("192.168.1.1"); - infoBean.setIPAddress("192.168.1.103"); - infoBean.setGateway_type("screen.touch"); - infoBean.setHw_version("HW2.0"); - infoBean.setFw_version("Fw1.0"); - infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍� - infoBean.setSid("110105000000FE08110100000011");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� - infoBean.setSupplier("JINMAOYUN"); - HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); - } void applyDeviceSecret() { tv.setText("寮�濮嬬敵璇疯澶囧瘑閽�..."); @@ -131,62 +115,30 @@ } - /** - * 鍏ョ綉璁よ瘉 - */ - void sendAuthenticateRequest() { - tv.setText("寮�濮嬪叆缃戣璇�..."); + void checkAppVersion() { + tv.setText("寮�濮嬫娴嬫洿鏂�..."); responseTv.setText(""); - //璁よ瘉鎻愪氦鍙傛暟鍑嗗 -// -// //娴嬭瘯鏈嶅姟鍣� -// String spkStr = "music.standard";//浜у搧spk -// String macStr = "AA000000000000AF";//璁惧鍞竴MAC鍦板潃 -// String secret = "44b360eb74b7ba64";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret -// 姝e紡鏈嶅姟鍣� - String spkStr = "screen.touch";//浜у搧spk -// String macStr = "AA00000000000100";//璁惧鍞竴MAC鍦板潃 - String macStr = editText.getText().toString();//璁惧鍞竴MAC鍦板潃 -// String secret = "e186beeb7974998e";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret +// //姝e紡鏈嶅姟鍣� + String appKey = "i8hR07jzrIS";//appkey + String appSecret = "BmnJ8RWTtaVEBk24zPPF4UMwfYu0lAWU";//appsecret - String mac_key = stringToMD5(stringToMD5(macStr + secret)); - String versionString = "HDL_V1.0.1";// - String time = String.valueOf(System.currentTimeMillis()); - HDLLinkConfig.getInstance().getDeviceInfoBean().setDeviceMAC(macStr); -// HDLLinkConfig.getInstance().setCurrentGateway(infoBean); + String appCode = "1697150870315999233";//appCode - //1.璁剧疆璁よ瘉淇℃伅 - AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean(); - requestBean.setMAC(macStr); - requestBean.setSupplier("JINMAOYUN"); - requestBean.setFirmwareVersion(versionString); - requestBean.setHardwareModel("1956F"); -// HDLLinkConfig.getInstance().setRequestBean(requestBean); - - AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean(); - 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() { + HDLLink.getInstance().checkAppVersion(this, appKey, appSecret, getAppVersionName(this), appCode, new CheckAppVersionListener() { @Override - public void onError(HDLLinkException e) { - tv.setText("璁よ瘉澶辫触" + e.getCode()); - responseTv.setText(e.getMsg()); - Log.e(TAG, "onError: 璁よ瘉澶辫触 " + e.getCode()); + public void onSuccess(UpdateInfo info) { + tv.setText("鏈夋柊鏇存柊"); + responseTv.setText(info.toString()); } - @RequiresApi(api = Build.VERSION_CODES.O) @Override - public void onSuccess(String msg) { - tv.setText("璁よ瘉鎴愬姛"); - responseTv.setText(msg.toString()); + public void onError(HDLException e) { + tv.setText("妫�娴嬫洿鏂板け璐�"); + responseTv.setText(e.getMsg()); } }); + } public void UploadDeviceAuth(String mac, String result, String message, String auth_code) { @@ -214,6 +166,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 +175,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 @@ -249,6 +213,7 @@ beans.add(new DemoBean("UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�")); beans.add(new DemoBean("TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�")); beans.add(new DemoBean("閫�缃�")); + beans.add(new DemoBean("妫�娴嬫洿鏂�")); demoAdapter = new DemoAdapter(beans); rv.setAdapter(demoAdapter); @@ -301,7 +266,7 @@ break; case 9: //鍦烘櫙鎺у埗 - controlScene(); + getScene(); break; case 10: //鍔熻兘鍒楄〃 @@ -326,6 +291,10 @@ case 15: //閫�缃� deleteNetwork(); + break; + case 16: + //妫�娴嬫洿鏂� + checkAppVersion(); break; } } @@ -359,6 +328,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); @@ -407,6 +379,73 @@ HDLLink.getInstance().removeAllTopicsListener(allTopicsListener); } + void initDeviceInfo() + { + AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean(); + 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.116"); + infoBean.setGateway_type("music.standard"); + infoBean.setHw_version("HW2.0"); + infoBean.setFw_version("Fw1.0"); + infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍� + infoBean.setSid("110105000000FE08110100000011");//姣忎釜璁惧鐨剆id閮借涓嶄竴鏍� + HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); + } + + /** + * 鍏ョ綉璁よ瘉 + */ + void sendAuthenticateRequest() { + tv.setText("寮�濮嬪叆缃戣璇�..."); + //璁よ瘉鎻愪氦鍙傛暟鍑嗗 + +// 娴嬭瘯鏈嶅姟 +// String spkStr = "ir.module";//浜у搧spk +// String macStr = "AA000000000000AF";//璁惧鍞竴MAC鍦板潃 +// String secret = "44b360eb74b7ba64";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret + +// 姝e紡鏈嶅姟鍣� + String spkStr = "screen.mirror";//浜у搧spk + String macStr = "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: 璁よ瘉澶辫触"); + } + + @Override + public void onSuccess(String msg) { + tv.setText("璁よ瘉鎴愬姛"); + responseTv.setText(msg.toString()); + } + }); + } String stringToMD5(String text) { byte[] hash; @@ -560,6 +599,7 @@ @Override public void onSuccess(String msg) { responseTv.setText(msg); + Log.d("panlili", "MainActivity.java:getSceneList-----> " + msg); } @Override @@ -571,6 +611,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()); + } + }); + } /** * 鎺у埗鍦烘櫙 @@ -743,4 +807,32 @@ } }); } + + /** + * 鑾峰彇APP鐗堟湰 + * + * @param context + * @return + */ + public static String getAppVersionName(Context context) { + String versionName = "0"; + try { + PackageManager packageManager = context.getPackageManager(); + PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0); + versionName = packageInfo.versionName; + if (TextUtils.isEmpty(versionName)) { + versionName = "0"; + } + } catch (Exception e) { + e.printStackTrace(); + } + return versionName; + } + + @Override + protected void onDestroy() { + super.onDestroy(); + removeAllTopicsListener(); + } + } \ No newline at end of file -- Gitblit v1.8.0