summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joshua Duong <joshuaduong@google.com> 2020-06-11 17:23:00 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-06-11 17:23:00 +0000
commit9e7a8c853c42a1745d99a46ad5f9fc8b2acbd19a (patch)
tree5f6a8b2b538f09c8d9408e237558a012cf3b0e46
parent8808b5a3d3a5deeff7ddf066c59ecb96e817a71a (diff)
parent8ee00491ac0ca81b0263f0b2c9b3cd1507e2559a (diff)
Merge "Reread the tls port on adbd restarts." into rvc-dev
-rw-r--r--services/core/java/com/android/server/adb/AdbDebuggingManager.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index 27ea4716e12d..df3b6880fdfb 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -337,6 +337,7 @@ public class AdbDebuggingManager {
class PortListenerImpl implements AdbConnectionPortListener {
public void onPortReceived(int port) {
+ if (DEBUG) Slog.d(TAG, "Received tls port=" + port);
Message msg = mHandler.obtainMessage(port > 0
? AdbDebuggingHandler.MSG_SERVER_CONNECTED
: AdbDebuggingHandler.MSG_SERVER_DISCONNECTED);
@@ -392,6 +393,7 @@ public class AdbDebuggingManager {
mOutputStream = mSocket.getOutputStream();
mInputStream = mSocket.getInputStream();
+ mHandler.sendEmptyMessage(AdbDebuggingHandler.MSG_ADBD_SOCKET_CONNECTED);
} catch (IOException ioe) {
Slog.e(TAG, "Caught an exception opening the socket: " + ioe);
closeSocketLocked();
@@ -504,6 +506,7 @@ public class AdbDebuggingManager {
} catch (IOException ex) {
Slog.e(TAG, "Failed closing socket: " + ex);
}
+ mHandler.sendEmptyMessage(AdbDebuggingHandler.MSG_ADBD_SOCKET_DISCONNECTED);
}
/** Call to stop listening on the socket and exit the thread. */
@@ -729,6 +732,10 @@ public class AdbDebuggingManager {
static final int MSG_SERVER_CONNECTED = 24;
// Notifies us the TLS server is disconnected
static final int MSG_SERVER_DISCONNECTED = 25;
+ // Notification when adbd socket successfully connects.
+ static final int MSG_ADBD_SOCKET_CONNECTED = 26;
+ // Notification when adbd socket is disconnected.
+ static final int MSG_ADBD_SOCKET_DISCONNECTED = 27;
// === Messages we can send to adbd ===========
static final String MSG_DISCONNECT_DEVICE = "DD";
@@ -1170,6 +1177,28 @@ public class AdbDebuggingManager {
}
break;
}
+ case MSG_ADBD_SOCKET_CONNECTED: {
+ if (DEBUG) Slog.d(TAG, "adbd socket connected");
+ if (mAdbWifiEnabled) {
+ // In scenarios where adbd is restarted, the tls port may change.
+ mConnectionPortPoller =
+ new AdbDebuggingManager.AdbConnectionPortPoller(mPortListener);
+ mConnectionPortPoller.start();
+ }
+ break;
+ }
+ case MSG_ADBD_SOCKET_DISCONNECTED: {
+ if (DEBUG) Slog.d(TAG, "adbd socket disconnected");
+ if (mConnectionPortPoller != null) {
+ mConnectionPortPoller.cancelAndWait();
+ mConnectionPortPoller = null;
+ }
+ if (mAdbWifiEnabled) {
+ // In scenarios where adbd is restarted, the tls port may change.
+ onAdbdWifiServerDisconnected(-1);
+ }
+ break;
+ }
}
}