diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-09-27 20:46:43 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2012-09-27 21:42:57 -0700 |
commit | bcc046af4ef171aa3aa3c6b64efb5cafc1e46cd3 (patch) | |
tree | 497724ac54d4a380b5f466ea48a3a96265446754 /services/java/com/android/server/input/InputManagerService.java | |
parent | 580ee8b0c6e1aea1e2e1d60499b603b9168b44f0 (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.java | 14 |
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); } } |