Skip to content

Commit 6e8146c

Browse files
committed
Rabbit keeps nitpicking
1 parent e777360 commit 6e8146c

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

android/app/src/main/java/betaflight/configurator/plugin/SocketPlugin.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,19 @@ public void send(PluginCall call) {
7777
call.reject("Not connected to any server");
7878
return;
7979
}
80-
8180
// Run write operation on a background thread and synchronize on writer
8281
getBridge().getExecutor().execute(() -> {
8382
try {
84-
synchronized (writer) {
83+
BufferedWriter localWriter = writer; // capture after re-check
84+
if (localWriter == null) {
85+
call.reject("Connection lost");
86+
return;
87+
}
88+
synchronized (localWriter) {
8589
// Append newline for framing; adjust as needed for your protocol
86-
writer.write(data);
87-
writer.newLine();
88-
writer.flush();
90+
localWriter.write(data);
91+
localWriter.newLine();
92+
localWriter.flush();
8993
}
9094
JSObject ret = new JSObject();
9195
ret.put("success", true);
@@ -130,15 +134,17 @@ public void receive(PluginCall call) {
130134

131135
@PluginMethod
132136
public void disconnect(PluginCall call) {
133-
try {
134-
closeResources();
135-
isConnected = false;
136-
JSObject ret = new JSObject();
137-
ret.put("success", true);
138-
call.resolve(ret);
139-
} catch (Exception e) {
140-
call.reject("Disconnect failed: " + e.getMessage());
141-
}
137+
getBridge().getExecutor().execute(() -> {
138+
try {
139+
closeResources();
140+
isConnected = false;
141+
JSObject ret = new JSObject();
142+
ret.put("success", true);
143+
call.resolve(ret);
144+
} catch (Exception e) {
145+
call.reject("Disconnect failed: " + e.getMessage());
146+
}
147+
});
142148
}
143149

144150
/**
@@ -151,6 +157,7 @@ private void closeResources() {
151157
reader = null;
152158
}
153159
if (writer != null) {
160+
writer.flush();
154161
writer.close();
155162
writer = null;
156163
}

0 commit comments

Comments
 (0)