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
This commit is contained in:
Prabir Pradhan
2023-05-18 02:04:24 +00:00
parent 9ce13dd292
commit b504565174

View File

@@ -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) {