Ensure total runtime for time-limited FGS is in uptime base.
Bug: 330399444
Test: atest CtsFgsTimeoutTestCases
Change-Id: I71edd971bb3dbf7eef83ba030103c4de90ee8be9
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java
index 68f7cc1..865513b 100644
--- a/services/core/java/com/android/server/am/ServiceRecord.java
+++ b/services/core/java/com/android/server/am/ServiceRecord.java
@@ -683,6 +683,7 @@
private long mLastFgsStartTime;
@UptimeMillisLong
private long mTimeLimitExceededAt = Long.MIN_VALUE;
+ @UptimeMillisLong
private long mTotalRuntime = 0;
TimeLimitedFgsInfo(@UptimeMillisLong long startTime) {
@@ -705,9 +706,10 @@
}
public void updateTotalRuntime() {
- mTotalRuntime += SystemClock.elapsedRealtime() - mLastFgsStartTime;
+ mTotalRuntime += SystemClock.uptimeMillis() - mLastFgsStartTime;
}
+ @UptimeMillisLong
public long getTotalRuntime() {
return mTotalRuntime;
}