summaryrefslogtreecommitdiff
path: root/services/usb
diff options
context:
space:
mode:
authorJoshua Duong <joshuaduong@google.com>2020-02-26 08:33:19 -0800
committerJoshua Duong <joshuaduong@google.com>2020-02-26 08:33:19 -0800
commiteb6e5bc47b7a16855b590f6dccb719ea78a2dab7 (patch)
tree56e71dea35832a14e587410dda3971523b58f95f /services/usb
parentf7378376ca2ddc78a6183fe6024186c56707f84d (diff)
Allow UsbDeviceManager to start adbd again.
There's some weird state where if persist.sys.usb.config=none,adb, then adbd won't get started. Give back adbd start permissions to UsbDeviceManager to see if that fixes the issue. Bug: 150130503 Test: adb shell su 0 setprop persist.sys.usb.config none,adb; adb reboot adb should be online after. Change-Id: I36c6ef4b20d58570a2d51ed70088ae5c54d6687d Merged-In: I36c6ef4b20d58570a2d51ed70088ae5c54d6687d Exempt-From-Owner-Approval: Fix adbd offline failure
Diffstat (limited to 'services/usb')
-rw-r--r--services/usb/java/com/android/server/usb/UsbDeviceManager.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index d2b30b2ff5ef..121a5b57a69c 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -1898,7 +1898,19 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
return;
}
try {
- // Adbd will be started by AdbService once Global.ADB_ENABLED is set.
+ if ((config & UsbManager.FUNCTION_ADB) != 0) {
+ /**
+ * Start adbd if ADB function is included in the configuration.
+ */
+ LocalServices.getService(AdbManagerInternal.class)
+ .startAdbdForTransport(AdbTransportType.USB);
+ } else {
+ /**
+ * Stop adbd otherwise
+ */
+ LocalServices.getService(AdbManagerInternal.class)
+ .stopAdbdForTransport(AdbTransportType.USB);
+ }
UsbGadgetCallback usbGadgetCallback = new UsbGadgetCallback(mCurrentRequest,
config, chargingFunctions);
mGadgetProxy.setCurrentUsbFunctions(config, usbGadgetCallback,