diff options
author | 2024-05-29 20:46:11 +0000 | |
---|---|---|
committer | 2024-05-29 20:46:11 +0000 | |
commit | 79b91a8ed794b2c24a9d405dc6d902ec055d8b0e (patch) | |
tree | c3f5264f80ea49e491a17d194489b378590ebe8a /apex | |
parent | 55bdf4a92d635e44837d694b6891f27ca1dafca7 (diff) | |
parent | c59af8efa310d0dbac5dfb2b8f7b6898560df498 (diff) |
Merge "JobSchedulerService:fix arrayIndexOutOfBoundsException to aviod systemServer crash." into main am: c59af8efa3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3103217
Change-Id: I856a817f55aa57e49005953e9d1a20f8f90fd739
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'apex')
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java index adee322f60cf..f722e41c6195 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/IdleController.java @@ -48,6 +48,7 @@ public final class IdleController extends RestrictingController implements Idlen private static final String TAG = "JobScheduler.IdleController"; // Policy: we decide that we're "idle" if the device has been unused / // screen off or dreaming or wireless charging dock idle for at least this long + @GuardedBy("mLock") final ArraySet<JobStatus> mTrackedTasks = new ArraySet<>(); IdlenessTracker mIdleTracker; private final FlexibilityController mFlexibilityController; @@ -118,8 +119,10 @@ public final class IdleController extends RestrictingController implements Idlen for (int i = mTrackedTasks.size()-1; i >= 0; i--) { mTrackedTasks.valueAt(i).setIdleConstraintSatisfied(nowElapsed, isIdle); } + if (!mTrackedTasks.isEmpty()) { + mStateChangedListener.onControllerStateChanged(mTrackedTasks); + } } - mStateChangedListener.onControllerStateChanged(mTrackedTasks); } /** |