logd: remove LogBufferElement dependency of LogReaderThread

In the future, not all log buffers will be implemented in terms of
LogBufferElement.

Test: build
Change-Id: I5cf0d01414857b1bfa08c92a4f8035b43ef2aad7
diff --git a/logd/SimpleLogBuffer.cpp b/logd/SimpleLogBuffer.cpp
index d60805d..8a11b92 100644
--- a/logd/SimpleLogBuffer.cpp
+++ b/logd/SimpleLogBuffer.cpp
@@ -112,7 +112,8 @@
 
 uint64_t SimpleLogBuffer::FlushTo(
         LogWriter* writer, uint64_t start, pid_t* last_tid,
-        const std::function<FilterResult(const LogBufferElement* element)>& filter) {
+        const std::function<FilterResult(log_id_t log_id, pid_t pid, uint64_t sequence,
+                                         log_time realtime, uint16_t dropped_count)>& filter) {
     auto shared_lock = SharedLock{lock_};
 
     std::list<LogBufferElement>::iterator it;
@@ -146,7 +147,8 @@
         }
 
         if (filter) {
-            FilterResult ret = filter(&element);
+            FilterResult ret = filter(element.getLogId(), element.getPid(), element.getSequence(),
+                                      element.getRealTime(), element.getDropped());
             if (ret == FilterResult::kSkip) {
                 continue;
             }