summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Harry Cutts <hcutts@google.com> 2024-09-12 18:11:44 +0000
committer Harry Cutts <hcutts@google.com> 2024-09-12 18:56:54 +0000
commitf20b6ba6b0f791dfdebd26c48014a2733370498f (patch)
tree0ec6f47cbaa37a9dbcbf71a40be36bde390ec0d7
parent90a75721b4015fe496f87a5d80633badbaff4781 (diff)
InputDevice: modernize IDC probe debugging logs
* Use the new-style stream syntax for readability * Upgrade DEBUGs to INFOs (since the new-style stream syntax filters DEBUG logs by default, and since these are hidden behind a compile-time constant it's fine to promote them) * Include the reason we didn't find a particular IDC file Bug: 365593937 Test: set DEBUG_PROBE to true, check logcat for the InputReader tag while connecting an input device Flag: EXEMPT code disabled by compile-time constant Change-Id: I7801252b688b4869911792aa66d2dcdceed8713b
-rw-r--r--include/input/InputDevice.h1
-rw-r--r--libs/input/InputDevice.cpp34
2 files changed, 18 insertions, 17 deletions
diff --git a/include/input/InputDevice.h b/include/input/InputDevice.h
index 7d8c19e702..1a482396ee 100644
--- a/include/input/InputDevice.h
+++ b/include/input/InputDevice.h
@@ -389,6 +389,7 @@ enum class InputDeviceConfigurationFileType : int32_t {
CONFIGURATION = 0, /* .idc file */
KEY_LAYOUT = 1, /* .kl file */
KEY_CHARACTER_MAP = 2, /* .kcm file */
+ ftl_last = KEY_CHARACTER_MAP,
};
/*
diff --git a/libs/input/InputDevice.cpp b/libs/input/InputDevice.cpp
index 9333ab83a6..962ce09b46 100644
--- a/libs/input/InputDevice.cpp
+++ b/libs/input/InputDevice.cpp
@@ -20,6 +20,7 @@
#include <unistd.h>
#include <ctype.h>
+#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <ftl/enum.h>
@@ -31,6 +32,9 @@ using android::base::StringPrintf;
namespace android {
+// Set to true to log detailed debugging messages about IDC file probing.
+static constexpr bool DEBUG_PROBE = false;
+
static const char* CONFIGURATION_FILE_DIR[] = {
"idc/",
"keylayout/",
@@ -114,15 +118,14 @@ std::string getInputDeviceConfigurationFilePathByName(
for (const auto& prefix : pathPrefixes) {
path = prefix;
appendInputDeviceConfigurationFileRelativePath(path, name, type);
-#if DEBUG_PROBE
- ALOGD("Probing for system provided input device configuration file: path='%s'",
- path.c_str());
-#endif
if (!access(path.c_str(), R_OK)) {
-#if DEBUG_PROBE
- ALOGD("Found");
-#endif
+ LOG_IF(INFO, DEBUG_PROBE)
+ << "Found system-provided input device configuration file at " << path;
return path;
+ } else {
+ LOG_IF(ERROR, DEBUG_PROBE)
+ << "Didn't find system-provided input device configuration file at " << path
+ << ": " << strerror(errno);
}
}
@@ -135,21 +138,18 @@ std::string getInputDeviceConfigurationFilePathByName(
}
path += "/system/devices/";
appendInputDeviceConfigurationFileRelativePath(path, name, type);
-#if DEBUG_PROBE
- ALOGD("Probing for system user input device configuration file: path='%s'", path.c_str());
-#endif
if (!access(path.c_str(), R_OK)) {
-#if DEBUG_PROBE
- ALOGD("Found");
-#endif
+ LOG_IF(INFO, DEBUG_PROBE) << "Found system user input device configuration file at "
+ << path;
return path;
+ } else {
+ LOG_IF(ERROR, DEBUG_PROBE) << "Didn't find system user input device configuration file at "
+ << path << ": " << strerror(errno);
}
// Not found.
-#if DEBUG_PROBE
- ALOGD("Probe failed to find input device configuration file: name='%s', type=%d",
- name.c_str(), type);
-#endif
+ LOG_IF(INFO, DEBUG_PROBE) << "Probe failed to find input device configuration file with name '"
+ << name << "' and type " << ftl::enum_string(type);
return "";
}