[HWUI] Get DeviceInfo through stable ABI
This also removes the dependency on ui/DeviceInfo other than in test
code.
Bug: 136263392
Bug: 136263238
Test: builds, boots
Change-Id: I6a4687e981359f0e6beb83be8a5501ed7fd16f15
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index eae3584..10e7160 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -16,8 +16,10 @@
#include "JankTracker.h"
+#include <cutils/ashmem.h>
#include <errno.h>
#include <inttypes.h>
+#include <log/log.h>
#include <statslog.h>
#include <sys/mman.h>
@@ -25,11 +27,9 @@
#include <cmath>
#include <cstdio>
#include <limits>
-
-#include <cutils/ashmem.h>
-#include <log/log.h>
#include <sstream>
+#include "DeviceInfo.h"
#include "Properties.h"
#include "utils/TimeUtils.h"
#include "utils/Trace.h"
@@ -79,11 +79,11 @@
// and filter it out of the frame profile data
static FrameInfoIndex sFrameStart = FrameInfoIndex::IntendedVsync;
-JankTracker::JankTracker(ProfileDataContainer* globalData, const DisplayInfo& displayInfo) {
+JankTracker::JankTracker(ProfileDataContainer* globalData) {
mGlobalData = globalData;
- nsecs_t frameIntervalNanos = static_cast<nsecs_t>(1_s / displayInfo.fps);
- nsecs_t sfOffset = frameIntervalNanos - (displayInfo.presentationDeadline - 1_ms);
- nsecs_t offsetDelta = sfOffset - displayInfo.appVsyncOffset;
+ nsecs_t frameIntervalNanos = static_cast<nsecs_t>(1_s / DeviceInfo::getRefreshRate());
+ nsecs_t sfOffset = DeviceInfo::getCompositorOffset();
+ nsecs_t offsetDelta = sfOffset - DeviceInfo::getAppOffset();
// There are two different offset cases. If the offsetDelta is positive
// and small, then the intention is to give apps extra time by leveraging
// pipelining between the UI & RT threads. If the offsetDelta is large or