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 |  111 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 89 insertions(+), 22 deletions(-)

diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
index 06a9b33..8dc4320 100644
--- a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
@@ -8,6 +8,7 @@
 import android.support.v4.app.ActivityCompat;
 import android.widget.Toast;
 
+import com.callBack.IAddCamera;
 import com.common.openapi.ClassInstanceManager;
 import com.lechange.demo.tools.MediaPlayHelper;
 import com.mm.android.deviceaddmodule.CommonParam;
@@ -15,17 +16,23 @@
 import com.mm.android.deviceaddmodule.LCDeviceEngine;
 import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager;
 import com.mm.android.deviceaddmodule.openapi.CONST;
+import com.mm.android.deviceaddmodule.openapi.HttpClient;
 import com.usermodule.net.IUserDataCallBack;
 import com.usermodule.net.UserNetManager;
 
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
 public class HdlToLcUtils {
 
-    private  Activity activity;
+    private Activity activity;
     private String homeId;
     private String token;
     private String subAccessToken;
+    private IAddCamera iAddCamera;
 
-    public  Activity getActivity() {
+    public Activity getActivity() {
         return activity;
     }
 
@@ -50,29 +57,27 @@
         return instance;
     }
 
-    public  void initData(Activity activity, String appKey, String secretKey, boolean isChina) {
+    public  void initData(Activity activity, String appKey, String secretKey,String url) {
         this.activity = activity;
         MediaPlayHelper.initContext(activity.getApplication().getApplicationContext());
-        ClassInstanceManager.newInstance().init(activity.getApplication());
-        String mUrl;
-        if (isChina) {
-//            mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
-//            mAppid = "lc2ea929282d5f4636";
-            mUrl = CONST.Envirment.CHINA_TEST.url;
-            ProviderManager.getAppProvider().setAppType(0);
-        } else {
-//            mAppSecret = "017fc27bb987496f9a677e4e6f0c88";
-//            mAppid = "lc0285433bc7e8423d";
-//            mUrl = CONST.Envirment.OVERSEAS_PRO.url;
-            mUrl=CONST.Envirment.CHINA_TEST.url;
-            ProviderManager.getAppProvider().setAppType(1);
-        }
+        ClassInstanceManager.newInstance().init(activity.getApplication().getApplicationContext());
+//        if (isChina) {
+////            mAppSecret = "f869433de68a4a06bb8f9bb89118fc";
+////            mAppid = "lc2ea929282d5f4636";
+//            mUrl = CONST.Envirment.CHINA_TEST.url;
+//            ProviderManager.getAppProvider().setAppType(0);
+//        } else {
+//            secretKey = "017fc27bb987496f9a677e4e6f0c88";
+//            appKey = "lc0285433bc7e8423d";
+//            url = CONST.Envirment.OVERSEAS_PRO.url;
+             ProviderManager.getAppProvider().setAppType(1);
+//        }
 
 
 
         try {
             CommonParam commonParam = new CommonParam();
-            commonParam.setEnvirment(mUrl);//浜戠杩炴帴
+            commonParam.setEnvirment(url);//浜戠杩炴帴
             commonParam.setContext(activity.getApplication());
             commonParam.setAppId(appKey);
             commonParam.setAppSecret(secretKey);
@@ -85,20 +90,41 @@
     }
     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();
         }
     }
 
-    public  void addCamera() {
+    public  void addCamera(IAddCamera iAddCamera) {
+        if(!EventBus.getDefault().isRegistered(this)){
+            EventBus.getDefault().register(this);
+        }
+        this.iAddCamera = iAddCamera;
         //寮�鍚坊鍔犻〉闈�
         activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class));
+        HdlToLcUtils.getInstance().requestCameraPermissions();
+
     }
 
-    public  void play(String deviceId){
-        new DeviceUtils(deviceId).play();
+    public void ShowErrorInfo(boolean isShow){
+        HttpClient.SetShowErrorInfo(isShow);
+    }
+
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void onGetMessage(String obj) {
+        if (obj.equals("backXamarin")) {
+            if (EventBus.getDefault().isRegistered(this)) {
+                EventBus.getDefault().unregister(this);
+            }
+
+            if (iAddCamera != null)
+                iAddCamera.back();
+        }
+    }
+
+    public  void play(String deviceId,String title){
+        new DeviceUtils(deviceId,title).play();
     }
 
 
@@ -153,6 +179,47 @@
         });
     }
 
+    public boolean checkCameraPermissions(){
+        boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
+        return isGranted;
+    }
+
+    /**
+     *  璇锋眰鎽勫儚澶村叏涓�
+     */
+    public void requestCameraPermissions(){
+        boolean isMinSDKM = Build.VERSION.SDK_INT < 23;
+        boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
+        if (isMinSDKM || isGranted) {
+            return;
+        }
+        requestRecordCameraPermission();
+    }
+
+
+    private  void requestRecordCameraPermission() {
+        if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA)
+                || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
+                || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_EXTERNAL_STORAGE)) {
+            ActivityCompat.requestPermissions(activity,
+                    new String[]{
+                            Manifest.permission.CAMERA,
+                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                            Manifest.permission.READ_EXTERNAL_STORAGE},
+                    1);
+        } else {
+            ActivityCompat.requestPermissions(activity,
+                    new String[]{
+                            Manifest.permission.CAMERA,
+                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                            Manifest.permission.READ_EXTERNAL_STORAGE},
+                    1);
+        }
+    }
 
     /**
      * 璇锋眰瀵硅鏉冮檺

--
Gitblit v1.8.0