och_taxi mogoaisocket-sdk 实现

This commit is contained in:
lianglihui
2021-07-22 16:58:06 +08:00
parent 0deef2d84a
commit eb326bdc96

View File

@@ -14,6 +14,7 @@ import com.mogo.service.connection.IMogoOnMessageListener;
import com.mogo.service.connection.IMogoSocketManager;
import com.mogo.utils.logger.Logger;
import com.zhidao.ptech.connsvr.commom.protocol.MogoCommon;
import com.zhidao.socket.ConnectionLifecycleListener;
import java.util.ArrayList;
import java.util.List;
@@ -27,7 +28,7 @@ import java.util.concurrent.ConcurrentHashMap;
* 长链实现:基于 netty
*/
@Keep
public class MogoAiCloudSocketManager implements IMogoSocketManager {
public class MogoAiCloudSocketManager extends ConnectionLifecycleListener implements IMogoSocketManager {
private static final String TAG = "MogoAiCloudSocketManager-sdk";
@@ -55,6 +56,7 @@ public class MogoAiCloudSocketManager implements IMogoSocketManager {
* key - msgType
*/
private final Map<Integer, List<IMogoOnMessageListener>> mListeners = new ConcurrentHashMap<>();
private final Map<Integer, IMogoLifecycleListener> mLifeCycleListeners = new ConcurrentHashMap<>();
/**
* 管理消息回执
@@ -104,12 +106,20 @@ public class MogoAiCloudSocketManager implements IMogoSocketManager {
@Override
public void registerLifecycleListener(int msgType, IMogoLifecycleListener listener) {
if (mLifeCycleListeners.containsKey(msgType)) {
return;
}
if (!mLifeCycleListeners.containsKey(msgType)) {
mLifeCycleListeners.put(msgType, listener);
}
}
@Override
public void unregisterLifecycleListener(int msgType) {
if (!mLifeCycleListeners.containsKey(msgType)) {
return;
}
mLifeCycleListeners.remove(msgType);
}
@Override
@@ -161,4 +171,37 @@ public class MogoAiCloudSocketManager implements IMogoSocketManager {
}
}
};
@Override
public void onConnectSuccess() {
if (mLifeCycleListeners.size() > 0){
for (IMogoLifecycleListener lifecycleListener : mLifeCycleListeners.values()){
if (lifecycleListener != null){
lifecycleListener.onConnectSuccess();
}
}
}
}
@Override
public void onConnectFailure() {
if (mLifeCycleListeners.size() > 0){
for (IMogoLifecycleListener lifecycleListener : mLifeCycleListeners.values()){
if (lifecycleListener != null){
lifecycleListener.onConnectFailure();
}
}
}
}
@Override
public void onConnectLost(boolean reconnect) {
if (mLifeCycleListeners.size() > 0){
for (IMogoLifecycleListener lifecycleListener : mLifeCycleListeners.values()){
if (lifecycleListener != null){
lifecycleListener.onConnectLost();
}
}
}
}
}