Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcbf97ef authored by Michael Wright's avatar Michael Wright
Browse files

Add logging for switch state

Bug: 17004602
Change-Id: I15c9feb7b28274183742936c20e34e7fb07e0b70
parent 8b17ac6b
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -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 ---

+2 −1
Original line number Diff line number Diff line
@@ -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);