Use libbase to get the elapsed time instead of libutils
To minimize the external library dependencies
Bug: 149721367
Test: atest
Change-Id: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47
Merged-In: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47
(cherry picked from commit cab9854fa91b4721eef4d4a549f702f73b7edd8a)
diff --git a/libstats/push_compat/Android.bp b/libstats/push_compat/Android.bp
index 3e69556..4de95dc 100644
--- a/libstats/push_compat/Android.bp
+++ b/libstats/push_compat/Android.bp
@@ -36,7 +36,6 @@
static_libs: [
"libbase",
"liblog",
- "libutils",
],
}
diff --git a/libstats/push_compat/StatsEventCompat.cpp b/libstats/push_compat/StatsEventCompat.cpp
index de458b3..b065af2 100644
--- a/libstats/push_compat/StatsEventCompat.cpp
+++ b/libstats/push_compat/StatsEventCompat.cpp
@@ -15,12 +15,16 @@
*/
#include "include/StatsEventCompat.h"
+
+#include <chrono>
+
+#include <android-base/chrono_utils.h>
#include <android-base/properties.h>
#include <android/api-level.h>
#include <android/log.h>
#include <dlfcn.h>
-#include <utils/SystemClock.h>
+using android::base::boot_clock;
using android::base::GetProperty;
const static int kStatsEventTag = 1937006964;
@@ -41,6 +45,12 @@
void* StatsEventCompat::mStatsEventApi = nullptr;
std::mutex StatsEventCompat::mLoadLock;
+static int64_t elapsedRealtimeNano() {
+ return std::chrono::time_point_cast<std::chrono::nanoseconds>(boot_clock::now())
+ .time_since_epoch()
+ .count();
+}
+
StatsEventCompat::StatsEventCompat() : mEventQ(kStatsEventTag) {
// guard loading because StatsEventCompat might be called from multithreaded
// environment
@@ -61,7 +71,7 @@
if (mStatsEventApi) {
// mEventR = mStatsEventApi->obtain();
} else if (!mPlatformAtLeastR) {
- mEventQ << android::elapsedRealtimeNano();
+ mEventQ << elapsedRealtimeNano();
}
}