From 7c3d23232c5c0328131d2b560e6224dd0d566f01 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 24 十一月 2022 14:27:22 +0800 Subject: [PATCH] Merge branch 'wxr-sdk-test' into SDK --- AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 218 insertions(+), 0 deletions(-) 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..0fdee9f --- /dev/null +++ b/AndroidOpenDemo/app/src/main/java/com/utils/HdlToLcUtils.java @@ -0,0 +1,218 @@ +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.callBack.IAddCamera; +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; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + +public class HdlToLcUtils { + + private Activity activity; + private String homeId; + private String token; + private String subAccessToken; + private IAddCamera iAddCamera; + + 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,String url) { + this.activity = activity; + MediaPlayHelper.initContext(activity.getApplication().getApplicationContext()); + 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(url);//浜戠杩炴帴 + 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(IAddCamera iAddCamera) { + if(!EventBus.getDefault().isRegistered(this)){ + EventBus.getDefault().register(this); + } + //寮�鍚坊鍔犻〉闈� + activity.startActivity(new Intent(activity.getApplication(), DeviceAddActivity.class)); + + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onGetMessage(String obj) { + if(obj.equals("backXamarin")){ + iAddCamera.back(); + + if(EventBus.getDefault().isRegistered(this)){ + EventBus.getDefault().unregister(this); + } + } + } + + 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