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

Commit b5045651 authored by Prabir Pradhan's avatar Prabir Pradhan
Browse files

Notify MetricsCollector of device interaction from Dispatcher

InputDispatcher will notify the metrics collector whenever an
interaction occurs between an input device and a UID through its policy.

Bug: 275726706
Test: atest inputflinger_tests
Test: statsd_testdrive
Change-Id: Ic74aa10c5d8806fe7d0bc376c9bf05862c60cf7b
parent 9ce13dd2
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -355,6 +355,8 @@ public:
    void onPointerDownOutsideFocus(const sp<IBinder>& touchedToken) override;
    void setPointerCapture(const PointerCaptureRequest& request) override;
    void notifyDropWindow(const sp<IBinder>& token, float x, float y) override;
    void notifyDeviceInteraction(int32_t deviceId, nsecs_t timestamp,
                                 const std::set<int32_t>& uids) override;

    /* --- PointerControllerPolicyInterface implementation --- */

@@ -966,6 +968,15 @@ void NativeInputManager::notifyDropWindow(const sp<IBinder>& token, float x, flo
    checkAndClearExceptionFromCallback(env, "notifyDropWindow");
}

void NativeInputManager::notifyDeviceInteraction(int32_t deviceId, nsecs_t timestamp,
                                                 const std::set<int32_t>& uids) {
    static const bool ENABLE_INPUT_DEVICE_USAGE_METRICS =
            sysprop::InputProperties::enable_input_device_usage_metrics().value_or(false);
    if (!ENABLE_INPUT_DEVICE_USAGE_METRICS) return;

    mInputManager->getMetricsCollector().notifyDeviceInteraction(deviceId, timestamp, uids);
}

void NativeInputManager::notifySensorEvent(int32_t deviceId, InputDeviceSensorType sensorType,
                                           InputDeviceSensorAccuracy accuracy, nsecs_t timestamp,
                                           const std::vector<float>& values) {