[change]封装连接状态方法
This commit is contained in:
@@ -9,12 +9,14 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_LINK_LOG_CONNEC
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.zhidao.support.adas.high.bean.BaseInfo;
|
||||
import com.zhidao.support.adas.high.common.Constants;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhidao.support.adas.high.common.Define;
|
||||
import com.zhidao.support.adas.high.common.DigitalTrans;
|
||||
import com.zhidao.support.adas.high.common.IPCFixationIPHelper;
|
||||
import com.zhidao.support.adas.high.common.MessageType;
|
||||
@@ -104,18 +106,12 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
|
||||
@Override
|
||||
public void onStartFindIP() {
|
||||
if (adasConnectStatusListener != null) {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.SEARCH_ADDRESS);
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), "正在搜索IP");
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.SEARCH_ADDRESS, "正在搜索IP");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopFindIP() {
|
||||
if (adasConnectStatusListener != null) {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.DISCONNECTED);
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), "停止搜索IP");
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.DISCONNECTED, "停止搜索IP");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -346,36 +342,26 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
|
||||
@Override
|
||||
public void onConnecting(String msg) {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.CONNECTING);
|
||||
if (adasConnectStatusListener != null) {
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), msg);
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.CONNECTING, msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWebSocketConnectSuccess(String ipAddress, int port) {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.CONNECTED);
|
||||
ipcConnectedIp = ipAddress;
|
||||
ipcConnectedPort = port;
|
||||
if (adasConnectStatusListener != null) {
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), "已连接");
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.CONNECTED, "已连接");
|
||||
sendCarConfigReq();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWebSocketConnectFailed(String t) {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.DISCONNECTED);
|
||||
ipcConnectedIp = null;
|
||||
ipcConnectedPort = Constants.DEFAULT_PORT;
|
||||
if (adasConnectStatusListener != null) {
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), t);
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.DISCONNECTED, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
handlerWSMsg(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -384,10 +370,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
}
|
||||
|
||||
private void notFoundAddress() {
|
||||
ipcConnectionStatus.set(Constants.IPC_CONNECTION_STATUS.NOT_FOUND_ADDRESS);
|
||||
if (adasConnectStatusListener != null) {
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), "地址不可用或不合法");
|
||||
}
|
||||
updateConnectStatus(Constants.IPC_CONNECTION_STATUS.NOT_FOUND_ADDRESS, "地址不可用或不合法");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -438,6 +421,20 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
//连接状态listener
|
||||
private final OnAdasConnectStatusListener adasConnectStatusListener;
|
||||
|
||||
/**
|
||||
* 更新连接状态
|
||||
*
|
||||
* @param status 状态
|
||||
* @param reason 状态描述
|
||||
* 如果ipcConnectionStatus == Constants.IPC_CONNECTION_STATUS.DISCONNECTED && reason==null 表示主动断开连接
|
||||
*/
|
||||
private void updateConnectStatus(@Define.IPCConnectionStatus int status, @Nullable String reason) {
|
||||
ipcConnectionStatus.set(status);
|
||||
if (adasConnectStatusListener != null) {
|
||||
adasConnectStatusListener.onConnectionIPCStatus(ipcConnectionStatus.get(), reason);
|
||||
}
|
||||
}
|
||||
|
||||
void setOnAdasListener(OnAdasListener adasListener) {
|
||||
mAdasListener = adasListener;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user