From db38a839c359048bf54c6a4468917586f2da74d2 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 17 Aug 2022 15:02:39 +0800 Subject: [PATCH] add socket error callback trace --- .../mogo/launcher/stageone/HttpDnsStartUp.kt | 21 ++++++++++++++++--- .../core/data/deva/chain/ChainConstant.kt | 1 + .../socket/IMogoLifecycleListener.java | 4 ++++ .../socket/MogoAiCloudSocketManager.java | 16 +++++++++++++- 4 files changed, 38 insertions(+), 4 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 d6f973eaf9..d381a07a1d 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt @@ -146,13 +146,16 @@ class HttpDnsStartUp : AndroidStartup() { } val httpDnsSimpleLocation = if (mogoLocation != null && mogoLocation.latitude != 0.0 && mogoLocation.longitude != 0.0) { - if(mogoLocation.cityCode.isNullOrEmpty() && !GDLocationClient.getInstance(context).lastCityCode.isNullOrEmpty()){ + if (mogoLocation.cityCode.isNullOrEmpty() && !GDLocationClient.getInstance( + context + ).lastCityCode.isNullOrEmpty() + ) { HttpDnsSimpleLocation( GDLocationClient.getInstance(context).lastCityCode, mogoLocation.latitude, mogoLocation.longitude ) - }else{ + } else { HttpDnsSimpleLocation( mogoLocation.cityCode, mogoLocation.latitude, @@ -252,7 +255,7 @@ class HttpDnsStartUp : AndroidStartup() { linkCode = CHAIN_LINK_CLOUD_SHOW, endpoint = PAD, nodeAliasCode = CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED, - paramIndexes = [0,1], + paramIndexes = [0, 1], clientPkFileName = "sn" ) override fun onAddressChanged(cityCode: String, address: Map?) { @@ -333,6 +336,18 @@ class HttpDnsStartUp : AndroidStartup() { CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectLost") DebugConfig.setDownloadSnapshot(false) } + + @ChainLog( + linkChainLog = CHAIN_LINK_LOG_CONNECT_STATUS, + linkCode = CHAIN_LINK_CLOUD_SHOW, + endpoint = PAD, + nodeAliasCode = CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST, + paramIndexes = [0, 1], + clientPkFileName = "sn" + ) + override fun onError(code: String, msg: String?) { + CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectLost") + } }) // 开启Socket长链服务 val lat = location.latitude diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index bc017b4ca1..2c5377b5b0 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -51,6 +51,7 @@ class ChainConstant { const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL" const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_SUCCESS" const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_LOST" + const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_ERROR = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_ERROR" const val CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED = "CHAIN_ALIAS_CODE_HTTP_DNS_CHANGED" const val CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED = "CHAIN_ALIAS_CODE_INIT_ON_MAP_LOADED" diff --git a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/IMogoLifecycleListener.java b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/IMogoLifecycleListener.java index c97877d11c..c708576a0c 100644 --- a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/IMogoLifecycleListener.java +++ b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/IMogoLifecycleListener.java @@ -6,4 +6,8 @@ public interface IMogoLifecycleListener { void onConnectSuccess(); void onConnectLost(); + + default void onError(String code, String msg){ + + } } diff --git a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java index 295094e447..c6ab9969de 100644 --- a/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java +++ b/foudations/mogo-aicloud-services-sdk/src/main/java/com/mogo/aicloud/services/socket/MogoAiCloudSocketManager.java @@ -4,6 +4,7 @@ import android.content.Context; import androidx.annotation.Keep; +import com.mogo.cloud.socket.IMogoCloudSocketErrorListener; import com.mogo.cloud.socket.IMogoCloudSocketMsgAckListener; import com.mogo.cloud.socket.IMogoCloudSocketOnMessageListener; import com.mogo.cloud.socket.SocketManager; @@ -24,7 +25,7 @@ import java.util.concurrent.ConcurrentHashMap; * 长链实现:基于 netty */ @Keep -public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implements IMogoSocketManager { +public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implements IMogoSocketManager, IMogoCloudSocketErrorListener { private static final String TAG = "MogoAiCloudSocketManager-sdk"; @@ -70,6 +71,7 @@ public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implem this.mAppId = appId; SocketManager.getInstance().init(context, lat, lon); SocketManager.getInstance().registerSocketConnCallback(this); + SocketManager.getInstance().registerSocketErrorCallback(TAG, this); } @Override @@ -140,6 +142,7 @@ public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implem } public synchronized void release() { + SocketManager.getInstance().unregisterSocketErrorCallback(TAG); SocketManager.getInstance().release(); } @@ -212,4 +215,15 @@ public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implem } } } + + @Override + public void onError(int code, String msg) { + if (mLifeCycleListeners.size() > 0) { + for (IMogoLifecycleListener lifecycleListener : mLifeCycleListeners.values()) { + if (lifecycleListener != null) { + lifecycleListener.onError(code + "", msg); + } + } + } + } }