diff options
| author | Jeff Brown <jeffbrown@google.com> | 2012-04-09 11:05:16 -0700 |
|---|---|---|
| committer | Jeff Brown <jeffbrown@google.com> | 2012-04-09 11:22:12 -0700 |
| commit | 27fd3420ac0498ff5086f71023f443966541aa04 (patch) | |
| tree | dc29332ba544ec0d8da9503d9205e6ef753c0e56 | |
| parent | eca3cf58c096d5a4ba4ae80318f72266c21a9a6d (diff) | |
| download | frameworks_base-27fd3420ac0498ff5086f71023f443966541aa04.zip frameworks_base-27fd3420ac0498ff5086f71023f443966541aa04.tar.gz frameworks_base-27fd3420ac0498ff5086f71023f443966541aa04.tar.bz2 | |
Fix lid switch interpretation.
Also remove unnecessary permission check for method that is
only called internally.
Change-Id: I32f63fc3e96b06709d18b046ee2d3c8f310de70d
| -rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 11 | ||||
| -rw-r--r-- | services/jni/com_android_server_input_InputManagerService.cpp | 3 |
2 files changed, 7 insertions, 7 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 6f7852d..a7af8fb 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -4807,10 +4807,13 @@ public class WindowManagerService extends IWindowManager.Stub final int SW_LID = 0x00; int sw = mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_LID); if (sw > 0) { - return LID_OPEN; - } else if (sw == 0) { + // Switch state: AKEY_STATE_DOWN or AKEY_STATE_VIRTUAL. return LID_CLOSED; + } else if (sw == 0) { + // Switch state: AKEY_STATE_UP. + return LID_OPEN; } else { + // Switch state: AKEY_STATE_UNKNOWN. return LID_ABSENT; } } @@ -4818,10 +4821,6 @@ public class WindowManagerService extends IWindowManager.Stub // Called by window manager policy. Not exposed externally. @Override public InputChannel monitorInput(String inputChannelName) { - if (!checkCallingPermission(android.Manifest.permission.READ_INPUT_STATE, - "monitorInput()")) { - throw new SecurityException("Requires READ_INPUT_STATE permission"); - } return mInputManager.monitorInput(inputChannelName); } diff --git a/services/jni/com_android_server_input_InputManagerService.cpp b/services/jni/com_android_server_input_InputManagerService.cpp index 75c20f3..c137a78 100644 --- a/services/jni/com_android_server_input_InputManagerService.cpp +++ b/services/jni/com_android_server_input_InputManagerService.cpp @@ -510,8 +510,9 @@ void NativeInputManager::notifySwitch(nsecs_t when, int32_t switchCode, switch (switchCode) { case SW_LID: + // When switch value is set indicates lid is closed. env->CallVoidMethod(mServiceObj, gServiceClassInfo.notifyLidSwitchChanged, - when, switchValue == 0); + when, switchValue == 0 /*lidOpen*/); checkAndClearExceptionFromCallback(env, "notifyLidSwitchChanged"); break; } |
