summaryrefslogtreecommitdiffstats
path: root/services/inputflinger
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2014-09-02 07:09:26 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-02 07:09:26 +0000
commit53047e593dc7cc1d2cfb651e17373dfa7ff57fc1 (patch)
tree74e041bb77c85af774f924909775956df9e7f739 /services/inputflinger
parentbdf410a8c21b07d97d55333efe5e7d376142a223 (diff)
parent883fccb5f89c005502af27a18322f9fa302ac1b3 (diff)
downloadframeworks_native-53047e593dc7cc1d2cfb651e17373dfa7ff57fc1.zip
frameworks_native-53047e593dc7cc1d2cfb651e17373dfa7ff57fc1.tar.gz
frameworks_native-53047e593dc7cc1d2cfb651e17373dfa7ff57fc1.tar.bz2
am 883fccb5: am bcbf97ef: Add logging for switch state
* commit '883fccb5f89c005502af27a18322f9fa302ac1b3': Add logging for switch state
Diffstat (limited to 'services/inputflinger')
-rw-r--r--services/inputflinger/InputReader.cpp14
-rw-r--r--services/inputflinger/InputReader.h3
2 files changed, 12 insertions, 5 deletions
diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp
index 8295c4c..b7c7ff4 100644
--- a/services/inputflinger/InputReader.cpp
+++ b/services/inputflinger/InputReader.cpp
@@ -1815,7 +1815,7 @@ void InputMapper::dumpRawAbsoluteAxisInfo(String8& dump,
// --- SwitchInputMapper ---
SwitchInputMapper::SwitchInputMapper(InputDevice* device) :
- InputMapper(device), mUpdatedSwitchValues(0), mUpdatedSwitchMask(0) {
+ InputMapper(device), mSwitchValues(0), mUpdatedSwitchMask(0) {
}
SwitchInputMapper::~SwitchInputMapper() {
@@ -1841,7 +1841,9 @@ void SwitchInputMapper::process(const RawEvent* rawEvent) {
void SwitchInputMapper::processSwitch(int32_t switchCode, int32_t switchValue) {
if (switchCode >= 0 && switchCode < 32) {
if (switchValue) {
- mUpdatedSwitchValues |= 1 << switchCode;
+ mSwitchValues |= 1 << switchCode;
+ } else {
+ mSwitchValues &= ~(1 << switchCode);
}
mUpdatedSwitchMask |= 1 << switchCode;
}
@@ -1849,10 +1851,10 @@ void SwitchInputMapper::processSwitch(int32_t switchCode, int32_t switchValue) {
void SwitchInputMapper::sync(nsecs_t when) {
if (mUpdatedSwitchMask) {
- NotifySwitchArgs args(when, 0, mUpdatedSwitchValues, mUpdatedSwitchMask);
+ int32_t updatedSwitchValues = mSwitchValues & mUpdatedSwitchMask;
+ NotifySwitchArgs args(when, 0, updatedSwitchValues, mUpdatedSwitchMask);
getListener()->notifySwitch(&args);
- mUpdatedSwitchValues = 0;
mUpdatedSwitchMask = 0;
}
}
@@ -1861,6 +1863,10 @@ int32_t SwitchInputMapper::getSwitchState(uint32_t sourceMask, int32_t switchCod
return getEventHub()->getSwitchState(getDeviceId(), switchCode);
}
+void SwitchInputMapper::dump(String8& dump) {
+ dump.append(INDENT2 "Switch Input Mapper:\n");
+ dump.appendFormat(INDENT3 "SwitchValues: %x\n", mSwitchValues);
+}
// --- VibratorInputMapper ---
diff --git a/services/inputflinger/InputReader.h b/services/inputflinger/InputReader.h
index 9e36e35..c5896d4 100644
--- a/services/inputflinger/InputReader.h
+++ b/services/inputflinger/InputReader.h
@@ -999,9 +999,10 @@ public:
virtual void process(const RawEvent* rawEvent);
virtual int32_t getSwitchState(uint32_t sourceMask, int32_t switchCode);
+ virtual void dump(String8& dump);
private:
- uint32_t mUpdatedSwitchValues;
+ uint32_t mSwitchValues;
uint32_t mUpdatedSwitchMask;
void processSwitch(int32_t switchCode, int32_t switchValue);