logd: move current sequence from LogBufferElement to LogBuffer

This is required for tests that are aware of sequence numbers to pass;
each new LogBuffer instance should start from sequence = 1, which
isn't the case if the current sequence number is a static.

Test: unit tests
Change-Id: Ie488f8ac5e22b946b7e6237d1d5caf14929c0ec3
diff --git a/logd/LogBufferElement.h b/logd/LogBufferElement.h
index a777970..35252f9 100644
--- a/logd/LogBufferElement.h
+++ b/logd/LogBufferElement.h
@@ -16,7 +16,6 @@
 
 #pragma once
 
-#include <stdatomic.h>
 #include <stdint.h>
 #include <stdlib.h>
 #include <sys/types.h>
@@ -51,14 +50,12 @@
     const uint8_t mLogId;
     bool mDropped;
 
-    static atomic_int_fast64_t sequence;
-
     // assumption: mDropped == true
     size_t populateDroppedMessage(char*& buffer, LogStatistics* parent, bool lastSame);
 
   public:
-    LogBufferElement(log_id_t log_id, log_time realtime, uid_t uid, pid_t pid,
-                     pid_t tid, const char* msg, uint16_t len);
+    LogBufferElement(log_id_t log_id, log_time realtime, uid_t uid, pid_t pid, pid_t tid,
+                     uint64_t sequence, const char* msg, uint16_t len);
     LogBufferElement(const LogBufferElement& elem);
     LogBufferElement(LogBufferElement&& elem);
     ~LogBufferElement();
@@ -91,7 +88,6 @@
         return mDropped ? nullptr : mMsg;
     }
     uint64_t getSequence() const { return mSequence; }
-    static uint64_t getCurrentSequence() { return sequence.load(memory_order_relaxed); }
     log_time getRealTime(void) const {
         return mRealTime;
     }