InputTracer: Distinguish sensitive events

There are three levels of tracing: complete, redacted, and none.

Write events that are redacted into a separate proto, while also
omitting certain fields from being written.

The redacted level will be used in subsequent CLs.

Bug: 210460522
Test: manual with perfetto
Change-Id: Ie65e7915c3aa5fc972e675c43e46970363bab3a4
diff --git a/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.h b/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.h
index 920ea60..c4f80c3 100644
--- a/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.h
+++ b/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.h
@@ -68,10 +68,13 @@
 
         bool shouldIgnoreTracedInputEvent(const EventType&) const;
         inline ftl::Flags<TraceFlag> getFlags() const { return mConfig.flags; }
+        TraceLevel resolveTraceLevel(const TracedEventArgs&) const;
 
     private:
         const int32_t mInstanceId;
         TraceConfig mConfig;
+
+        bool ruleMatches(const TraceRule&, const TracedEventArgs&) const;
     };
 
     static std::once_flag sDataSourceRegistrationFlag;