Use libbase to get the elapsed time instead of libutils

To minimize the external library dependencies

Bug: 149721367
Test: atest
Change-Id: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47
This commit is contained in:
Luke Huang 2020-02-18 15:53:44 +08:00
parent f21f71bdbc
commit cab9854fa9
2 changed files with 12 additions and 3 deletions

View file

@ -36,7 +36,6 @@ cc_defaults {
static_libs: [
"libbase",
"liblog",
"libutils",
],
}

View file

@ -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 @@ bool StatsEventCompat::mAttemptedLoad = false;
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 @@ StatsEventCompat::StatsEventCompat() : mEventQ(kStatsEventTag) {
if (mStatsEventApi) {
// mEventR = mStatsEventApi->obtain();
} else if (!mPlatformAtLeastR) {
mEventQ << android::elapsedRealtimeNano();
mEventQ << elapsedRealtimeNano();
}
}