summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Varun Shah <varunshah@google.com> 2022-12-14 14:42:41 -0800
committer Varun Shah <varunshah@google.com> 2022-12-15 17:59:09 +0000
commitd1fb46c68d67f06102bbac9024b3cbf4ed2241ea (patch)
treea4400da55fe5082eb5bb9878a7d4c625a0ad72f5
parent497aa8cb660d40b5a26f3d699dddc229284e570e (diff)
Don't update the standby bucket for apps that were just restored.
This prevents an app's bucket from being lowered due to a timeout if the app hasn't been used since it was restored. Bug: 214580000 Test: atest UsageStatsDatabaseTest Test: manually verify buckets are restored Change-Id: I1df310afabf2abde7bf91daab0142114bf244ec8
-rw-r--r--apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
index 1a775b4e1d49..e4c8df6993b9 100644
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
@@ -1009,13 +1009,17 @@ public class AppStandbyController
+ standbyBucketToString(newBucket));
}
} else {
- newBucket = getBucketForLocked(packageName, userId,
- elapsedRealtime);
- if (DEBUG) {
- Slog.d(TAG, "Evaluated AOSP newBucket = "
- + standbyBucketToString(newBucket));
+ // Don't update the standby state for apps that were restored
+ if (!(oldMainReason == REASON_MAIN_DEFAULT
+ && (app.bucketingReason & REASON_SUB_MASK)
+ == REASON_SUB_DEFAULT_APP_RESTORED)) {
+ newBucket = getBucketForLocked(packageName, userId, elapsedRealtime);
+ if (DEBUG) {
+ Slog.d(TAG, "Evaluated AOSP newBucket = "
+ + standbyBucketToString(newBucket));
+ }
+ reason = REASON_MAIN_TIMEOUT;
}
- reason = REASON_MAIN_TIMEOUT;
}
}