From 6d6b14f36e1d0515f6b9c428ee2b077400802dc2 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 30 Aug 2022 14:59:16 +0800 Subject: [PATCH] fix bug of httpdns init twice --- .../mogo/launcher/stageone/HttpDnsStartUp.kt | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt index d381a07a1d..6b4cd129b3 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt @@ -61,6 +61,8 @@ class HttpDnsStartUp : AndroidStartup() { private var context: Context? = null + private var gotToken = false + override fun callCreateOnMainThread() = true override fun waitOnMainThread() = false @@ -198,15 +200,19 @@ class HttpDnsStartUp : AndroidStartup() { MoGoAiCloudClient.getInstance().init(context, clientConfig).addTokenCallbacks( object : IMoGoTokenCallback { override fun onTokenGot(token: String, sn: String) { - CallerLogger.d(SceneConstant.M_HMI + TAG, "onTokenGot ") clientConfig.token = token - CallerCloudListenerManager.invokeCloudTokenGot(token) - // 异步初始化NetConfig - asyncInit() - // HttpDns ttl回调 --- socketTTL - registerSocketHttpDnsTTL(HostConst.SOCKET_CENTER_DOMAIN) - // 开启每5s/次定位上报 - uploadLocPerFiveSecond() + // 由于存在token过期问题,在更新后会回调至此处,增加二次判定 + if(!gotToken){ + CallerLogger.d(SceneConstant.M_MAP + TAG, "onTokenGot ") + CallerCloudListenerManager.invokeCloudTokenGot(token) + // 异步初始化NetConfig + asyncInit() + // HttpDns ttl回调 --- socketTTL + registerSocketHttpDnsTTL(HostConst.SOCKET_CENTER_DOMAIN) + // 开启每5s/次定位上报 + uploadLocPerFiveSecond() + gotToken = true + } } override fun onError(code: Int, msg: String) {