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
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 c90291e..fb342b9 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 @@
             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;
     }