summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2014-02-26 15:12:45 -0800
committerJeff Brown <jeffbrown@google.com>2014-02-26 15:15:53 -0800
commit6ca90042b398153e063cf69dea784e201e76a9ee (patch)
treeaed2d4572c86f6e3edc9d2eb5a0e2640eec74d2c /libs
parent42ec5035672fbfe701ddbf90dcc4390dab9188af (diff)
downloadframeworks_base-6ca90042b398153e063cf69dea784e201e76a9ee.zip
frameworks_base-6ca90042b398153e063cf69dea784e201e76a9ee.tar.gz
frameworks_base-6ca90042b398153e063cf69dea784e201e76a9ee.tar.bz2
Add touch.wake IDC property to control wakeup.
Normally we do not wake the device when the internal touch screen is touched. This behavior can now be configured by setting a property in the input device configuration file. Add the following line to the IDC file to enable an initial touch to wake the device from sleep. touch.wake = 1 Change-Id: Ifd6d4f51afacd30d85f475725a66e6fcccde9cbb
Diffstat (limited to 'libs')
-rw-r--r--libs/input/InputReader.cpp13
-rw-r--r--libs/input/InputReader.h2
2 files changed, 10 insertions, 5 deletions
diff --git a/libs/input/InputReader.cpp b/libs/input/InputReader.cpp
index 03852a5..b1b7c7d 100644
--- a/libs/input/InputReader.cpp
+++ b/libs/input/InputReader.cpp
@@ -2831,6 +2831,13 @@ void TouchInputMapper::configureParameters() {
mParameters.deviceType == Parameters::DEVICE_TYPE_TOUCH_SCREEN
&& getDevice()->isExternal();
}
+
+ // Initial downs on external touch devices should wake the device.
+ // Normally we don't do this for internal touch screens to prevent them from waking
+ // up in your pocket but you can enable it using the input device configuration.
+ mParameters.wake = getDevice()->isExternal();
+ getDevice()->getConfiguration().tryGetProperty(String8("touch.wake"),
+ mParameters.wake);
}
void TouchInputMapper::dumpParameters(String8& dump) {
@@ -3733,11 +3740,7 @@ void TouchInputMapper::sync(nsecs_t when) {
getContext()->fadePointer();
}
- // Initial downs on external touch devices should wake the device.
- // We don't do this for internal touch screens to prevent them from waking
- // up in your pocket.
- // TODO: Use the input device configuration to control this behavior more finely.
- if (getDevice()->isExternal()) {
+ if (mParameters.wake) {
policyFlags |= POLICY_FLAG_WAKE_DROPPED;
}
}
diff --git a/libs/input/InputReader.h b/libs/input/InputReader.h
index a8bb636..eb5746b 100644
--- a/libs/input/InputReader.h
+++ b/libs/input/InputReader.h
@@ -1214,6 +1214,8 @@ protected:
GESTURE_MODE_SPOTS,
};
GestureMode gestureMode;
+
+ bool wake;
} mParameters;
// Immutable calibration parameters in parsed form.