summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java11
-rw-r--r--services/jni/com_android_server_input_InputManagerService.cpp3
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;
}