Skip to content

Commit 46d8a42

Browse files
author
Deng
committed
resolve CountDownTimer will restart problem
1 parent 906f6f6 commit 46d8a42

4 files changed

Lines changed: 20 additions & 16 deletions

File tree

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/vilyever/androidsocketclient/MainActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.vilyever.socketclient.util.IPUtil;
1414

1515
import java.util.ArrayList;
16+
import java.util.Arrays;
1617

1718
public class MainActivity extends AppCompatActivity {
1819
final MainActivity self = this;
@@ -75,6 +76,8 @@ public void onDisconnected(SocketClient client) {
7576
@Override
7677
public void onResponse(SocketClient client, @NonNull SocketResponsePacket responsePacket) {
7778
Logger.log("size " + responsePacket.getData().length + " ->" + responsePacket.getMessage().replaceAll("\\r", ""));
79+
Logger.log("data " + Arrays.toString(responsePacket.getData()));
80+
Logger.log("crlf " + Arrays.toString("\r\n".getBytes()));
7881
}
7982
});
8083
}

socketclient/src/main/java/com/vilyever/socketclient/SocketClient.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,9 @@ public void onTick(long millisUntilFinished) {
389389

390390
@Override
391391
public void onFinish() {
392-
this.start();
392+
if (self.isConnected()) {
393+
this.start();
394+
}
393395
}
394396
};
395397

socketclient/src/main/java/com/vilyever/socketclient/server/SocketServer.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -306,10 +306,10 @@ public void handleMessage(Message msg) {
306306

307307
switch (MessageType.typeFromWhat(msg.what)) {
308308
case StopListen:
309-
this.referenceSocketServer.get().onSocketServerStopListen();
309+
this.referenceSocketServer.get().internalOnSocketServerStopListen();
310310
break;
311311
case ClientConnected:
312-
this.referenceSocketServer.get().onSocketServerClientConnected((SocketServerClient) msg.obj);
312+
this.referenceSocketServer.get().internalOnSocketServerClientConnected((SocketServerClient) msg.obj);
313313
break;
314314
}
315315
}
@@ -339,7 +339,7 @@ public void onConnected(SocketClient client) {
339339

340340
@Override
341341
public void onDisconnected(SocketClient client) {
342-
onSocketServerClientDisconnected((SocketServerClient) client);
342+
internalOnSocketServerClientDisconnected((SocketServerClient) client);
343343
}
344344

345345
@Override
@@ -350,7 +350,7 @@ public void onResponse(SocketClient client, @NonNull SocketResponsePacket respon
350350

351351
/* Protected Methods */
352352
@WorkerThread
353-
protected SocketServerClient getSocketServerClient(Socket socket) {
353+
protected SocketServerClient internalGetSocketServerClient(Socket socket) {
354354
return new SocketServerClient(socket);
355355
}
356356

@@ -367,12 +367,12 @@ protected void onSocketServerBeginListen() {
367367
}
368368

369369
@CallSuper
370-
protected void onSocketServerStopListen() {
370+
protected void internalOnSocketServerStopListen() {
371371
setListening(false);
372372
this.listenThread = null;
373373
this.runningServerSocket = null;
374374

375-
disconnectAllClients();
375+
internalDisconnectAllClients();
376376

377377
ArrayList<SocketServerDelegate> copyList =
378378
(ArrayList<SocketServerDelegate>) getSocketServerDelegates().clone();
@@ -383,7 +383,7 @@ protected void onSocketServerStopListen() {
383383
}
384384

385385
@CallSuper
386-
protected void onSocketServerClientConnected(SocketServerClient socketServerClient) {
386+
protected void internalOnSocketServerClientConnected(SocketServerClient socketServerClient) {
387387
getRunningSocketServerClients().add(socketServerClient);
388388

389389
socketServerClient.registerSocketDelegate(this);
@@ -402,9 +402,8 @@ protected void onSocketServerClientConnected(SocketServerClient socketServerClie
402402
}
403403

404404
@CallSuper
405-
protected void onSocketServerClientDisconnected(SocketServerClient socketServerClient) {
406-
407-
self.getRunningSocketServerClients().remove(socketServerClient);
405+
protected void internalOnSocketServerClientDisconnected(SocketServerClient socketServerClient) {
406+
getRunningSocketServerClients().remove(socketServerClient);
408407

409408
ArrayList<SocketServerDelegate> copyList =
410409
(ArrayList<SocketServerDelegate>) getSocketServerDelegates().clone();
@@ -415,11 +414,11 @@ protected void onSocketServerClientDisconnected(SocketServerClient socketServerC
415414
}
416415

417416
/* Private Methods */
418-
private boolean checkServerSocketAvailable() {
417+
private boolean internalCheckServerSocketAvailable() {
419418
return getRunningServerSocket() != null && !getRunningServerSocket().isClosed();
420419
}
421420

422-
private void disconnectAllClients() {
421+
private void internalDisconnectAllClients() {
423422
while (getRunningSocketServerClients().size() > 0) {
424423
SocketServerClient client = getRunningSocketServerClients().get(0);
425424
getRunningSocketServerClients().remove(client);
@@ -442,12 +441,12 @@ protected boolean isRunning() {
442441
public void run() {
443442
super.run();
444443
setRunning(true);
445-
while (!Thread.interrupted() && self.checkServerSocketAvailable()) {
444+
while (!Thread.interrupted() && self.internalCheckServerSocketAvailable()) {
446445
Socket socket = null;
447446
try {
448447
socket = self.getRunningServerSocket().accept();
449448

450-
SocketServerClient socketServerClient = self.getSocketServerClient(socket);
449+
SocketServerClient socketServerClient = self.internalGetSocketServerClient(socket);
451450

452451
Message message = Message.obtain();
453452
message.what = UIHandler.MessageType.ClientConnected.what();

0 commit comments

Comments
 (0)