From 7d94d3f9e81d1b2cf8842815dffd26947a1985f5 Mon Sep 17 00:00:00 2001 From: dxl <64101226@qq.com> Date: Fri, 17 Apr 2020 16:10:38 +0800 Subject: [PATCH] Communication Adapter bug fixed. --- .../rdv/activities/main/PM3FlasherMainActivity.java | 3 ++- .../src/main/java/cn/dxl/com/DeviceChecker.java | 2 +- .../main/java/cn/dxl/com/LocalComBridgeAdapter.java | 12 +++++++----- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app_main/src/main/java/cn/rrg/rdv/activities/main/PM3FlasherMainActivity.java b/app_main/src/main/java/cn/rrg/rdv/activities/main/PM3FlasherMainActivity.java index 579b5809..ac2b7ba3 100644 --- a/app_main/src/main/java/cn/rrg/rdv/activities/main/PM3FlasherMainActivity.java +++ b/app_main/src/main/java/cn/rrg/rdv/activities/main/PM3FlasherMainActivity.java @@ -43,7 +43,8 @@ public class PM3FlasherMainActivity extends BaseActivity implements DevCallback< control.register(this); // start communication forward! - LocalComBridgeAdapter.getInstance().startServer(); + LocalComBridgeAdapter.getInstance() + .startServer(LocalComBridgeAdapter.NAMESPACE_DEFAULT); initViews(); initActions(); diff --git a/communication/src/main/java/cn/dxl/com/DeviceChecker.java b/communication/src/main/java/cn/dxl/com/DeviceChecker.java index 63fcf9d7..905f7a59 100644 --- a/communication/src/main/java/cn/dxl/com/DeviceChecker.java +++ b/communication/src/main/java/cn/dxl/com/DeviceChecker.java @@ -27,7 +27,7 @@ public abstract class DeviceChecker implements Serializable, Closeable { LocalComBridgeAdapter.getInstance() .setInputStream(communication.getInput()) .setOutputStream(communication.getOutput()) - .startServer(); + .startServer(LocalComBridgeAdapter.NAMESPACE_DEFAULT); if (!checkDevice()) { // if check failed, we must to close device! LocalComBridgeAdapter.getInstance().stopClient(); diff --git a/communication/src/main/java/cn/dxl/com/LocalComBridgeAdapter.java b/communication/src/main/java/cn/dxl/com/LocalComBridgeAdapter.java index 25cdefad..80d5b278 100644 --- a/communication/src/main/java/cn/dxl/com/LocalComBridgeAdapter.java +++ b/communication/src/main/java/cn/dxl/com/LocalComBridgeAdapter.java @@ -25,7 +25,7 @@ public final class LocalComBridgeAdapter implements Serializable { * */ // The namespace of the LocalServerSocket - public static final String NAMESPACE = "DXL.COM.ASL"; + public static final String NAMESPACE_DEFAULT = "DXL.COM.ASL"; // The tag of the log. private final String LOG_TAG = "LocalComBridgeAdapter"; // 本地套接字服务! @@ -188,13 +188,13 @@ public final class LocalComBridgeAdapter implements Serializable { return this; } - public LocalComBridgeAdapter startServer() { + public LocalComBridgeAdapter startServer(String namespace) { synchronized (LOCK) { if (!listenAccept) { listenAccept = true; try { if (serverSocket == null) { - serverSocket = new LocalServerSocket(NAMESPACE); + serverSocket = new LocalServerSocket(namespace); } // 创建一个客户端连接线程 new ConServerThread().start(); @@ -208,7 +208,7 @@ public final class LocalComBridgeAdapter implements Serializable { return this; } - public void stopServer() { + public LocalComBridgeAdapter stopServer() { synchronized (LOCK) { listenAccept = false; if (serverSocket != null) { @@ -221,9 +221,10 @@ public final class LocalComBridgeAdapter implements Serializable { } Log.w(LOG_TAG, "LocalComBridgeAdapter server stop!"); } + return this; } - public void stopClient() { + public LocalComBridgeAdapter stopClient() { synchronized (LOCK) { isHasClient = false; try { @@ -238,5 +239,6 @@ public final class LocalComBridgeAdapter implements Serializable { } Log.d(LOG_TAG, "LocalComBridgeAdapter client stop!"); } + return this; } } \ No newline at end of file