comptible socket and passport service in AISDK
This commit is contained in:
@@ -11,9 +11,6 @@ import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.cloud.util.Devices;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
@@ -41,17 +38,16 @@ public class MoGoApplication extends MultiDexApplication {
|
||||
clientConfig.setNetMode(MogoHttpDnsConfig.HTTP_DNS_ENV_QA);
|
||||
|
||||
// 设置是否是第三APP登录,false:自有车机 true:外部三方车机
|
||||
clientConfig.setThirdLogin(false);
|
||||
// 设置长链AppId //todo 需要卸载智慧驾驶
|
||||
clientConfig.setSocketAppId("com.mogo.launcher");
|
||||
|
||||
// 设置是否输出日志
|
||||
clientConfig.setShowDebugLog(true);
|
||||
clientConfig.setThirdLogin(true);
|
||||
// 设置从蘑菇AI开放平台获取的APPKey
|
||||
clientConfig.setThirdPartyAppKey("wbvpzgar");
|
||||
// 设置AI云平台分配给三方应用的签名密钥,需要从AI云平台申请
|
||||
// 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备)
|
||||
clientConfig.setThirdPartyDeviceId(Devices.getSn());
|
||||
// 设置应用服务AppId 长链、鉴权 //todo 需要卸载智慧驾驶、行车记录仪
|
||||
clientConfig.setServiceAppId("com.mogo.launcher");
|
||||
// 设置是否输出日志
|
||||
clientConfig.setShowDebugLog(true);
|
||||
// 设置循环检测间隔时间
|
||||
clientConfig.setLoopCheckDelay(15 * 1000);
|
||||
// 设置是否属于高精定位设备
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.mogo.cloud.utils.logger.Logger;
|
||||
|
||||
public class WifiBroadCastReceiver extends BroadcastReceiver {
|
||||
|
||||
private WifiBroadCastReceiver() {
|
||||
public WifiBroadCastReceiver() {
|
||||
Logger.d(TAG, "WifiBroadCastReceiver init");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,8 +27,10 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
// passport
|
||||
// passport-for-sdk 外部SDK版本
|
||||
implementation 'com.zhidao.thirdlogin:third-login:1.0.2'
|
||||
// passport-for-internal 内部SDK版本
|
||||
implementation 'com.zhidao.accountservice:account-sdk:1.0.18'
|
||||
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
api "com.mogo.cloud:httpdns:${MOGO_HTTPDNS_VERSION}"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.mogo.cloud.passport;
|
||||
|
||||
public interface IPassport {
|
||||
|
||||
void onSuccess(String token, String sn);
|
||||
|
||||
void onError(int code, String msg);
|
||||
}
|
||||
@@ -9,11 +9,6 @@ import com.mogo.cloud.httpdns.MogoHttpDnsClient;
|
||||
import com.mogo.cloud.httpdns.MogoHttpDnsConfig;
|
||||
import com.mogo.cloud.utils.logger.LogLevel;
|
||||
import com.mogo.cloud.utils.logger.Logger;
|
||||
import com.zhidao.thirdlogin.Environment;
|
||||
import com.zhidao.thirdlogin.LoginManager;
|
||||
import com.zhidao.thirdlogin.model.ThirdLoginParam;
|
||||
import com.zhidao.thirdlogin.model.TokenData;
|
||||
import com.zhidao.thirdlogin.network.LoginCallback;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -25,14 +20,14 @@ import java.util.List;
|
||||
*/
|
||||
@Keep
|
||||
public class MoGoAiCloudClient {
|
||||
private static final String TAG = "MoGoAiCloudClient";
|
||||
public static final String TAG = "MoGoAiCloudClient";
|
||||
private static volatile MoGoAiCloudClient sInstance;
|
||||
|
||||
private MoGoAiCloudClientConfig mAiCloudClientConfig;
|
||||
private MogoHttpDnsConfig mHttpDnsConfig;
|
||||
private Context mContext;
|
||||
|
||||
private List<IMoGoTokenCallback> mTokenCallbacks;
|
||||
private final List<IMoGoTokenCallback> mTokenCallbacks;
|
||||
|
||||
private MoGoAiCloudClient() {
|
||||
mTokenCallbacks = new ArrayList<>();
|
||||
@@ -85,99 +80,63 @@ public class MoGoAiCloudClient {
|
||||
Log.i(TAG, "═══════════════刷新Token═════════════");
|
||||
}
|
||||
|
||||
if (mAiCloudClientConfig != null) {
|
||||
ThirdLoginParam thirdLoginParam = ThirdLoginParam.of(
|
||||
mAiCloudClientConfig.getThirdPartyDeviceId(),
|
||||
mAiCloudClientConfig.getThirdPartyAppKey()
|
||||
);
|
||||
|
||||
LoginCallback loginCallback = new LoginCallback() {
|
||||
@Override
|
||||
public void onSuccess(TokenData.TokenResult result) {
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Log.i(TAG, "═════════════════════════════════════");
|
||||
Log.i(TAG, "║ PassportVersion:" + com.mogo.cloud.passport.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ HttpDnsVersion:" + com.mogo.cloud.httpdns.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ ThirdLoginVersion:" + com.zhidao.thirdlogin.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ MoGo鉴权成功 ");
|
||||
Log.i(TAG, "║ SN:" + result.sn);
|
||||
Log.i(TAG, "║ Token:" + result.token);
|
||||
Log.i(TAG, "═════════════════════════════════════");
|
||||
}
|
||||
|
||||
// 变量赋值
|
||||
if (mAiCloudClientConfig != null) {
|
||||
mAiCloudClientConfig.setSn(result.sn);
|
||||
mAiCloudClientConfig.setToken(result.token);
|
||||
}
|
||||
|
||||
// 循环调用将数据传出去
|
||||
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
|
||||
tokenCallback.onTokenGot(result.token, result.sn);
|
||||
}
|
||||
|
||||
// 初始化HttpDNS
|
||||
mHttpDnsConfig =
|
||||
new MogoHttpDnsConfig()
|
||||
.setContext(mContext)
|
||||
.setSn(mAiCloudClientConfig.getSn())
|
||||
.setEnv(mAiCloudClientConfig.getNetMode())
|
||||
.setShowDebugLog(mAiCloudClientConfig.isShowDebugLog())
|
||||
.setCurrentLocation(mAiCloudClientConfig.getIHttpDnsCurrentLocation())
|
||||
.setLoopCheckDelay(mAiCloudClientConfig.getLoopCheckDelay());
|
||||
MogoHttpDnsClient.INSTANCE.init(mHttpDnsConfig);
|
||||
PassportManager.getInstance().refreshToken(mContext, new IPassport() {
|
||||
@Override
|
||||
public void onSuccess(String token, String sn) {
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Log.i(TAG, "═════════════════════════════════════");
|
||||
Log.i(TAG, "║ PassportVersion:" + com.mogo.cloud.passport.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ HttpDnsVersion:" + com.mogo.cloud.httpdns.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ ThirdLoginVersion:" + com.zhidao.thirdlogin.BuildConfig.VERSION_NAME);
|
||||
Log.i(TAG, "║ MoGo鉴权成功 ");
|
||||
Log.i(TAG, "║ SN:" + sn);
|
||||
Log.i(TAG, "║ Token:" + token);
|
||||
Log.i(TAG, "═════════════════════════════════════");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code, String msg) {
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Toast.makeText(mContext, "MoGo鉴权失败", Toast.LENGTH_SHORT).show();
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
Log.e(TAG, "║ MoGo鉴权失败 ");
|
||||
Log.e(TAG, "║ ErrorCode:" + code);
|
||||
Log.e(TAG, "║ ErrorMessage:" + msg);
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
}
|
||||
// 变量赋值
|
||||
if (mAiCloudClientConfig != null) {
|
||||
mAiCloudClientConfig.setSn("");
|
||||
mAiCloudClientConfig.setToken("");
|
||||
}
|
||||
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
|
||||
tokenCallback.onError(code, msg);
|
||||
}
|
||||
// 变量赋值
|
||||
if (mAiCloudClientConfig != null) {
|
||||
mAiCloudClientConfig.setSn(sn);
|
||||
mAiCloudClientConfig.setToken(token);
|
||||
}
|
||||
};
|
||||
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Log.w(TAG, "loginCallback:" + loginCallback);
|
||||
// 循环调用将数据传出去
|
||||
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
|
||||
tokenCallback.onTokenGot(token, sn);
|
||||
}
|
||||
|
||||
// 初始化HttpDNS
|
||||
mHttpDnsConfig =
|
||||
new MogoHttpDnsConfig()
|
||||
.setContext(mContext)
|
||||
.setSn(mAiCloudClientConfig.getSn())
|
||||
.setEnv(mAiCloudClientConfig.getNetMode())
|
||||
.setShowDebugLog(mAiCloudClientConfig.isShowDebugLog())
|
||||
.setCurrentLocation(mAiCloudClientConfig.getIHttpDnsCurrentLocation())
|
||||
.setLoopCheckDelay(mAiCloudClientConfig.getLoopCheckDelay());
|
||||
MogoHttpDnsClient.INSTANCE.init(mHttpDnsConfig);
|
||||
}
|
||||
|
||||
Environment environment;
|
||||
switch (mAiCloudClientConfig.getNetMode()) {
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEV:
|
||||
environment = Environment.dev;
|
||||
break;
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_QA:
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEMO:
|
||||
environment = Environment.qa;
|
||||
break;
|
||||
default:
|
||||
environment = Environment.release;
|
||||
break;
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Toast.makeText(mContext, "MoGo鉴权失败", Toast.LENGTH_SHORT).show();
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
Log.e(TAG, "║ MoGo鉴权失败 ");
|
||||
Log.e(TAG, "║ ErrorCode:" + code);
|
||||
Log.e(TAG, "║ ErrorMessage:" + msg);
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
}
|
||||
// 变量赋值
|
||||
if (mAiCloudClientConfig != null) {
|
||||
mAiCloudClientConfig.setSn("");
|
||||
mAiCloudClientConfig.setToken("");
|
||||
}
|
||||
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
|
||||
tokenCallback.onError(code, msg);
|
||||
}
|
||||
}
|
||||
|
||||
LoginManager.getInstance().login(
|
||||
mContext,
|
||||
environment,
|
||||
thirdLoginParam,
|
||||
loginCallback);
|
||||
} else {
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
Log.e(TAG, "║ MoGo 鉴权失败 ");
|
||||
Log.e(TAG, "║ 请配置 MoGoAiCloudClientConfig 信息");
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -186,9 +145,7 @@ public class MoGoAiCloudClient {
|
||||
* @param iMoGoTokenCallback 回调监听
|
||||
*/
|
||||
public void addTokenCallbacks(IMoGoTokenCallback iMoGoTokenCallback) {
|
||||
if (mTokenCallbacks != null) {
|
||||
mTokenCallbacks.add(iMoGoTokenCallback);
|
||||
}
|
||||
mTokenCallbacks.add(iMoGoTokenCallback);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -88,9 +88,9 @@ public class MoGoAiCloudClientConfig {
|
||||
private boolean mIsAccuracyDevice;
|
||||
|
||||
/**
|
||||
* 应用长连接id
|
||||
* 应用服务AppId,包括长链、鉴权
|
||||
*/
|
||||
private String mSocketAppId;
|
||||
private String mServiceAppId;
|
||||
|
||||
/**
|
||||
* 设置HttpDns的位置监听
|
||||
@@ -333,21 +333,21 @@ public class MoGoAiCloudClientConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取应用长连接id
|
||||
* 获取应用服务AppId
|
||||
*
|
||||
* @return String 长连接id
|
||||
* @return String AppId
|
||||
*/
|
||||
public String getSocketAppId() {
|
||||
return mSocketAppId;
|
||||
public String getServiceAppId() {
|
||||
return mServiceAppId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置应用长连接id,三方应用无需设置
|
||||
* 设置应用服务AppId,包括长链、鉴权,三方应用无需设置
|
||||
*
|
||||
* @param socketAppId 设置应用长连接id
|
||||
* @param serviceAppId 设置应用服务AppId
|
||||
*/
|
||||
public void setSocketAppId(String socketAppId) {
|
||||
mSocketAppId = socketAppId;
|
||||
public void setServiceAppId(String serviceAppId) {
|
||||
mServiceAppId = serviceAppId;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -383,7 +383,7 @@ public class MoGoAiCloudClientConfig {
|
||||
", mLoopCheckDelay=" + mLoopCheckDelay +
|
||||
", mIsUseExternalLocation=" + mIsUseExternalLocation +
|
||||
", mIsAccuracyDevice=" + mIsAccuracyDevice +
|
||||
", mSocketAppId='" + mSocketAppId + '\'' +
|
||||
", mServiceAppId='" + mServiceAppId + '\'' +
|
||||
", mIHttpDnsCurrentLocation=" + mIHttpDnsCurrentLocation +
|
||||
'}';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.mogo.cloud.passport;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.mogo.cloud.passport.internal.InternalPassportManager;
|
||||
import com.mogo.cloud.passport.third.ThirdPassportManager;
|
||||
|
||||
public class PassportManager {
|
||||
|
||||
private static volatile PassportManager mInstance;
|
||||
private final MoGoAiCloudClientConfig cloudClientConfig;
|
||||
|
||||
private PassportManager() {
|
||||
cloudClientConfig = MoGoAiCloudClient.getInstance().getAiCloudClientConfig();
|
||||
}
|
||||
|
||||
public static PassportManager getInstance() {
|
||||
if (mInstance == null) {
|
||||
synchronized (PassportManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new PassportManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public void refreshToken(Context context, IPassport passport) {
|
||||
if (cloudClientConfig.isThirdLogin()) {
|
||||
ThirdPassportManager.getInstance().refreshToken(context, passport);
|
||||
} else {
|
||||
InternalPassportManager.getInstance(context).refreshToken(passport);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.mogo.cloud.passport.internal;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.mogo.cloud.DevicesUtils;
|
||||
import com.mogo.cloud.httpdns.MogoHttpDnsConfig;
|
||||
import com.mogo.cloud.passport.IPassport;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.cloud.utils.logger.Logger;
|
||||
import com.zhidao.account.sdk.AccountClientManager;
|
||||
import com.zhidao.account.sdk.BusinessType;
|
||||
import com.zhidao.account.sdk.Environment;
|
||||
import com.zhidao.account.sdk.callback.TicketInfoCallback;
|
||||
|
||||
import static com.mogo.cloud.passport.MoGoAiCloudClient.TAG;
|
||||
|
||||
public class InternalPassportManager {
|
||||
|
||||
private static volatile InternalPassportManager mInstance;
|
||||
private IPassport mPassport;
|
||||
private final MoGoAiCloudClientConfig mAiCloudClientConfig;
|
||||
|
||||
private InternalPassportManager(Context context) {
|
||||
mAiCloudClientConfig = MoGoAiCloudClient.getInstance().getAiCloudClientConfig();
|
||||
String appId = mAiCloudClientConfig.getServiceAppId();
|
||||
if (TextUtils.isEmpty(appId)) {
|
||||
Logger.e(TAG, "需要初始化 passport AppId");
|
||||
return;
|
||||
}
|
||||
AccountClientManager.init(context.getApplicationContext(), getNetEnvironment(), BusinessType.toc_login, appId);
|
||||
}
|
||||
|
||||
public static InternalPassportManager getInstance(Context context) {
|
||||
if (mInstance == null) {
|
||||
synchronized (InternalPassportManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new InternalPassportManager(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public void refreshToken(IPassport passport) {
|
||||
this.mPassport = passport;
|
||||
AccountClientManager.getTicket(new TicketInfoCallback() {
|
||||
@Override
|
||||
public void onSuccess(String ticket) {
|
||||
if (mPassport != null) {
|
||||
mPassport.onSuccess(ticket, DevicesUtils.getSn());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code, String msg) {
|
||||
if (mPassport != null) {
|
||||
mPassport.onError(code, msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Environment getNetEnvironment() {
|
||||
int mode = mAiCloudClientConfig.getNetMode();
|
||||
Environment environment;
|
||||
switch (mode) {
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEV:
|
||||
environment = Environment.dev;
|
||||
break;
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_QA:
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEMO:
|
||||
environment = Environment.qa;
|
||||
break;
|
||||
default:
|
||||
environment = Environment.release;
|
||||
break;
|
||||
}
|
||||
return environment;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.mogo.cloud.passport.third;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.mogo.cloud.httpdns.MogoHttpDnsConfig;
|
||||
import com.mogo.cloud.passport.IPassport;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.zhidao.thirdlogin.Environment;
|
||||
import com.zhidao.thirdlogin.LoginManager;
|
||||
import com.zhidao.thirdlogin.model.ThirdLoginParam;
|
||||
import com.zhidao.thirdlogin.model.TokenData;
|
||||
import com.zhidao.thirdlogin.network.LoginCallback;
|
||||
|
||||
import static com.mogo.cloud.passport.MoGoAiCloudClient.TAG;
|
||||
|
||||
public class ThirdPassportManager {
|
||||
|
||||
private static volatile ThirdPassportManager mInstance;
|
||||
private IPassport mPassport;
|
||||
|
||||
private ThirdPassportManager() {
|
||||
|
||||
}
|
||||
|
||||
public static ThirdPassportManager getInstance() {
|
||||
if (mInstance == null) {
|
||||
synchronized (ThirdPassportManager.class) {
|
||||
if (mInstance == null) {
|
||||
mInstance = new ThirdPassportManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
public void refreshToken(Context context, IPassport passport) {
|
||||
this.mPassport = passport;
|
||||
MoGoAiCloudClientConfig mAiCloudClientConfig = MoGoAiCloudClient.getInstance().getAiCloudClientConfig();
|
||||
if (mAiCloudClientConfig != null) {
|
||||
ThirdLoginParam thirdLoginParam = ThirdLoginParam.of(
|
||||
mAiCloudClientConfig.getThirdPartyDeviceId(),
|
||||
mAiCloudClientConfig.getThirdPartyAppKey()
|
||||
);
|
||||
|
||||
LoginCallback loginCallback = new LoginCallback() {
|
||||
@Override
|
||||
public void onSuccess(TokenData.TokenResult result) {
|
||||
if (mPassport != null) {
|
||||
mPassport.onSuccess(result.token, result.sn);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code, String msg) {
|
||||
if (mPassport != null) {
|
||||
mPassport.onError(code, msg);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (mAiCloudClientConfig.isShowDebugLog()) {
|
||||
Log.w(TAG, "loginCallback:" + loginCallback);
|
||||
}
|
||||
|
||||
Environment environment;
|
||||
switch (mAiCloudClientConfig.getNetMode()) {
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEV:
|
||||
environment = Environment.dev;
|
||||
break;
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_QA:
|
||||
case MogoHttpDnsConfig.HTTP_DNS_ENV_DEMO:
|
||||
environment = Environment.qa;
|
||||
break;
|
||||
default:
|
||||
environment = Environment.release;
|
||||
break;
|
||||
}
|
||||
|
||||
LoginManager.getInstance().login(
|
||||
context,
|
||||
environment,
|
||||
thirdLoginParam,
|
||||
loginCallback);
|
||||
} else {
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
Log.e(TAG, "║ MoGo 鉴权失败 ");
|
||||
Log.e(TAG, "║ 请配置 MoGoAiCloudClientConfig 信息");
|
||||
Log.e(TAG, "═════════════════════════════════════");
|
||||
//todo 未来配置 errorCode设置回调错误码
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,12 +26,12 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
// 长链 http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48956182 外部SDK版本
|
||||
// socket-for-sdk 长链 http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48956182 外部SDK版本
|
||||
api 'com.zhidao.socket:built-in-socket:1.0.22'
|
||||
// 上报位置 http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48956200
|
||||
implementation 'com.zhidao.locupload:loc-upload-sdk:1.1.9'
|
||||
|
||||
// 长链 内部SDK版本
|
||||
// socket-for-internal 长链 内部SDK版本
|
||||
implementation 'com.zhidao.socketsdk:socketsdk:2.1.4'
|
||||
implementation 'com.google.protobuf:protobuf-java:3.5.1'
|
||||
|
||||
|
||||
@@ -43,11 +43,12 @@ public class InternalSocketManager implements OnSocketReceiveCallback, OnSocketA
|
||||
mSocketConnManager = SocketConnManagerImpl.getInstance(context);
|
||||
mSocketConnManager.addSocketMessageCallback(this);
|
||||
mSocketConnManager.addSocketAckCallback(this);
|
||||
if (TextUtils.isEmpty(cloudClientConfig.getSocketAppId())) {
|
||||
String appId = cloudClientConfig.getServiceAppId();
|
||||
if (TextUtils.isEmpty(appId)) {
|
||||
Logger.e(TAG, "需要初始化 Socket AppId");
|
||||
return;
|
||||
}
|
||||
mSocketConnManager.init(cloudClientConfig.getSocketAppId());
|
||||
mSocketConnManager.init(appId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -72,8 +73,10 @@ public class InternalSocketManager implements OnSocketReceiveCallback, OnSocketA
|
||||
}
|
||||
|
||||
public void release() {
|
||||
mSocketConnManager.onRelease();
|
||||
mSocketConnManager = null;
|
||||
if (mSocketConnManager != null) {
|
||||
mSocketConnManager.onRelease();
|
||||
mSocketConnManager = null;
|
||||
}
|
||||
mInstance = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,36 @@
|
||||
package com.mogo.cloud;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
/**
|
||||
* 设备信息
|
||||
*/
|
||||
public class DevicesUtils {
|
||||
|
||||
private static final String PROPERTIES = "android.os.SystemProperties";
|
||||
private static final String GSM_SERIAL = "gsm.serial";
|
||||
private static final String GET = "get";
|
||||
|
||||
public static String getSn(){
|
||||
return getSystemProperties(GSM_SERIAL);
|
||||
}
|
||||
|
||||
public static String getSystemProperties(String name ) {
|
||||
String value = "";
|
||||
try {
|
||||
Class< ? > c = Class.forName( PROPERTIES );
|
||||
Method get = c.getMethod( GET, String.class );
|
||||
value = (String) get.invoke( c, name );
|
||||
} catch ( ClassNotFoundException var3 ) {
|
||||
var3.printStackTrace();
|
||||
} catch ( NoSuchMethodException var4 ) {
|
||||
var4.printStackTrace();
|
||||
} catch ( InvocationTargetException var5 ) {
|
||||
var5.printStackTrace();
|
||||
} catch ( IllegalAccessException var6 ) {
|
||||
var6.printStackTrace();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user