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

Commit ec8e5cb9 authored by Vova Sharaienko's avatar Vova Sharaienko
Browse files

Removed dependency on libstatslog

- created dedicated log modules for inputflinger

Flag: EXEMPT bugfix
Bug: 402950016
Test: build should pass, refactoring CL existing tests pass
Change-Id: Ie5695cc64b5a16d7f4889e295a8b855af26edc68
parent 5944038a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -80,7 +80,6 @@ cc_test {
        "libbinder",
        "libcutils",
        "liblog",
        "libstatslog",
        "libtinyxml2",
        "libutils",
        "server_configurable_flags",
+37 −2
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ cc_defaults {
        "libkll",
        "liblog",
        "libprotobuf-cpp-lite",
        "libstatslog",
        "libstatslog_inputflinger",
        "libstatspull",
        "libstatssocket",
        "libutils",
@@ -218,7 +218,9 @@ cc_defaults {
        "libinput",
        "liblog",
        "libprocessgroup",
        "libstatslog",
        "libstatslog_inputflinger",
        "libstatspull",
        "libstatssocket",
        "libutils",
    ],
    header_libs: [
@@ -284,3 +286,36 @@ phony {
        "monkey_test",
    ],
}

cc_library_shared {
    name: "libstatslog_inputflinger",
    host_supported: true,
    generated_sources: ["statslog_inputflinger.cpp"],
    generated_headers: ["statslog_inputflinger.h"],
    export_generated_headers: ["statslog_inputflinger.h"],
    shared_libs: [
        "libstatspull",
        "libstatssocket",
    ],
}

genrule {
    name: "statslog_inputflinger.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_inputflinger.h" +
        " --module input --namespace android,inputflinger,stats",
    out: [
        "statslog_inputflinger.h",
    ],
}

genrule {
    name: "statslog_inputflinger.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_inputflinger.cpp" +
        " --module input --namespace android,inputflinger,stats" +
        " --importHeader statslog_inputflinger.h",
    out: [
        "statslog_inputflinger.cpp",
    ],
}
+9 −7
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ int32_t linuxBusToInputDeviceBusEnum(int32_t linuxBus, bool isUsiStylus) {
    if (isUsiStylus) {
        // This is a stylus connected over the Universal Stylus Initiative (USI) protocol.
        // For metrics purposes, we treat this protocol as a separate bus.
        return util::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__USI;
        return inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__USI;
    }

    // When adding cases to this switch, also add them to the copy of this method in
@@ -52,11 +52,11 @@ int32_t linuxBusToInputDeviceBusEnum(int32_t linuxBus, bool isUsiStylus) {
    // TODO(b/286394420): deduplicate this method with the one in TouchpadInputMapper.cpp.
    switch (linuxBus) {
        case BUS_USB:
            return util::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__USB;
            return inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__USB;
        case BUS_BLUETOOTH:
            return util::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__BLUETOOTH;
            return inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__BLUETOOTH;
        default:
            return util::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__OTHER;
            return inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__DEVICE_BUS__OTHER;
    }
}

@@ -94,9 +94,11 @@ class : public InputDeviceMetricsLogger {
            ALOGD_IF(DEBUG, "        - uid: %s\t duration: %dms", uid.toString().c_str(),
                     durMillis);
        }
        util::stats_write(util::INPUTDEVICE_USAGE_REPORTED, info.vendor, info.product, info.version,
                          linuxBusToInputDeviceBusEnum(info.bus, info.isUsiStylus), durationMillis,
                          sources, durationsPerSource, uids, durationsPerUid);
        inputflinger::stats::stats_write(inputflinger::stats::INPUTDEVICE_USAGE_REPORTED,
                                         info.vendor, info.product, info.version,
                                         linuxBusToInputDeviceBusEnum(info.bus, info.isUsiStylus),
                                         durationMillis, sources, durationsPerSource, uids,
                                         durationsPerUid);
    }
} sStatsdLogger;

+23 −18
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#include "NotifyArgs.h"

#include <linux/input.h>
#include <statslog.h>
#include <statslog_inputflinger.h>

namespace android {

@@ -27,23 +27,28 @@ namespace android {
 * Enum representation of the InputDeviceUsageSource.
 */
enum class InputDeviceUsageSource : int32_t {
    UNKNOWN = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__UNKNOWN,
    BUTTONS = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__BUTTONS,
    KEYBOARD = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__KEYBOARD,
    DPAD = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__DPAD,
    GAMEPAD = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__GAMEPAD,
    JOYSTICK = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__JOYSTICK,
    MOUSE = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__MOUSE,
    MOUSE_CAPTURED = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__MOUSE_CAPTURED,
    TOUCHPAD = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHPAD,
    TOUCHPAD_CAPTURED = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHPAD_CAPTURED,
    ROTARY_ENCODER = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__ROTARY_ENCODER,
    STYLUS_DIRECT = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_DIRECT,
    STYLUS_INDIRECT = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_INDIRECT,
    STYLUS_FUSED = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_FUSED,
    TOUCH_NAVIGATION = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCH_NAVIGATION,
    TOUCHSCREEN = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHSCREEN,
    TRACKBALL = util::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TRACKBALL,
    UNKNOWN = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__UNKNOWN,
    BUTTONS = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__BUTTONS,
    KEYBOARD = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__KEYBOARD,
    DPAD = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__DPAD,
    GAMEPAD = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__GAMEPAD,
    JOYSTICK = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__JOYSTICK,
    MOUSE = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__MOUSE,
    MOUSE_CAPTURED =
            inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__MOUSE_CAPTURED,
    TOUCHPAD = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHPAD,
    TOUCHPAD_CAPTURED =
            inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHPAD_CAPTURED,
    ROTARY_ENCODER =
            inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__ROTARY_ENCODER,
    STYLUS_DIRECT = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_DIRECT,
    STYLUS_INDIRECT =
            inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_INDIRECT,
    STYLUS_FUSED = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__STYLUS_FUSED,
    TOUCH_NAVIGATION =
            inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCH_NAVIGATION,
    TOUCHSCREEN = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TOUCHSCREEN,
    TRACKBALL = inputflinger::stats::INPUT_DEVICE_USAGE_REPORTED__USAGE_SOURCES__TRACKBALL,

    ftl_first = UNKNOWN,
    ftl_last = TRACKBALL,
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ cc_benchmark {
        "libinputflinger_base",
        "libinputreporter",
        "liblog",
        "libstatslog",
        "libstatslog_inputflinger",
        "libutils",
    ],
    static_libs: [
Loading