summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadhri Jagan Sridharan <Badhri@google.com>2017-02-09 19:45:21 -0800
committerBadhri Jagan Sridharan <Badhri@google.com>2017-02-13 17:44:11 -0800
commite8b0e113714e13de200ae41d61c6cff154ca9851 (patch)
tree8b10c3e400941085cb3301059d9d76a6634871e2
parent8b0807c789b6c29ee71123c020b680636e9d7d85 (diff)
downloadbase-e8b0e113714e13de200ae41d61c6cff154ca9851.tar.gz
Introduce debounce to filter rapidly toggling type-c ports [DO NOT MERGE]
Type-c ports can quickly toggle between connected/disconnected states. Introduce debounce to prevent sending spurious notifications. Bug: 34972898 Test: notification should not be queued for a pixel-c charger not connected to the power outlet. Change-Id: I4aa19f9f864fe5b77e65f6a07a3184d8aba1f5fc
-rw-r--r--services/usb/java/com/android/server/usb/UsbDeviceManager.java5
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 a9c735bbeeb9..49084088e75b 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -443,7 +443,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) {