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