修改初始化的时候回调的监听

This commit is contained in:
董宏宇
2021-01-28 18:01:24 +08:00
parent ff4f0ab7fa
commit e972cd360d
4 changed files with 50 additions and 27 deletions

1
.idea/gradle.xml generated
View File

@@ -23,7 +23,6 @@
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>

View File

@@ -29,21 +29,9 @@ public class MainActivity extends AppCompatActivity {
tvSn = findViewById(R.id.tvSn);
tvToken = findViewById(R.id.tvToken);
initPassportInfo();
btnJumpPassPort = findViewById(R.id.btnJumpPassPort);
btnJumpPassPort.setOnClickListener(v -> {
MoGoAiCloudClient.getInstance().refreshToken(new IMoGoTokenCallback() {
@Override
public void onTokenGot(String token, String sn) {
initPassportInfo();
}
@Override
public void onError(int code, String msg) {
}
});
MoGoAiCloudClient.getInstance().refreshToken();
});
btnJumpNetWorkPort = findViewById(R.id.btnJumpNetWorkPort);
@@ -57,6 +45,18 @@ public class MainActivity extends AppCompatActivity {
Intent intent = new Intent(MainActivity.this, RealTimeActivity.class);
startActivity(intent);
});
MoGoAiCloudClient.getInstance().addTokenCallbacks(new IMoGoTokenCallback() {
@Override
public void onTokenGot(String token, String sn) {
initPassportInfo();
}
@Override
public void onError(int code, String msg) {
initPassportInfo();
}
});
}
/**

View File

@@ -5,17 +5,22 @@ import androidx.multidex.MultiDexApplication;
import com.mogo.cloud.httpdns.MogoHttpDnsConfig;
import com.mogo.cloud.httpdns.bean.HttpDnsSimpleLocation;
import com.mogo.cloud.httpdns.listener.IHttpDnsCurrentLocation;
import com.mogo.cloud.passport.IMoGoTokenCallback;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
*
*/
public class MoGoApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
@@ -40,7 +45,7 @@ public class MoGoApplication extends MultiDexApplication {
// 设置从蘑菇AI开放平台获取的APPKey
clientConfig.setThirdPartyAppKey("bydauto");
// 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备)
clientConfig.setThirdPartyDeviceId("F803EB2046PZD00149");
clientConfig.setThirdPartyDeviceId("bydauto");
// 设置循环检测间隔时间
clientConfig.setLoopCheckDelay(15 * 1000);
@@ -54,7 +59,8 @@ public class MoGoApplication extends MultiDexApplication {
});
// 初始化SDK可以设置状态回调来监听
MoGoAiCloudClient.getInstance().init(this, clientConfig, null);
MoGoAiCloudClient.getInstance().init(
this, clientConfig);
}
}

View File

@@ -14,6 +14,9 @@ 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;
/**
* 蘑菇AI云平台SDK入口
*/
@@ -26,9 +29,10 @@ public class MoGoAiCloudClient {
private MogoHttpDnsConfig mHttpDnsConfig;
private Context mContext;
private List<IMoGoTokenCallback> mTokenCallbacks;
private MoGoAiCloudClient() {
mTokenCallbacks = new ArrayList<>();
}
@Keep
@@ -51,13 +55,12 @@ public class MoGoAiCloudClient {
* @param tokenCallback 获取令牌回调,使用端可根据回调的方法判断是否获取令牌成功,可为空
*/
public MoGoAiCloudClient init(Context context,
MoGoAiCloudClientConfig aiCloudClientConfig,
final IMoGoTokenCallback tokenCallback
MoGoAiCloudClientConfig aiCloudClientConfig
) {
mContext = context;
mAiCloudClientConfig = aiCloudClientConfig;
// 刷新令牌
refreshToken(tokenCallback);
refreshToken();
return sInstance;
}
@@ -69,7 +72,7 @@ public class MoGoAiCloudClient {
return mAiCloudClientConfig;
}
public void refreshToken(final IMoGoTokenCallback tokenCallback) {
public void refreshToken() {
if (mAiCloudClientConfig != null) {
ThirdLoginParam thirdLoginParam = ThirdLoginParam.of(
mAiCloudClientConfig.getThirdPartyDeviceId(),
@@ -91,17 +94,17 @@ public class MoGoAiCloudClient {
// 本地存储
SpStorage.setSn(result.sn);
SpStorage.setToken(result.token);
if (tokenCallback != null) {
tokenCallback.onTokenGot(result.token, result.sn);
}
// 变量赋值
if (mAiCloudClientConfig != null) {
mAiCloudClientConfig.sn = result.sn;
mAiCloudClientConfig.token = result.token;
}
// 循环调用将数据传出去
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
tokenCallback.onTokenGot(result.token, result.sn);
}
// 初始化HttpDNS
mHttpDnsConfig =
new MogoHttpDnsConfig()
@@ -122,7 +125,12 @@ public class MoGoAiCloudClient {
Log.e(TAG, "║ ErrorCode" + code);
Log.e(TAG, "║ ErrorMessage" + msg);
Log.e(TAG, "═════════════════════════════════════");
if (tokenCallback != null) {
// 变量赋值
if (mAiCloudClientConfig != null) {
mAiCloudClientConfig.sn = "";
mAiCloudClientConfig.token = "";
}
for (IMoGoTokenCallback tokenCallback : mTokenCallbacks) {
tokenCallback.onError(code, msg);
}
}
@@ -157,5 +165,15 @@ public class MoGoAiCloudClient {
}
}
/**
* 添加Token 回调
*
* @param iMoGoTokenCallback 回调监听
*/
public void addTokenCallbacks(IMoGoTokenCallback iMoGoTokenCallback) {
if (mTokenCallbacks != null) {
mTokenCallbacks.add(iMoGoTokenCallback);
}
}
}