From 55d482aa0a2a5f1c3cb4b682da919d247709a166 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Thu, 19 May 2022 13:54:43 -0700 Subject: [PATCH] Don't change bucketing reason if app is already in better bucket. Bug: 233256741 Test: atest tests/tests/app.usage/src/android/app/usage/cts/UsageStatsTest.java Test: atest ./services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java Test: atest ./services/tests/servicestests/src/com/android/server/usage/AppIdleHistoryTests.java Change-Id: I9850f160498d5e8a4d0dfa45307fcde9851635f8 --- .../java/com/android/server/usage/AppIdleHistory.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java b/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java index c90291e5f264a..fb342b9ba9b31 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppIdleHistory.java @@ -328,11 +328,13 @@ public class AppIdleHistory { appUsageHistory.lastUsedScreenTime = getScreenOnTime(nowElapsedRealtimeMs); } - if (appUsageHistory.currentBucket > newBucket) { - appUsageHistory.currentBucket = newBucket; - logAppStandbyBucketChanged(packageName, userId, newBucket, bucketingReason); + if (appUsageHistory.currentBucket >= newBucket) { + if (appUsageHistory.currentBucket > newBucket) { + appUsageHistory.currentBucket = newBucket; + logAppStandbyBucketChanged(packageName, userId, newBucket, bucketingReason); + } + appUsageHistory.bucketingReason = bucketingReason; } - appUsageHistory.bucketingReason = bucketingReason; return appUsageHistory; }