summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Brockus <dbrockus@google.com>2023-08-09 09:06:15 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-09-20 15:57:41 +0000
commit69fea1385c26067cfcb119e2c09763c207443be7 (patch)
treeaffaf272344c047ef0db004be62ac51c1303a350
parent9a3e734556f84dd7052300454074416b960f5da9 (diff)
downloadlibchrome-gestures-69fea1385c26067cfcb119e2c09763c207443be7.tar.gz
Add event logging property
BUG=b:286851905 TEST=USE="coverage" FEATURES="test noclean" emerge-brya chromeos-base/gesture Change-Id: If1680052e5b9224d865383e0dc1ab8ab239f881c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/gestures/+/4765959 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Harry Cutts <hcutts@chromium.org> Reviewed-by: Henry Barnor <hbarnor@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Sean O'Brien <seobrien@chromium.org>
-rw-r--r--include/interpreter.h6
-rw-r--r--include/logging_filter_interpreter.h1
-rw-r--r--src/interpreter.cc18
-rw-r--r--src/logging_filter_interpreter.cc5
-rw-r--r--src/logging_filter_interpreter_unittest.cc4
5 files changed, 31 insertions, 3 deletions
diff --git a/include/interpreter.h b/include/interpreter.h
index f293580..810552a 100644
--- a/include/interpreter.h
+++ b/include/interpreter.h
@@ -90,11 +90,17 @@ class Interpreter {
stime_t* timeout) {}
virtual void HandleTimerImpl(stime_t now, stime_t* timeout) {}
+ bool EventDebugIsEnabled();
+ void SetEventDebugEnabled(bool enabled);
+
+ bool EventLoggingIsEnabled();
void SetEventLoggingEnabled(bool enabled);
private:
const char* name_;
Tracer* tracer_;
+
+ bool enable_event_debug_ = false;
bool enable_event_logging_ = false;
void LogOutputs(const Gesture* result, stime_t* timeout, const char* action);
diff --git a/include/logging_filter_interpreter.h b/include/logging_filter_interpreter.h
index ffc1685..a4385e1 100644
--- a/include/logging_filter_interpreter.h
+++ b/include/logging_filter_interpreter.h
@@ -36,6 +36,7 @@ class LoggingFilterInterpreter : public FilterInterpreter,
private:
void Dump(const char* filename);
+ BoolProperty event_debug_enable_;
BoolProperty event_logging_enable_;
IntProperty logging_notify_;
// Reset the log by setting the property value.
diff --git a/src/interpreter.cc b/src/interpreter.cc
index e3a7356..e1fde87 100644
--- a/src/interpreter.cc
+++ b/src/interpreter.cc
@@ -49,7 +49,7 @@ void Interpreter::Trace(const char* message, const char* name) {
void Interpreter::SyncInterpret(HardwareState& hwstate,
stime_t* timeout) {
AssertWithReturn(initialized_);
- if (enable_event_logging_ && log_.get()) {
+ if (EventLoggingIsEnabled()) {
Trace("log: start: ", "LogHardwareState");
log_->LogHardwareState(hwstate);
Trace("log: end: ", "LogHardwareState");
@@ -65,7 +65,7 @@ void Interpreter::SyncInterpret(HardwareState& hwstate,
void Interpreter::HandleTimer(stime_t now, stime_t* timeout) {
AssertWithReturn(initialized_);
- if (enable_event_logging_ && log_.get()) {
+ if (EventLoggingIsEnabled()) {
Trace("log: start: ", "LogTimerCallback");
log_->LogTimerCallback(now);
Trace("log: end: ", "LogTimerCallback");
@@ -144,6 +144,18 @@ void Interpreter::InitName() {
}
}
+bool Interpreter::EventDebugIsEnabled() {
+ return enable_event_debug_ && EventLoggingIsEnabled();
+}
+
+void Interpreter::SetEventDebugEnabled(bool enabled) {
+ enable_event_debug_ = enabled;
+}
+
+bool Interpreter::EventLoggingIsEnabled() {
+ return enable_event_logging_ && log_.get();
+}
+
void Interpreter::SetEventLoggingEnabled(bool enabled) {
// TODO(b/185844310): log an event when touch logging is enabled or disabled.
enable_event_logging_ = enabled;
@@ -152,7 +164,7 @@ void Interpreter::SetEventLoggingEnabled(bool enabled) {
void Interpreter::LogOutputs(const Gesture* result,
stime_t* timeout,
const char* action) {
- if (!enable_event_logging_ || !log_.get())
+ if (!EventLoggingIsEnabled())
return;
Trace("log: start: ", action);
if (result)
diff --git a/src/logging_filter_interpreter.cc b/src/logging_filter_interpreter.cc
index 2c43238..2c99831 100644
--- a/src/logging_filter_interpreter.cc
+++ b/src/logging_filter_interpreter.cc
@@ -17,6 +17,7 @@ LoggingFilterInterpreter::LoggingFilterInterpreter(PropRegistry* prop_reg,
Interpreter* next,
Tracer* tracer)
: FilterInterpreter(prop_reg, next, tracer, true),
+ event_debug_enable_(prop_reg, "Event Debug Logging Enable", false),
event_logging_enable_(prop_reg, "Event Logging Enable", false),
logging_notify_(prop_reg, "Logging Notify", 0),
logging_reset_(prop_reg, "Logging Reset", 0),
@@ -44,6 +45,10 @@ void LoggingFilterInterpreter::BoolWasWritten(BoolProperty* prop) {
Log("Event logging %s",
event_logging_enable_.val_ ? "enabled" : "disabled");
SetEventLoggingEnabled(event_logging_enable_.val_);
+ } else if (prop == &event_debug_enable_) {
+ Log("Event debugging %s",
+ event_debug_enable_.val_ ? "enabled" : "disabled");
+ SetEventDebugEnabled(event_debug_enable_.val_);
}
}
diff --git a/src/logging_filter_interpreter_unittest.cc b/src/logging_filter_interpreter_unittest.cc
index 001a4ee..c5ab60e 100644
--- a/src/logging_filter_interpreter_unittest.cc
+++ b/src/logging_filter_interpreter_unittest.cc
@@ -40,6 +40,10 @@ TEST(LoggingFilterInterpreterTest, LogResetHandlerTest) {
interpreter.event_logging_enable_.SetValue(Json::Value(true));
interpreter.BoolWasWritten(&interpreter.event_logging_enable_);
+ interpreter.event_debug_enable_.SetValue(Json::Value(true));
+ interpreter.BoolWasWritten(&interpreter.event_debug_enable_);
+ EXPECT_TRUE(interpreter.EventDebugIsEnabled());
+
HardwareProperties hwprops = {
0, 0, 100, 100, // left, top, right, bottom
10, // x res (pixels/mm)