From 68d9078b49cfa8e83ed553835b05d4042c183969 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 16 三月 2023 09:39:34 +0800
Subject: [PATCH] 云台不显示问题修复,LC问题

---
 AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java                                                     |   10 ---
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/IRegisterDeviceFeedback.java         |    6 ++
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java |    2 
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java                |   18 ++----
 AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java                                      |   25 +++-----
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java                  |    2 
 AndroidOpenDemo/DeviceAddModule/build.gradle                                                                      |    4 
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/HdlData.java                         |   56 ++++++++++++++++++
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/data/BindDeviceData.java     |    2 
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java            |    4 +
 AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml                                     |   18 +++--
 AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java               |   26 ++++++++
 12 files changed, 122 insertions(+), 51 deletions(-)

diff --git a/AndroidOpenDemo/DeviceAddModule/build.gradle b/AndroidOpenDemo/DeviceAddModule/build.gradle
index fe5abc5..395f444 100644
--- a/AndroidOpenDemo/DeviceAddModule/build.gradle
+++ b/AndroidOpenDemo/DeviceAddModule/build.gradle
@@ -53,8 +53,8 @@
 //    compileOnly fileTree(include: ['eventbus:3.0.0.jar'], dir: 'libs')
     api fileTree(include: ['eventbus-3.0.0.jar'], dir: 'libs')
 
-    compileOnly fileTree(include: ['lechangeSDK.jar'], dir: 'libs')
-//    api fileTree(include: ['lechangeSDK.jar'], dir: 'libs')
+//    compileOnly fileTree(include: ['lechangeSDK.jar'], dir: 'libs')//搴撶敤杩欎釜
+    api fileTree(include: ['lechangeSDK.jar'], dir: 'libs')//绋嬪簭鐢ㄨ繖涓�
 
 //    compile project(':LcOpenSDk')
 
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
index 9ba6b37..11c1039 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/DeviceAddActivity.java
@@ -44,6 +44,8 @@
 import com.mm.android.deviceaddmodule.views.popwindow.PopWindowFactory;
 
 import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
 import static com.mm.android.deviceaddmodule.mobilecommon.common.Constants.PERMISSION_REQUEST_ID;
@@ -156,6 +158,10 @@
         };
         permissionHelper.requestPermissions(new String[]{
                 ACCESS_COARSE_LOCATION}, defaultPermissionListener);
+
+        if(!EventBus.getDefault().isRegistered(this)){
+            EventBus.getDefault().register(this);
+        }
     }
 
     //鍔ㄦ�佹潈闄愮敵璇峰洖璋�
@@ -499,7 +505,25 @@
             }
             mLoadingPopWindow = null;
         }
-        EventBus.getDefault().post("backXamarin");
+        if(!interfaceException) {
+            EventBus.getDefault().post("backXamarin");
+        }
+    }
+
+    /**
+     * 鎺ュ彛寮傚父鏍囪
+     */
+    private boolean interfaceException = false;
+
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void onGetMessage(String obj) {
+        if(obj.equals("InterfaceException")){
+            if (EventBus.getDefault().isRegistered(this)) {
+                EventBus.getDefault().unregister(this);
+            }
+            interfaceException = true;
+            destroy();
+        }
     }
 
     // 绂荤嚎閰嶇綉鎴愬姛锛岃繑鍥炰笂涓�绾ч〉闈�
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/HdlData.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/HdlData.java
new file mode 100644
index 0000000..5317bf7
--- /dev/null
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/HdlData.java
@@ -0,0 +1,56 @@
+package hdl.onpro;
+
+import android.app.Activity;
+
+import hdl.onpro.IRegisterDeviceFeedback;
+import com.mm.android.deviceaddmodule.LCDeviceEngine;
+
+public class HdlData {
+
+
+    private hdl.onpro.IRegisterDeviceFeedback iRegisterDeviceFeedback;
+    public hdl.onpro.IRegisterDeviceFeedback getiRegisterDeviceFeedback(){
+        if(iRegisterDeviceFeedback == null){
+            iRegisterDeviceFeedback = new hdl.onpro.IRegisterDeviceFeedback() {
+                @Override
+                public void feedback(String method, String data) {
+
+                }
+            };
+        }
+        return iRegisterDeviceFeedback;
+    }
+
+    public void setiRegisterDeviceFeedback(hdl.onpro.IRegisterDeviceFeedback feedback){
+        iRegisterDeviceFeedback = feedback;
+    }
+
+    private String productBrandldentity;
+
+    /**
+     * instance
+     */
+    private volatile static HdlData instance;
+
+    /**
+     * getInstance
+     *
+     * @return HDLLink
+     */
+    public static synchronized HdlData getInstance() {
+        if (instance == null) {
+            synchronized (HdlData.class) {
+                if (instance == null) {
+                    instance = new HdlData();
+                }
+            }
+        }
+        return instance;
+    }
+
+
+    public void initData(hdl.onpro.IRegisterDeviceFeedback iRegisterDeviceFeedback, String productBrandldentity){
+        LCDeviceEngine.newInstance().setProductBrandldentity(productBrandldentity);
+        this.iRegisterDeviceFeedback = iRegisterDeviceFeedback;
+    }
+}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/IRegisterDeviceFeedback.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/IRegisterDeviceFeedback.java
new file mode 100644
index 0000000..0ab851a
--- /dev/null
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/IRegisterDeviceFeedback.java
@@ -0,0 +1,6 @@
+package hdl.onpro;
+
+public interface IRegisterDeviceFeedback {
+    void feedback(String method, String data);
+
+}
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
index 929a4fb..70ff7bd 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/LCDeviceEngine.java
@@ -41,7 +41,6 @@
     public CommonParam commonParam;
     public String userId = "";
     private String homeId;
-    private String productBrandldentity;
 
     private Application context;
     public Application getContext() {
@@ -169,6 +168,7 @@
         this.homeId = homeId;
     }
 
+    private String productBrandldentity;
     public String getProductBrandldentity() { return productBrandldentity == null ? "" : productBrandldentity;}
 
     public void setProductBrandldentity(String productBrandldentity){
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
index 2df017f..3ee5a43 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/model/DeviceAddModel.java
@@ -26,6 +26,7 @@
 import com.lechange.opensdk.device.LCOpenSDK_DeviceInit;
 import com.lechange.opensdk.media.DeviceInitInfo;
 import com.lechange.opensdk.searchwifi.WlanInfo;
+import hdl.onpro.HdlData;
 import com.mm.android.deviceaddmodule.LCDeviceEngine;
 import com.mm.android.deviceaddmodule.helper.DeviceAddHelper;
 import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
@@ -329,7 +330,8 @@
             @Override
             public void doBusiness() throws BusinessException {
 
-                DeviceBindResult deviceBindResult = deviceAddService.hdlUserDeviceBind( sn, devPwd, LCDeviceEngine.newInstance().getProductBrandldentity());
+                DeviceBindResult deviceBindResult = deviceAddService.hdlUserDeviceBind( sn, devPwd,
+                        LCDeviceEngine.newInstance().getProductBrandldentity());
                 mDeviceAddInfo.setDeviceDefaultName(deviceBindResult.getDeviceName());
                 mDeviceAddInfo.setBindStatus(deviceBindResult.getBindStatus());
                 mDeviceAddInfo.setBindAcount(deviceBindResult.getUserAccount());
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
index b444b95..efac5fb 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/DeviceAddOpenApiManager.java
@@ -133,7 +133,7 @@
         paramsMap.put("extDevId", bindDeviceData.data.deviceId);
         paramsMap.put("spk","security.ipcam.imou");
         paramsMap.put("sid","8D00708PAGA01ED");
-        paramsMap.put("productBrandldentity",bindDeviceData.data.productBrandldentity);
+        paramsMap.put("productBrandIdentity",bindDeviceData.data.productBrandldentity);
         paramsMap.put("code", bindDeviceData.data.code);
         JsonObject json = HttpSend.execute(paramsMap, CONST.METHOD_BINDDEVICE,DMS_TIME_OUT);
         BindDeviceData.Response response = new BindDeviceData.Response();
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
index cd6c3a5..1af77fd 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java
@@ -8,12 +8,14 @@
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.google.gson.reflect.TypeToken;
+import hdl.onpro.HdlData;
 import com.mm.android.deviceaddmodule.LCDeviceEngine;
 import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
 import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
 import com.mm.android.deviceaddmodule.mobilecommon.utils.MD5Helper;
 
 import org.apache.http.conn.ConnectTimeoutException;
+import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
 import java.io.IOException;
@@ -56,21 +58,13 @@
         if (!"0".equals(code)) {
             try {
                 String msg = jsonResult.get("msg").getAsString();
-                if (method.equals("bindDevice")) {
-                    Intent intent = new Intent();
-                    intent.setAction("hdlUserDeviceBind");
-                    intent.putExtra("data", jsonResult.toString());
-                    LCDeviceEngine.newInstance().getContext().sendBroadcast(intent);
-                }
+                EventBus.getDefault().post("InterfaceException");
+                hdl.onpro.HdlData.getInstance().getiRegisterDeviceFeedback().feedback(method,jsonResult.toString());
                 throw new BusinessException(code + msg);
             }catch (Exception exception){
                 String msg = jsonResult.get("message").getAsString();
-                if (method.equals("bindDevice")) {
-                    Intent intent = new Intent();
-                    intent.setAction("hdlUserDeviceBind");
-                    intent.putExtra("data", jsonResult.toString());
-                    LCDeviceEngine.newInstance().getContext().sendBroadcast(intent);
-                }
+                EventBus.getDefault().post("InterfaceException");
+                hdl.onpro.HdlData.getInstance().getiRegisterDeviceFeedback().feedback(method,jsonResult.toString());
                 throw new BusinessException(code + msg);
             }
         }
diff --git a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/data/BindDeviceData.java b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/data/BindDeviceData.java
index 3c345ed..6883fe7 100644
--- a/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/data/BindDeviceData.java
+++ b/AndroidOpenDemo/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/data/BindDeviceData.java
@@ -35,7 +35,7 @@
         public String code;
         public String token;
         public String deviceId;
-        public String productBrandldentity;
+        public String productBrandldentity ;
 
         @Override
         public String toString() {
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
index 3a38645..8116998 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java
@@ -65,24 +65,19 @@
     public void onClick(View v) {
         int id = v.getId();
         if (id == R.id.tv_title_cn) {
-//            HdlToLc.initData( this,true,"");
         } else if (id == R.id.tv_overseas) {
+            HdlToLcUtils.getInstance().initData(this, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "https://test-gz.hdlcontrol.com");
+            HdlToLcUtils.getInstance().setHomeId("1633667926249299969");
+            HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI1NGQwODRhOTljZWY0YTlhYTU2YTE0ZDFiOTU2OGRkYyIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInRlbmFudElkIjoiMjAiLCJ1c2VyVHlwZSI6IlVTRVJfQyIsInRva2VuVHlwZSI6ImFjY2Vzc190b2tlbiIsInVzZXJOYW1lIjoic3hjXzAwNCIsInVzZXJEYXRhUmlnaHQiOiIxIiwib3BlbkFwcGxpY2F0aW9uSWQiOiIwIiwidXNlcklkIjoiMTU3NTA1OTM5MDAzMjYyNTY2NiIsImV4cCI6MTY3ODkzNjcwMywibmJmIjoxNjc4OTI5NTAzfQ.DT2ZaZrBy8aPW-EHSjzo_gbqWIQu38p6Qsi6fqzEwUv9anfTxPD7KkvvDErtm9VhTP7S2j-Os5LRjwDstQc-em8Jiqe4wGYTJ3GVHCrVLKIqTAnVIMOSJMLFB0ohUSsoN81lSVjoW9hmwR_w7B2UGOVHOL6Hr9xB_7jZuh8W7RQ");
+            HdlToLcUtils.getInstance().setSubAccessToken("St_0000sgf1760a76afb2431dadb9cc60e3");
         }
 
-
-
-        HdlToLcUtils.getInstance().initData(this, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "https://test-gz.hdlcontrol.com");
-        HdlToLcUtils.getInstance().setHomeId("1547099040465408002");
-        HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJhMGRiYmFjZDk4NzM0YmUyYWFhNDAwNjEzNzk5NTk0NSIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInVzZXJBY2NvdW50Ijoid3hyIiwidGVuYW50SWQiOiIyMCIsInVzZXJUeXBlIjoiVVNFUl9DIiwidG9rZW5UeXBlIjoiYWNjZXNzX3Rva2VuIiwidXNlck5hbWUiOiJ3eHIiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NzY5Njg0NTQsIm5iZiI6MTY3Njk2MTI1NH0.clsu2lKT8v3YPYrR7xtOwo21iCi9c__m_GCkIURNfXOid-ATAkvTjQvMveQyC-Q9f7qkH9O5TxUi0zPpTwqiFDxkO2_Xpcsuly310uhb3xBGpgp96_AKbyI69G9Q2lfj2EYBExcVwz54Sf2kgpX4kIXJINFULM4xYb7haNalRVw");
-        HdlToLcUtils.getInstance().setSubAccessToken("St_0000sg1cd05955ed7043b58f35d5456e");
-
-
-        //        HdlToLcUtils.getInstance().openActivity();
-        HdlToLcUtils.getInstance().addCamera(new IAddCamera() {
-            @Override
-            public void back() {
-            }
-        });
+                HdlToLcUtils.getInstance().openActivity();
+//        HdlToLcUtils.getInstance().addCamera(new IAddCamera() {
+//            @Override
+//            public void back() {
+//            }
+//        });
 //        HdlToLcUtils.getInstance().play("8F05F83AAG05B3A","xxxx");
     }
 
diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
index 09ffed0..8dc4320 100644
--- a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
@@ -31,7 +31,6 @@
     private String token;
     private String subAccessToken;
     private IAddCamera iAddCamera;
-    private String productBrandldentity;
 
     public Activity getActivity() {
         return activity;
@@ -91,7 +90,6 @@
     }
     public  void openActivity() {
         try {
-//            getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906");
             activity.startActivity(new Intent(activity, com.lechange.demo.ui.DeviceListActivity.class));
         } catch (Throwable e) {
             Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show();
@@ -141,14 +139,6 @@
     public void setHomeId(String homeId) {
         this.homeId = homeId;
         LCDeviceEngine.newInstance().setHomeId(homeId);
-    }
-
-    public String getProductBrandldentity() { return productBrandldentity;}
-
-    public void setProductBrandldentity(String productBrandldentity){
-        this.productBrandldentity = productBrandldentity;
-        LCDeviceEngine.newInstance().setProductBrandldentity(productBrandldentity);
-
     }
 
     public String getToken() {
diff --git a/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml b/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
index 6aaf1d6..d096cbc 100644
--- a/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
+++ b/AndroidOpenDemo/app/src/main/res/layout/activity_device_online_media_play.xml
@@ -269,6 +269,16 @@
             </LinearLayout>
 
         </LinearLayout>
+
+
+        <com.lechange.demo.view.LcCloudRudderView
+            android:visibility="gone"
+            android:layout_gravity="center"
+            android:id="@+id/rudder"
+            android:layout_width="250dp"
+            android:layout_height="250dp"
+            android:clickable="true" />
+
     </FrameLayout>
 
     <LinearLayout
@@ -411,12 +421,6 @@
             </FrameLayout>
         </LinearLayout>
 
-        <com.lechange.demo.view.LcCloudRudderView
-            android:visibility="gone"
-            android:layout_gravity="center"
-            android:id="@+id/rudder"
-            android:layout_width="250dp"
-            android:layout_height="250dp"
-            android:clickable="true" />
     </FrameLayout>
+
 </RelativeLayout>
\ No newline at end of file

--
Gitblit v1.8.0