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

Commit 227c5542 authored by Michael Wright's avatar Michael Wright
Browse files

Convert TouchInputMapper enums to enum classes.

Also, drop virtual for override methods. The override keyword requires
a method to both be virtual and overriding a parent's virtual method, so
having both is redundant.

Bug: 160010896
Test: atest InputReader_test.cpp
Change-Id: Ia36e0fa95068531e5e23c3932b7c190dfa40ecd9
parent 03703ff6
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -92,15 +92,15 @@ private:
class MultiTouchInputMapper : public TouchInputMapper {
class MultiTouchInputMapper : public TouchInputMapper {
public:
public:
    explicit MultiTouchInputMapper(InputDeviceContext& deviceContext);
    explicit MultiTouchInputMapper(InputDeviceContext& deviceContext);
    virtual ~MultiTouchInputMapper();
    ~MultiTouchInputMapper() override;


    virtual void reset(nsecs_t when) override;
    void reset(nsecs_t when) override;
    virtual void process(const RawEvent* rawEvent) override;
    void process(const RawEvent* rawEvent) override;


protected:
protected:
    virtual void syncTouch(nsecs_t when, RawState* outState);
    void syncTouch(nsecs_t when, RawState* outState) override;
    virtual void configureRawPointerAxes();
    void configureRawPointerAxes() override;
    virtual bool hasStylus() const;
    bool hasStylus() const override;


private:
private:
    MultiTouchMotionAccumulator mMultiTouchMotionAccumulator;
    MultiTouchMotionAccumulator mMultiTouchMotionAccumulator;
+6 −6
Original line number Original line Diff line number Diff line
@@ -25,15 +25,15 @@ namespace android {
class SingleTouchInputMapper : public TouchInputMapper {
class SingleTouchInputMapper : public TouchInputMapper {
public:
public:
    explicit SingleTouchInputMapper(InputDeviceContext& deviceContext);
    explicit SingleTouchInputMapper(InputDeviceContext& deviceContext);
    virtual ~SingleTouchInputMapper();
    ~SingleTouchInputMapper() override;


    virtual void reset(nsecs_t when) override;
    void reset(nsecs_t when) override;
    virtual void process(const RawEvent* rawEvent) override;
    void process(const RawEvent* rawEvent) override;


protected:
protected:
    virtual void syncTouch(nsecs_t when, RawState* outState);
    void syncTouch(nsecs_t when, RawState* outState) override;
    virtual void configureRawPointerAxes();
    void configureRawPointerAxes() override;
    virtual bool hasStylus() const;
    bool hasStylus() const override;


private:
private:
    SingleTouchMotionAccumulator mSingleTouchMotionAccumulator;
    SingleTouchMotionAccumulator mSingleTouchMotionAccumulator;
+205 −202

File changed.

Preview size limit exceeded, changes collapsed.

+67 −68
Original line number Original line Diff line number Diff line
@@ -17,6 +17,8 @@
#ifndef _UI_INPUTREADER_TOUCH_INPUT_MAPPER_H
#ifndef _UI_INPUTREADER_TOUCH_INPUT_MAPPER_H
#define _UI_INPUTREADER_TOUCH_INPUT_MAPPER_H
#define _UI_INPUTREADER_TOUCH_INPUT_MAPPER_H


#include <stdint.h>

#include "CursorButtonAccumulator.h"
#include "CursorButtonAccumulator.h"
#include "CursorScrollAccumulator.h"
#include "CursorScrollAccumulator.h"
#include "EventHub.h"
#include "EventHub.h"
@@ -24,8 +26,6 @@
#include "InputReaderBase.h"
#include "InputReaderBase.h"
#include "TouchButtonAccumulator.h"
#include "TouchButtonAccumulator.h"


#include <stdint.h>

namespace android {
namespace android {


/* Raw axis information from the driver. */
/* Raw axis information from the driver. */
@@ -133,25 +133,24 @@ struct CookedPointerData {
class TouchInputMapper : public InputMapper {
class TouchInputMapper : public InputMapper {
public:
public:
    explicit TouchInputMapper(InputDeviceContext& deviceContext);
    explicit TouchInputMapper(InputDeviceContext& deviceContext);
    virtual ~TouchInputMapper();
    ~TouchInputMapper() override;


    virtual uint32_t getSources() override;
    uint32_t getSources() override;
    virtual void populateDeviceInfo(InputDeviceInfo* deviceInfo) override;
    void populateDeviceInfo(InputDeviceInfo* deviceInfo) override;
    virtual void dump(std::string& dump) override;
    void dump(std::string& dump) override;
    virtual void configure(nsecs_t when, const InputReaderConfiguration* config,
    void configure(nsecs_t when, const InputReaderConfiguration* config, uint32_t changes) override;
                           uint32_t changes) override;
    void reset(nsecs_t when) override;
    virtual void reset(nsecs_t when) override;
    void process(const RawEvent* rawEvent) override;
    virtual void process(const RawEvent* rawEvent) override;


    int32_t getKeyCodeState(uint32_t sourceMask, int32_t keyCode) override;
    virtual int32_t getKeyCodeState(uint32_t sourceMask, int32_t keyCode) override;
    int32_t getScanCodeState(uint32_t sourceMask, int32_t scanCode) override;
    virtual int32_t getScanCodeState(uint32_t sourceMask, int32_t scanCode) override;
    bool markSupportedKeyCodes(uint32_t sourceMask, size_t numCodes, const int32_t* keyCodes,
    virtual bool markSupportedKeyCodes(uint32_t sourceMask, size_t numCodes,
                               uint8_t* outFlags) override;
                                       const int32_t* keyCodes, uint8_t* outFlags) override;


    void cancelTouch(nsecs_t when) override;
    virtual void cancelTouch(nsecs_t when) override;
    void timeoutExpired(nsecs_t when) override;
    virtual void timeoutExpired(nsecs_t when) override;
    void updateExternalStylusState(const StylusState& state) override;
    virtual void updateExternalStylusState(const StylusState& state) override;
    std::optional<int32_t> getAssociatedDisplayId() override;
    virtual std::optional<int32_t> getAssociatedDisplayId() override;


protected:
protected:
    CursorButtonAccumulator mCursorButtonAccumulator;
    CursorButtonAccumulator mCursorButtonAccumulator;
@@ -177,12 +176,12 @@ protected:
    // Input sources and device mode.
    // Input sources and device mode.
    uint32_t mSource;
    uint32_t mSource;


    enum DeviceMode {
    enum class DeviceMode {
        DEVICE_MODE_DISABLED,   // input is disabled
        DISABLED,   // input is disabled
        DEVICE_MODE_DIRECT,     // direct mapping (touchscreen)
        DIRECT,     // direct mapping (touchscreen)
        DEVICE_MODE_UNSCALED,   // unscaled mapping (touchpad)
        UNSCALED,   // unscaled mapping (touchpad)
        DEVICE_MODE_NAVIGATION, // unscaled mapping with assist gesture (touch navigation)
        NAVIGATION, // unscaled mapping with assist gesture (touch navigation)
        DEVICE_MODE_POINTER,    // pointer mapping (pointer)
        POINTER,    // pointer mapping (pointer)
    };
    };
    DeviceMode mDeviceMode;
    DeviceMode mDeviceMode;


@@ -191,11 +190,11 @@ protected:


    // Immutable configuration parameters.
    // Immutable configuration parameters.
    struct Parameters {
    struct Parameters {
        enum DeviceType {
        enum class DeviceType {
            DEVICE_TYPE_TOUCH_SCREEN,
            TOUCH_SCREEN,
            DEVICE_TYPE_TOUCH_PAD,
            TOUCH_PAD,
            DEVICE_TYPE_TOUCH_NAVIGATION,
            TOUCH_NAVIGATION,
            DEVICE_TYPE_POINTER,
            POINTER,
        };
        };


        DeviceType deviceType;
        DeviceType deviceType;
@@ -205,9 +204,9 @@ protected:
        bool hasButtonUnderPad;
        bool hasButtonUnderPad;
        std::string uniqueDisplayId;
        std::string uniqueDisplayId;


        enum GestureMode {
        enum class GestureMode {
            GESTURE_MODE_SINGLE_TOUCH,
            SINGLE_TOUCH,
            GESTURE_MODE_MULTI_TOUCH,
            MULTI_TOUCH,
        };
        };
        GestureMode gestureMode;
        GestureMode gestureMode;


@@ -217,13 +216,13 @@ protected:
    // Immutable calibration parameters in parsed form.
    // Immutable calibration parameters in parsed form.
    struct Calibration {
    struct Calibration {
        // Size
        // Size
        enum SizeCalibration {
        enum class SizeCalibration {
            SIZE_CALIBRATION_DEFAULT,
            DEFAULT,
            SIZE_CALIBRATION_NONE,
            NONE,
            SIZE_CALIBRATION_GEOMETRIC,
            GEOMETRIC,
            SIZE_CALIBRATION_DIAMETER,
            DIAMETER,
            SIZE_CALIBRATION_BOX,
            BOX,
            SIZE_CALIBRATION_AREA,
            AREA,
        };
        };


        SizeCalibration sizeCalibration;
        SizeCalibration sizeCalibration;
@@ -236,11 +235,11 @@ protected:
        bool sizeIsSummed;
        bool sizeIsSummed;


        // Pressure
        // Pressure
        enum PressureCalibration {
        enum class PressureCalibration {
            PRESSURE_CALIBRATION_DEFAULT,
            DEFAULT,
            PRESSURE_CALIBRATION_NONE,
            NONE,
            PRESSURE_CALIBRATION_PHYSICAL,
            PHYSICAL,
            PRESSURE_CALIBRATION_AMPLITUDE,
            AMPLITUDE,
        };
        };


        PressureCalibration pressureCalibration;
        PressureCalibration pressureCalibration;
@@ -248,30 +247,30 @@ protected:
        float pressureScale;
        float pressureScale;


        // Orientation
        // Orientation
        enum OrientationCalibration {
        enum class OrientationCalibration {
            ORIENTATION_CALIBRATION_DEFAULT,
            DEFAULT,
            ORIENTATION_CALIBRATION_NONE,
            NONE,
            ORIENTATION_CALIBRATION_INTERPOLATED,
            INTERPOLATED,
            ORIENTATION_CALIBRATION_VECTOR,
            VECTOR,
        };
        };


        OrientationCalibration orientationCalibration;
        OrientationCalibration orientationCalibration;


        // Distance
        // Distance
        enum DistanceCalibration {
        enum class DistanceCalibration {
            DISTANCE_CALIBRATION_DEFAULT,
            DEFAULT,
            DISTANCE_CALIBRATION_NONE,
            NONE,
            DISTANCE_CALIBRATION_SCALED,
            SCALED,
        };
        };


        DistanceCalibration distanceCalibration;
        DistanceCalibration distanceCalibration;
        bool haveDistanceScale;
        bool haveDistanceScale;
        float distanceScale;
        float distanceScale;


        enum CoverageCalibration {
        enum class CoverageCalibration {
            COVERAGE_CALIBRATION_DEFAULT,
            DEFAULT,
            COVERAGE_CALIBRATION_NONE,
            NONE,
            COVERAGE_CALIBRATION_BOX,
            BOX,
        };
        };


        CoverageCalibration coverageCalibration;
        CoverageCalibration coverageCalibration;
@@ -524,16 +523,16 @@ private:
        uint64_t distance : 48; // squared distance
        uint64_t distance : 48; // squared distance
    };
    };


    enum PointerUsage {
    enum class PointerUsage {
        POINTER_USAGE_NONE,
        NONE,
        POINTER_USAGE_GESTURES,
        GESTURES,
        POINTER_USAGE_STYLUS,
        STYLUS,
        POINTER_USAGE_MOUSE,
        MOUSE,
    };
    };
    PointerUsage mPointerUsage;
    PointerUsage mPointerUsage;


    struct PointerGesture {
    struct PointerGesture {
        enum Mode {
        enum class Mode {
            // No fingers, button is not pressed.
            // No fingers, button is not pressed.
            // Nothing happening.
            // Nothing happening.
            NEUTRAL,
            NEUTRAL,
@@ -646,9 +645,9 @@ private:
            firstTouchTime = LLONG_MIN;
            firstTouchTime = LLONG_MIN;
            activeTouchId = -1;
            activeTouchId = -1;
            activeGestureId = -1;
            activeGestureId = -1;
            currentGestureMode = NEUTRAL;
            currentGestureMode = Mode::NEUTRAL;
            currentGestureIdBits.clear();
            currentGestureIdBits.clear();
            lastGestureMode = NEUTRAL;
            lastGestureMode = Mode::NEUTRAL;
            lastGestureIdBits.clear();
            lastGestureIdBits.clear();
            downTime = 0;
            downTime = 0;
            velocityTracker.clear();
            velocityTracker.clear();