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 String mAppid;
private static String mAppSecret;
private static String mUrl;
// private static String mOpenId;
///
///
///
public static String APP_KEY = "HDL-HOME-APP-TEST";
///
///
///
public static String SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss";
/**
* 子账号token
*/
private static String mSubToken;
private static Activity mActivity;
//用乐橙平台直接测试
public static boolean useLCForTest=true;
public static void initData(Activity activity,String appKey,String secretKey, boolean isChina,String subToken) {
mActivity = activity;
mSubToken = subToken;
MediaPlayHelper.initContext(mActivity.getApplication().getApplicationContext());
ClassInstanceManager.newInstance().init(mActivity.getApplication());
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);
}
APP_KEY=appKey;
SECRET_KEY=secretKey;
try {
CommonParam commonParam = new CommonParam();
commonParam.setEnvirment(mUrl);//云端连接
commonParam.setContext(mActivity.getApplication());
commonParam.setAppId(mAppid);
commonParam.setAppSecret(mAppSecret);
//SDK信息初始化
LCDeviceEngine.newInstance().init(commonParam);
} catch (Throwable e) {
Toast.makeText(mActivity, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
public static void openActivity()
{
try {
// getSubAccountToken("827a98c98da7469b8bc19bb6a3c7651906");
LCDeviceEngine.newInstance().setSubAccessToken(mSubToken);
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){
//暂不保存到sp中了,因为获取需要context。
// 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);
}
}
}