diff options
| author | 2020-06-11 17:23:00 +0000 | |
|---|---|---|
| committer | 2020-06-11 17:23:00 +0000 | |
| commit | 9e7a8c853c42a1745d99a46ad5f9fc8b2acbd19a (patch) | |
| tree | 5f6a8b2b538f09c8d9408e237558a012cf3b0e46 | |
| parent | 8808b5a3d3a5deeff7ddf066c59ecb96e817a71a (diff) | |
| parent | 8ee00491ac0ca81b0263f0b2c9b3cd1507e2559a (diff) | |
Merge "Reread the tls port on adbd restarts." into rvc-dev
| -rw-r--r-- | services/core/java/com/android/server/adb/AdbDebuggingManager.java | 29 |
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; + } } } |