From c1bc0a844d2e8fdb9bc6f73d80579f69e2701f62 Mon Sep 17 00:00:00 2001 From: Jerry Zhang Date: Mon, 23 Jan 2017 14:14:09 -0800 Subject: [PATCH] Only send usb disconnect intents after boot. This prevents cases where the device starts up and attempts to change the config, but intents cannot yet be sent. A patch to resend this skipped intent is necessary to finish fixing the bug. Bug: 34451258 Test: Check that usb state is properly handled on boot Change-Id: I9d79c67ce8982fd5b43fa40781b66bb9ae820694 --- .../usb/java/com/android/server/usb/UsbDeviceManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index b3f5630b8e257..c93acfc5e6e88 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -740,11 +740,12 @@ public class UsbDeviceManager { if (UsbManager.containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ACCESSORY)) { updateCurrentAccessory(); - } else if (!mConnected) { - // restore defaults when USB is disconnected - setEnabledFunctions(null, false, false); } if (mBootCompleted) { + if (!mConnected) { + // restore defaults when USB is disconnected + setEnabledFunctions(null, false, false); + } updateUsbStateBroadcastIfNeeded(false); updateUsbFunctions(); }