summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Varun Shah <varunshah@google.com> 2021-04-09 14:46:43 -0700
committer Varun Shah <varunshah@google.com> 2021-04-09 14:46:43 -0700
commit911ef5217963786b86707f5d1a026eb2ff6af76d (patch)
treedab60bccd99e327e582193e4d9192825ce0ca88f
parent44b4d7780883e49c49c72cfbe69878e4d6273d0f (diff)
Use elapsed-time in AppTimeLimitController.
Bug: 181983817 Test: atest AppTimeLimitControllerTests Change-Id: Ia0f20475ebd54039a1a4fd3206d730a8d5649765
-rw-r--r--services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java8
-rw-r--r--services/usage/java/com/android/server/usage/AppTimeLimitController.java19
2 files changed, 13 insertions, 14 deletions
diff --git a/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java b/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
index 958b23ff773f..7d8696139245 100644
--- a/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
+++ b/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
@@ -91,7 +91,7 @@ public class AppTimeLimitControllerTests {
private HandlerThread mThread;
- private long mUptimeMillis;
+ private long mElapsedTime;
AppTimeLimitController.TimeLimitCallbackListener mListener =
new AppTimeLimitController.TimeLimitCallbackListener() {
@@ -116,8 +116,8 @@ public class AppTimeLimitControllerTests {
}
@Override
- protected long getUptimeMillis() {
- return mUptimeMillis;
+ protected long getElapsedRealtime() {
+ return mElapsedTime;
}
@Override
@@ -1108,6 +1108,6 @@ public class AppTimeLimitControllerTests {
}
private void setTime(long time) {
- mUptimeMillis = time;
+ mElapsedTime = time;
}
}
diff --git a/services/usage/java/com/android/server/usage/AppTimeLimitController.java b/services/usage/java/com/android/server/usage/AppTimeLimitController.java
index 4986d1883307..1dc1e7776b01 100644
--- a/services/usage/java/com/android/server/usage/AppTimeLimitController.java
+++ b/services/usage/java/com/android/server/usage/AppTimeLimitController.java
@@ -536,14 +536,13 @@ public class AppTimeLimitController {
long getUsageRemaining() {
// If there is currently an active session, account for its usage
if (mActives > 0) {
- return mTimeLimitMs - mUsageTimeMs - (getUptimeMillis() - mLastKnownUsageTimeMs);
+ return mTimeLimitMs - mUsageTimeMs - (getElapsedRealtime() - mLastKnownUsageTimeMs);
} else {
return mTimeLimitMs - mUsageTimeMs;
}
}
}
-
private class MyHandler extends Handler {
static final int MSG_CHECK_TIMEOUT = 1;
static final int MSG_INFORM_LIMIT_REACHED_LISTENER = 2;
@@ -558,7 +557,7 @@ public class AppTimeLimitController {
switch (msg.what) {
case MSG_CHECK_TIMEOUT:
synchronized (mLock) {
- ((UsageGroup) msg.obj).checkTimeout(getUptimeMillis());
+ ((UsageGroup) msg.obj).checkTimeout(getElapsedRealtime());
}
break;
case MSG_INFORM_LIMIT_REACHED_LISTENER:
@@ -585,8 +584,8 @@ public class AppTimeLimitController {
/** Overrideable by a test */
@VisibleForTesting
- protected long getUptimeMillis() {
- return SystemClock.uptimeMillis();
+ protected long getElapsedRealtime() {
+ return SystemClock.elapsedRealtime();
}
/** Overrideable for testing purposes */
@@ -760,7 +759,7 @@ public class AppTimeLimitController {
}
user.addUsageGroup(group);
- noteActiveLocked(user, group, getUptimeMillis());
+ noteActiveLocked(user, group, getElapsedRealtime());
}
}
@@ -813,7 +812,7 @@ public class AppTimeLimitController {
observerApp.sessionUsageGroups.append(observerId, group);
user.addUsageGroup(group);
- noteActiveLocked(user, group, getUptimeMillis());
+ noteActiveLocked(user, group, getElapsedRealtime());
}
}
@@ -869,7 +868,7 @@ public class AppTimeLimitController {
}
user.addUsageGroup(group);
- noteActiveLocked(user, group, getUptimeMillis());
+ noteActiveLocked(user, group, getElapsedRealtime());
}
}
@@ -914,7 +913,7 @@ public class AppTimeLimitController {
return;
}
}
- final long currentTime = getUptimeMillis();
+ final long currentTime = getElapsedRealtime();
user.currentlyActive.put(name, ONE);
@@ -964,7 +963,7 @@ public class AppTimeLimitController {
}
user.currentlyActive.removeAt(index);
- final long currentTime = getUptimeMillis();
+ final long currentTime = getElapsedRealtime();
// Check if any of the groups need to watch for this entity
ArrayList<UsageGroup> groups = user.observedMap.get(name);