From 57a05be8ea321d9268c146a542b1ecf7d023bf1c Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 22 十一月 2022 17:17:44 +0800
Subject: [PATCH] 增加了播放

---
 AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java               |    2 
 /dev/null                                                                      |  132 --------------
 AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java                  |  199 ++++++++++++++++++++++
 AndroidOpenDemo/.idea/workspace.xml                                            |   63 ++++--
 AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java                  |    2 
 AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java   |   12 +
 AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java |    4 
 AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java                   |   82 +++++++++
 8 files changed, 333 insertions(+), 163 deletions(-)

diff --git a/AndroidOpenDemo/.idea/workspace.xml b/AndroidOpenDemo/.idea/workspace.xml
index 98cdf1f..848df7b 100644
--- a/AndroidOpenDemo/.idea/workspace.xml
+++ b/AndroidOpenDemo/.idea/workspace.xml
@@ -15,11 +15,12 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="7bacc5cf-316f-4ad4-b191-7f5297eb7bcf" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/app/src/main/java/com/utils/DeviceUtils.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpClient.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" beforeDir="false" afterPath="$PROJECT_DIR$/DeviceAddModule/src/main/java/com/mm/android/deviceaddmodule/openapi/HttpSend.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/common/openapi/DeviceInfoOpenApiManager.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/HdlToLc.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/HdlToLc.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/HdlToLc.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/utils/HdlToLcUtils.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/net/IUserDataCallBack.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/net/IUserDataCallBack.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/net/UserNetManager.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/net/UserNetManager.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/lechange/demo/ui/EnvGuideActivity.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
@@ -136,6 +137,7 @@
       <recent name="com" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.utils" />
       <recent name="com.mm.android.deviceaddmodule.utils" />
     </key>
     <key name="CopyFile.RECENT_KEYS">
@@ -348,51 +350,59 @@
     </ignored-roots>
   </component>
   <component name="WindowStateProjectService">
-    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser" timestamp="1669099481115">
+    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser" timestamp="1669107811029">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser/0.0.1280.800@0.0.1280.800" timestamp="1669099481115" />
-    <state width="503" height="480" key="DebuggerActiveHint" timestamp="1669101875842">
+    <state x="453" y="91" key="#com.intellij.ide.util.MemberChooser/0.0.1280.800@0.0.1280.800" timestamp="1669107811029" />
+    <state x="180" y="331" key="#com.intellij.refactoring.move.MoveHandler.SelectRefactoringDialog" timestamp="1669107459555">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="503" height="480" key="DebuggerActiveHint/0.0.1280.800@0.0.1280.800" timestamp="1669101875842" />
+    <state x="180" y="331" key="#com.intellij.refactoring.move.MoveHandler.SelectRefactoringDialog/0.0.1280.800@0.0.1280.800" timestamp="1669107459555" />
+    <state x="326" y="288" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.packages" timestamp="1669107461906">
+      <screen x="0" y="0" width="1280" height="800" />
+    </state>
+    <state x="326" y="288" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.packages/0.0.1280.800@0.0.1280.800" timestamp="1669107461905" />
+    <state width="503" height="480" key="DebuggerActiveHint" timestamp="1669108173504">
+      <screen x="0" y="0" width="1280" height="800" />
+    </state>
+    <state width="503" height="480" key="DebuggerActiveHint/0.0.1280.800@0.0.1280.800" timestamp="1669108173504" />
     <state width="462" height="480" key="DebuggerActiveHint/0.23.1280.777@0.23.1280.777" timestamp="1669100189203" />
-    <state width="1236" height="287" key="GridCell.Tab.0.bottom" timestamp="1669101968820">
+    <state width="1236" height="287" key="GridCell.Tab.0.bottom" timestamp="1669108419917">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.0.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669101968820" />
+    <state width="1236" height="287" key="GridCell.Tab.0.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669108419917" />
     <state width="1236" height="206" key="GridCell.Tab.0.bottom/0.23.1280.777@0.23.1280.777" timestamp="1669007123738" />
-    <state width="1236" height="287" key="GridCell.Tab.0.center" timestamp="1669101968818">
+    <state width="1236" height="287" key="GridCell.Tab.0.center" timestamp="1669108419916">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.0.center/0.0.1280.800@0.0.1280.800" timestamp="1669101968818" />
+    <state width="1236" height="287" key="GridCell.Tab.0.center/0.0.1280.800@0.0.1280.800" timestamp="1669108419916" />
     <state width="1236" height="206" key="GridCell.Tab.0.center/0.23.1280.777@0.23.1280.777" timestamp="1669007123735" />
-    <state width="1236" height="287" key="GridCell.Tab.0.left" timestamp="1669101968816">
+    <state width="1236" height="287" key="GridCell.Tab.0.left" timestamp="1669108419916">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.0.left/0.0.1280.800@0.0.1280.800" timestamp="1669101968816" />
+    <state width="1236" height="287" key="GridCell.Tab.0.left/0.0.1280.800@0.0.1280.800" timestamp="1669108419916" />
     <state width="1236" height="206" key="GridCell.Tab.0.left/0.23.1280.777@0.23.1280.777" timestamp="1669007123734" />
-    <state width="1236" height="287" key="GridCell.Tab.0.right" timestamp="1669101968819">
+    <state width="1236" height="287" key="GridCell.Tab.0.right" timestamp="1669108419917">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.0.right/0.0.1280.800@0.0.1280.800" timestamp="1669101968819" />
+    <state width="1236" height="287" key="GridCell.Tab.0.right/0.0.1280.800@0.0.1280.800" timestamp="1669108419917" />
     <state width="1236" height="206" key="GridCell.Tab.0.right/0.23.1280.777@0.23.1280.777" timestamp="1669007123736" />
-    <state width="1236" height="287" key="GridCell.Tab.1.bottom" timestamp="1669101968826">
+    <state width="1236" height="287" key="GridCell.Tab.1.bottom" timestamp="1669108419920">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.1.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669101968826" />
-    <state width="1236" height="287" key="GridCell.Tab.1.center" timestamp="1669101968824">
+    <state width="1236" height="287" key="GridCell.Tab.1.bottom/0.0.1280.800@0.0.1280.800" timestamp="1669108419920" />
+    <state width="1236" height="287" key="GridCell.Tab.1.center" timestamp="1669108419919">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.1.center/0.0.1280.800@0.0.1280.800" timestamp="1669101968824" />
-    <state width="1236" height="287" key="GridCell.Tab.1.left" timestamp="1669101968822">
+    <state width="1236" height="287" key="GridCell.Tab.1.center/0.0.1280.800@0.0.1280.800" timestamp="1669108419919" />
+    <state width="1236" height="287" key="GridCell.Tab.1.left" timestamp="1669108419918">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.1.left/0.0.1280.800@0.0.1280.800" timestamp="1669101968822" />
-    <state width="1236" height="287" key="GridCell.Tab.1.right" timestamp="1669101968825">
+    <state width="1236" height="287" key="GridCell.Tab.1.left/0.0.1280.800@0.0.1280.800" timestamp="1669108419918" />
+    <state width="1236" height="287" key="GridCell.Tab.1.right" timestamp="1669108419919">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
-    <state width="1236" height="287" key="GridCell.Tab.1.right/0.0.1280.800@0.0.1280.800" timestamp="1669101968825" />
+    <state width="1236" height="287" key="GridCell.Tab.1.right/0.0.1280.800@0.0.1280.800" timestamp="1669108419919" />
     <state x="332" y="44" width="769" height="629" key="find.popup" timestamp="1669101340329">
       <screen x="0" y="0" width="1280" height="800" />
     </state>
@@ -441,6 +451,11 @@
           <line>187</line>
           <option name="timeStamp" value="84" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" suspend="THREAD" type="java-line">
+          <url>file://$PROJECT_DIR$/app/src/main/java/com/lechange/demo/adapter/DeviceListAdapter.java</url>
+          <line>48</line>
+          <option name="timeStamp" value="92" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java b/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java
deleted file mode 100644
index 1331223..0000000
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/HdlToLc.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.hdl;
-
-import android.Manifest;
-import android.app.Activity;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.widget.Toast;
-import android.support.v4.app.ActivityCompat;
-
-import com.common.openapi.ClassInstanceManager;
-import com.lechange.demo.tools.MediaPlayHelper;
-import com.mm.android.deviceaddmodule.CommonParam;
-import com.mm.android.deviceaddmodule.LCDeviceEngine;
-import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager;
-import com.mm.android.deviceaddmodule.openapi.CONST;
-import com.usermodule.net.IUserDataCallBack;
-import com.usermodule.net.UserNetManager;
-
-public class HdlToLc {
-
-    private static Activity mActivity;
-
-    public static void initData(Activity activity,String appKey,String secretKey, boolean isChina) {
-        mActivity = activity;
-        MediaPlayHelper.initContext(mActivity.getApplication().getApplicationContext());
-        ClassInstanceManager.newInstance().init(mActivity.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);
-        }
-
-
-
-        try {
-            CommonParam commonParam = new CommonParam();
-            commonParam.setEnvirment(mUrl);//浜戠杩炴帴
-            commonParam.setContext(mActivity.getApplication());
-            commonParam.setAppId(appKey);
-            commonParam.setAppSecret(secretKey);
-
-            //SDK淇℃伅鍒濆鍖�
-            LCDeviceEngine.newInstance().init(commonParam);
-        } catch (Throwable e) {
-            Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
-        }
-    }
-    public static void openActivity(String homeId,String token,String subAccessToken) {
-        try {
-//            getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906");
-            LCDeviceEngine.newInstance().setHomeId(homeId);
-            LCDeviceEngine.newInstance().accessToken=(token);
-            LCDeviceEngine.newInstance().setSubAccessToken(subAccessToken);
-            mActivity.startActivity(new Intent(mActivity, com.lechange.demo.ui.DeviceListActivity.class));
-        } catch (Throwable e) {
-            Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
-        }
-    }
-
-    private static void getSubAccountToken(String openId){
-        UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() {
-            @Override
-            public void onCallBackOpenId(String str) {
-                if (str!=null){
-                    //鏆備笉淇濆瓨鍒皊p涓簡锛屽洜涓鸿幏鍙栭渶瑕乧ontext銆�
-                    //  PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str);
-                    LCDeviceEngine.newInstance().setSubAccessToken(str);
-
-                    mActivity.startActivity(new Intent(mActivity,com.lechange.demo.ui.DeviceListActivity.class));
-                }
-            }
-
-            @Override
-            public void onError(Throwable throwable) {
-
-            }
-        });
-    }
-
-
-    /**
-     * 璇锋眰瀵硅鏉冮檺
-     */
-    public static void requestPermission() {
-        boolean isMinSDKM = Build.VERSION.SDK_INT < 23;
-        boolean isGranted = ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
-                && ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
-        if (isMinSDKM || isGranted) {
-            return;
-        }
-        requestRecordAudioPermission();
-    }
-
-    private static void requestRecordAudioPermission() {
-        if (ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.RECORD_AUDIO)
-                || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.ACCESS_COARSE_LOCATION)
-                || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.CAMERA)
-                || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE)
-                || ActivityCompat.shouldShowRequestPermissionRationale(mActivity, Manifest.permission.READ_EXTERNAL_STORAGE)) {
-            ActivityCompat.requestPermissions(mActivity,
-                    new String[]{
-                            Manifest.permission.RECORD_AUDIO,
-                            Manifest.permission.ACCESS_COARSE_LOCATION,
-                            Manifest.permission.CAMERA,
-                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                            Manifest.permission.READ_EXTERNAL_STORAGE},
-                    1);
-        } else {
-            ActivityCompat.requestPermissions(mActivity,
-                    new String[]{
-                            Manifest.permission.RECORD_AUDIO,
-                            Manifest.permission.ACCESS_COARSE_LOCATION,
-                            Manifest.permission.CAMERA,
-                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                            Manifest.permission.READ_EXTERNAL_STORAGE},
-                    1);
-        }
-    }
-
-}
diff --git a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
index b4e88e6..9fc6ccc 100644
--- a/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
+++ b/AndroidOpenDemo/app/src/main/java/com/lechange/demo/ui/DeviceListActivity.java
@@ -19,7 +19,6 @@
 import com.common.openapi.MethodConst;
 import com.common.openapi.entity.DeviceDetailListData;
 import com.common.openapi.entity.DeviceListData;
-import com.hdl.HdlToLc;
 import com.lechange.demo.R;
 import com.lechange.demo.adapter.DeviceListAdapter;
 import com.lechange.demo.view.LcPullToRefreshRecyclerView;
@@ -27,6 +26,7 @@
 import com.lechange.pulltorefreshlistview.PullToRefreshBase;
 import com.mm.android.deviceaddmodule.LCDeviceEngine;
 import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
+import com.utils.HdlToLcUtils;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -53,7 +53,7 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_device_list);
         initView();
-        HdlToLc.requestPermission();
+        HdlToLcUtils.getInstance().requestPermission();
     }
 
     private void initView() {
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 e045fb7..d4b138c 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
@@ -6,10 +6,11 @@
 import android.view.View;
 import android.widget.TextView;
 import android.widget.Toast;
-import com.hdl.HdlToLc;
+
 import com.lechange.demo.R;
 import com.lechange.demo.tools.RootUtil;
 import com.mm.android.deviceaddmodule.utils.SDsolutionUtility;
+import com.utils.HdlToLcUtils;
 
 public class EnvGuideActivity extends Activity implements View.OnClickListener {
     private TextView tvTitleCn;
@@ -64,10 +65,15 @@
         if (id == R.id.tv_title_cn) {
 //            HdlToLc.initData( this,true,"");
         } else if (id == R.id.tv_overseas) {
-            HdlToLc.initData(this,"HDL-HOME-APP-TEST","WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss",false);
+            HdlToLcUtils.getInstance().initData(this, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", false);
         }
 
-        HdlToLc.openActivity("1547099040465408002","eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiIzMTI5ZjNlMDAwY2Q0YzhiOTgyYjUyNTk5MTE2MTJlMCIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkxMDkxMjcsIm5iZiI6MTY2OTEwMTkyN30.TIyMqggqbaYoBEApeHTq3AidoKWZt5HpO2eUkhn_58VslSTxc-NhHwclTHjLpdVaMklJk1HMLQLwPOiJGhbUksOewO2dStzW1xYOpb_6zDs6Rw6v0h5cKmAYOf1f1S6RLqF2EHigf9fyy090ClWYcJo-9c_CFBXir4Y1lzDmLZQ","St_00003ee84eda32b14126af958052f20a");
+        HdlToLcUtils.getInstance().setHomeId("1547099040465408002");
+        HdlToLcUtils.getInstance().setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiIzMTI5ZjNlMDAwY2Q0YzhiOTgyYjUyNTk5MTE2MTJlMCIsImNvbXBhbnlJZCI6IjIwMiIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiJ3eHIiLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0IiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6Ind4ciIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2NjkxMDkxMjcsIm5iZiI6MTY2OTEwMTkyN30.TIyMqggqbaYoBEApeHTq3AidoKWZt5HpO2eUkhn_58VslSTxc-NhHwclTHjLpdVaMklJk1HMLQLwPOiJGhbUksOewO2dStzW1xYOpb_6zDs6Rw6v0h5cKmAYOf1f1S6RLqF2EHigf9fyy090ClWYcJo-9c_CFBXir4Y1lzDmLZQ");
+        HdlToLcUtils.getInstance().setSubAccessToken("St_00003ee84eda32b14126af958052f20a");
+//        HdlToLcUtils.getInstance().openActivity();
+        //HdlToLcUtils.getInstance().AddCamera();
+        HdlToLcUtils.getInstance().play("8F05F83AAG05B3A");
 
     }
 
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java b/AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
similarity index 89%
rename from AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java
rename to AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
index 0d8fb4e..62708aa 100644
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/net/IUserDataCallBack.java
+++ b/AndroidOpenDemo/app/src/main/java/com/net/IUserDataCallBack.java
@@ -1,4 +1,4 @@
-package com.hdl.net;
+package com.net;
 
 public interface IUserDataCallBack {
     void onCallBackOpenId(String str);
diff --git a/AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java b/AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
similarity index 99%
rename from AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java
rename to AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
index 6ffa6c1..d78bd22 100644
--- a/AndroidOpenDemo/app/src/main/java/com/hdl/net/UserNetManager.java
+++ b/AndroidOpenDemo/app/src/main/java/com/net/UserNetManager.java
@@ -1,4 +1,4 @@
-package com.hdl.net;
+package com.net;
 
 import android.os.Handler;
 import android.os.Message;
diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java
new file mode 100644
index 0000000..ac96eb4
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/DeviceUtils.java
@@ -0,0 +1,82 @@
+package com.utils;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.widget.Toast;
+
+import com.common.openapi.ClassInstanceManager;
+import com.common.openapi.DeviceSubAccountListService;
+import com.common.openapi.IGetDeviceInfoCallBack;
+import com.common.openapi.MethodConst;
+import com.common.openapi.entity.DeviceDetailListData;
+import com.lechange.demo.ui.DeviceDetailActivity;
+import com.lechange.demo.ui.DeviceListActivity;
+import com.lechange.demo.ui.DeviceOnlineMediaPlayActivity;
+import com.mm.android.deviceaddmodule.openapi.HDLMD5Utils;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by hxb on 2022/11/22.
+ */
+public class DeviceUtils implements IGetDeviceInfoCallBack.ISubAccountDevice< DeviceDetailListData.Response>  {
+
+    private String deviceId;
+    public DeviceUtils(String deviceId){
+        this.deviceId=deviceId;
+    }
+    private List<DeviceDetailListData.ResponseData.DeviceListBean> datas = new ArrayList<>();
+
+    private void getDeviceList() {
+        DeviceSubAccountListService deviceSubAccountListService = ClassInstanceManager.newInstance().getDeviceSubAccountListService();
+        deviceSubAccountListService.getSubAccountDeviceList(1,this);
+    }
+
+    public void play() {
+        if (datas.size() == 0) {
+            getDeviceList();
+        } else {
+            for (DeviceDetailListData.ResponseData.DeviceListBean deviceListBean : datas) {
+                if (deviceListBean.deviceId.equals(deviceId)) {
+                    if (!deviceListBean.status.equals("online")) {
+                        return;
+                    }
+                    Bundle bundle = new Bundle();
+                    bundle.putSerializable(MethodConst.ParamConst.deviceDetail, deviceListBean);
+                    Intent intent = new Intent(HdlToLcUtils.getInstance().getActivity(), DeviceOnlineMediaPlayActivity.class);
+                    intent.putExtras(bundle);
+                    HdlToLcUtils.getInstance().getActivity().startActivity(intent);
+                }
+            }
+        }
+    }
+    @Override
+    public void DeviceList(DeviceDetailListData.Response responseData) {
+
+        if (responseData.data != null && responseData.data.deviceList != null && responseData.data.deviceList.size() != 0) {
+            Iterator<DeviceDetailListData.ResponseData.DeviceListBean> iterator = responseData.data.deviceList.iterator();
+            while (iterator.hasNext()) {
+                DeviceDetailListData.ResponseData.DeviceListBean next = iterator.next();
+                if (next.channels != null && next.channels.size() == 0 && !next.catalog.contains("NVR")) {
+                    // 浣跨敤杩唬鍣ㄤ腑鐨剅emove()鏂规硶,鍙互鍒犻櫎鍏冪礌.
+                    iterator.remove();
+                }
+            }
+        }
+
+        if ((responseData.data == null || responseData.data.deviceList == null || responseData.data.deviceList.size() == 0)) {
+            return;
+        }
+
+        datas.addAll(responseData.data.deviceList);
+
+        play();
+    }
+    @Override
+    public void onError(Throwable throwable) {
+        Toast.makeText(HdlToLcUtils.getInstance().getActivity(), throwable.getMessage(), Toast.LENGTH_SHORT).show();
+    }
+}
diff --git a/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
new file mode 100644
index 0000000..06a9b33
--- /dev/null
+++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java
@@ -0,0 +1,199 @@
+package com.utils;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.support.v4.app.ActivityCompat;
+import android.widget.Toast;
+
+import com.common.openapi.ClassInstanceManager;
+import com.lechange.demo.tools.MediaPlayHelper;
+import com.mm.android.deviceaddmodule.CommonParam;
+import com.mm.android.deviceaddmodule.DeviceAddActivity;
+import com.mm.android.deviceaddmodule.LCDeviceEngine;
+import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.ProviderManager;
+import com.mm.android.deviceaddmodule.openapi.CONST;
+import com.usermodule.net.IUserDataCallBack;
+import com.usermodule.net.UserNetManager;
+
+public class HdlToLcUtils {
+
+    private  Activity activity;
+    private String homeId;
+    private String token;
+    private String subAccessToken;
+
+    public  Activity getActivity() {
+        return activity;
+    }
+
+    /**
+     * instance
+     */
+    private volatile static HdlToLcUtils instance;
+
+    /**
+     * getInstance
+     *
+     * @return HDLLink
+     */
+    public static synchronized HdlToLcUtils getInstance() {
+        if (instance == null) {
+            synchronized (HdlToLcUtils.class) {
+                if (instance == null) {
+                    instance = new HdlToLcUtils();
+                }
+            }
+        }
+        return instance;
+    }
+
+    public  void initData(Activity activity, String appKey, String secretKey, boolean isChina) {
+        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);
+        }
+
+
+
+        try {
+            CommonParam commonParam = new CommonParam();
+            commonParam.setEnvirment(mUrl);//浜戠杩炴帴
+            commonParam.setContext(activity.getApplication());
+            commonParam.setAppId(appKey);
+            commonParam.setAppSecret(secretKey);
+
+            //SDK淇℃伅鍒濆鍖�
+            LCDeviceEngine.newInstance().init(commonParam);
+        } catch (Throwable e) {
+            Toast.makeText(activity, e.getMessage(), Toast.LENGTH_SHORT).show();
+        }
+    }
+    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() {
+        //寮�鍚坊鍔犻〉闈�
+        activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class));
+    }
+
+    public  void play(String deviceId){
+        new DeviceUtils(deviceId).play();
+    }
+
+
+    public void setActivity(Activity activity) {
+        this.activity = activity;
+    }
+
+    public String getHomeId() {
+        return homeId;
+    }
+
+    public void setHomeId(String homeId) {
+        this.homeId = homeId;
+        LCDeviceEngine.newInstance().setHomeId(homeId);
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+        LCDeviceEngine.newInstance().accessToken=(token);
+    }
+
+    public String getSubAccessToken() {
+        return subAccessToken;
+    }
+
+    public void setSubAccessToken(String subAccessToken) {
+        this.subAccessToken = subAccessToken;
+        LCDeviceEngine.newInstance().setSubAccessToken(subAccessToken);
+    }
+
+    private  void getSubAccountToken(String openId){
+        UserNetManager.getInstance().subAccountToken(openId, new IUserDataCallBack() {
+            @Override
+            public void onCallBackOpenId(String str) {
+                if (str!=null){
+                    //鏆備笉淇濆瓨鍒皊p涓簡锛屽洜涓鸿幏鍙栭渶瑕乧ontext銆�
+                    //  PreferencesHelper.getInstance(getApplicationContext()).set(Constants.SUBACCOUNTTOKEN,str);
+                    LCDeviceEngine.newInstance().setSubAccessToken(str);
+
+                    activity.startActivity(new Intent(activity,com.lechange.demo.ui.DeviceListActivity.class));
+                }
+            }
+
+            @Override
+            public void onError(Throwable throwable) {
+
+            }
+        });
+    }
+
+
+    /**
+     * 璇锋眰瀵硅鏉冮檺
+     */
+    public  void requestPermission() {
+        boolean isMinSDKM = Build.VERSION.SDK_INT < 23;
+        boolean isGranted = ActivityCompat.checkSelfPermission(activity, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
+                && ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
+                && 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;
+        }
+        requestRecordAudioPermission();
+    }
+
+    private  void requestRecordAudioPermission() {
+        if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.RECORD_AUDIO)
+                || ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.ACCESS_COARSE_LOCATION)
+                || 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.RECORD_AUDIO,
+                            Manifest.permission.ACCESS_COARSE_LOCATION,
+                            Manifest.permission.CAMERA,
+                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                            Manifest.permission.READ_EXTERNAL_STORAGE},
+                    1);
+        } else {
+            ActivityCompat.requestPermissions(activity,
+                    new String[]{
+                            Manifest.permission.RECORD_AUDIO,
+                            Manifest.permission.ACCESS_COARSE_LOCATION,
+                            Manifest.permission.CAMERA,
+                            Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                            Manifest.permission.READ_EXTERNAL_STORAGE},
+                    1);
+        }
+    }
+
+}

--
Gitblit v1.8.0