diff options
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); } } |