diff options
| -rw-r--r-- | services/usb/java/com/android/server/usb/UsbDeviceManager.java | 5 |
1 files changed, 4 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 4ec977839096..b142bc2eb1a2 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -470,7 +470,10 @@ public class UsbDeviceManager { args.argi2 = sourcePower ? 1 :0; args.argi3 = sinkPower ? 1 :0; - obtainMessage(MSG_UPDATE_HOST_STATE, args).sendToTarget(); + removeMessages(MSG_UPDATE_HOST_STATE); + Message msg = obtainMessage(MSG_UPDATE_HOST_STATE, args); + // debounce rapid transitions of connect/disconnect on type-c ports + sendMessageDelayed(msg, UPDATE_DELAY); } private boolean waitForState(String state) { |