summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/input/InputManagerService.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2012-09-27 20:46:43 -0700
committerJeff Brown <jeffbrown@google.com>2012-09-27 21:42:57 -0700
commitbcc046af4ef171aa3aa3c6b64efb5cafc1e46cd3 (patch)
tree497724ac54d4a380b5f466ea48a3a96265446754 /services/java/com/android/server/input/InputManagerService.java
parent580ee8b0c6e1aea1e2e1d60499b603b9168b44f0 (diff)
Bundle correlated switch changes atomically.
This is a prerequisite for headset jack detection on Manta. Bug: 6548391 Change-Id: I549a194344511c0cee578b00f6a9ab5fdbdfb99c
Diffstat (limited to 'services/java/com/android/server/input/InputManagerService.java')
-rw-r--r--services/java/com/android/server/input/InputManagerService.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/services/java/com/android/server/input/InputManagerService.java b/services/java/com/android/server/input/InputManagerService.java
index 0b4a721ac210..7b0c45237dbf 100644
--- a/services/java/com/android/server/input/InputManagerService.java
+++ b/services/java/com/android/server/input/InputManagerService.java
@@ -1238,11 +1238,15 @@ public class InputManagerService extends IInputManager.Stub
}
// Native callback.
- private void notifySwitch(long whenNanos, int switchCode, int switchValue) {
- switch (switchCode) {
- case SW_LID:
- mWindowManagerCallbacks.notifyLidSwitchChanged(whenNanos, switchValue == 0);
- break;
+ private void notifySwitch(long whenNanos, int switchValues, int switchMask) {
+ if (DEBUG) {
+ Slog.d(TAG, "notifySwitch: values=" + Integer.toHexString(switchValues)
+ + ", mask=" + Integer.toHexString(switchMask));
+ }
+
+ if ((switchMask & (1 << SW_LID)) != 0) {
+ final boolean lidOpen = ((switchValues & (1 << SW_LID)) == 0);
+ mWindowManagerCallbacks.notifyLidSwitchChanged(whenNanos, lidOpen);
}
}