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