powerstats: use display MRR state residency data provider

Bug: 322717760
Test: vts-tradefed run vts -m VtsHalPowerStatsTargetTest
Change-Id: I671d21b3da98b4c0973e6cf281f694d90df47ef4
Signed-off-by: Darren Hsu <darrenhsu@google.com>
diff --git a/powerstats/raven/service.cpp b/powerstats/raven/service.cpp
index 10bf17e..d8494e2 100644
--- a/powerstats/raven/service.cpp
+++ b/powerstats/raven/service.cpp
@@ -43,21 +43,28 @@
 
 void addDisplay(std::shared_ptr<PowerStats> p) {
     // Add display residency stats
-    std::vector<std::string> states = {
-        "Off",
-        "LP: 1440x3120@10",
-        "LP: 1440x3120@30",
-        "On: 1440x3120@10",
-        "On: 1440x3120@30",
-        "On: 1440x3120@60",
-        "On: 1440x3120@90",
-        "On: 1440x3120@120",
-        "HBM: 1440x3120@60",
-    };
+    struct stat buffer;
+    if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &buffer)) {
+        // time_in_state exists
+        addDisplayMrr(p);
+    } else {
+        // time_in_state doesn't exist
+        std::vector<std::string> states = {
+            "Off",
+            "LP: 1440x3120@10",
+            "LP: 1440x3120@30",
+            "On: 1440x3120@10",
+            "On: 1440x3120@30",
+            "On: 1440x3120@60",
+            "On: 1440x3120@90",
+            "On: 1440x3120@120",
+            "HBM: 1440x3120@60",
+        };
 
-    p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
-            "/sys/class/backlight/panel0-backlight/state",
-            states));
+        p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
+                "/sys/class/backlight/panel0-backlight/state",
+                states));
+    }
 
     std::string rev = android::base::GetProperty(kBootRevision, "");