[change] 修改分发数据线程死亡时无法转发数据bug

This commit is contained in:
xinfengkun
2022-09-08 18:28:02 +08:00
parent e22b8911b0
commit 2b327b0c17
7 changed files with 12 additions and 36 deletions

View File

@@ -960,7 +960,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
public void onClientStatusConnectChanged(int statusCode, String sign, Channel channel) {
if (statusCode == ConnectState.STATUS_CONNECT_SUCCESS) {
connectStatus = IPC_CONNECTION_STATUS.CONNECTED;
AdasManager.getInstance().startDispatchHandler();
} else {
connectStatus = IPC_CONNECTION_STATUS.DISCONNECTED;
AdasManager.getInstance().stopDispatchHandler();

View File

@@ -162,7 +162,7 @@ class TeleMsgHandler : IMsgHandler {
if (isReceiveSN) {
isReceiveSN = false
}
AdasManager.getInstance().startDispatchHandler()
// AdasManager.getInstance().startDispatchHandler()
ToastUtils.showShort("连接司机屏成功!")
invokeNettyConnResult("乘客屏连接司机屏成功")
val byteArray = byteArrayOf(0)

View File

@@ -323,6 +323,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
byte[] bytes = new byte[len];
System.arraycopy(raw.originalData.toByteArray(), raw.getOffsetValue(), bytes, 0, len);
mAdasListener.onPointCloud(bytes);
CupidLogUtils.i(TAG, "收到点云数据" + raw.getPackageLengthValue());
} else {
if (rawUnpack != null) {
if (raw.getProtocolStatus() == ProtocolStatus.SUCCEED) {
@@ -505,7 +506,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
private void updateConnectStatus(@Define.IPCConnectionStatus int status, @Nullable String reason) {
ipcConnectionStatus.set(status);
if (status == Constants.IPC_CONNECTION_STATUS.CONNECTED) {
startDispatchHandler();
startCheckCompatibility();
} else {
stopCheckCompatibility();
@@ -520,15 +521,6 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
CupidLogUtils.i(TAG, "工控机连接状态 status=" + status + " reason=" + reason);
}
@Override
public void startDispatchHandler() {
if (dispatchHandler != null) {
dispatchHandler.start();
}
if (dispatchHandlerPointCloud != null) {
dispatchHandlerPointCloud.start();
}
}
@Override
public void stopDispatchHandler() {

View File

@@ -217,12 +217,6 @@ public class AdasManager implements IAdasNetCommApi {
}
}
@Override
public void startDispatchHandler() {
if (mChannel != null) {
mChannel.startDispatchHandler();
}
}
@Override
public void stopDispatchHandler() {

View File

@@ -338,10 +338,6 @@ public interface IAdasNetCommApi {
*/
void decoderRaw(byte[] bytes);
/**
* 启动分发线程
*/
void startDispatchHandler();
/**
* 停止分发线程

View File

@@ -18,7 +18,7 @@ public class CupidLogUtils {
* @param isEnableLog true开启 false关闭
*/
public static void setEnableLog(boolean isEnableLog) {
mIsEnableLog = isEnableLog;
// mIsEnableLog = isEnableLog; TODO 临时注释
}
public static boolean isEnableLog() {

View File

@@ -31,14 +31,6 @@ public class DispatchHandler {
this.name = name;
}
public void start() {
if (mThread == null) {
mThread = new HandlerThread(name);
mThread.start();
initHandler(mThread.getLooper());
}
}
public void stop() {
if (mBaseHandler != null) {
mBaseHandler.removeCallbacksAndMessages(null);
@@ -51,12 +43,15 @@ public class DispatchHandler {
}
public void sendRawMessage(RawData raw) {
if (mBaseHandler != null) {
Message msg = Message.obtain();
msg.what = WHAT_DISPATCH_RAW;
msg.obj = raw;
mBaseHandler.sendMessage(msg);
if (mThread == null) {
mThread = new HandlerThread(name);
mThread.start();
initHandler(mThread.getLooper());
}
Message msg = Message.obtain();
msg.what = WHAT_DISPATCH_RAW;
msg.obj = raw;
mBaseHandler.sendMessage(msg);
}