diff options
author | 2024-12-16 02:35:43 -0800 | |
---|---|---|
committer | 2024-12-16 02:35:43 -0800 | |
commit | c7a288da052056a3f9683f1773157ffd061793e2 (patch) | |
tree | 897251c08f2647f274c08c055000834e03d054a5 | |
parent | cbaba0770d700942816758b7f80d32a839eb27c1 (diff) | |
parent | 32bb571209f176dafc1811431f4d4e6a7c3bbca8 (diff) |
Merge "JobConcurrencyManager: fix the NPE problem." into main am: 32bb571209
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3380400
Change-Id: Ife1c08cfe4f342e0a2e41bbae341dfeb4945efe9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java index ba8e3e8b48fc..5255e7227709 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java @@ -1034,7 +1034,7 @@ class JobConcurrencyManager { for (int p = preferredUidOnly.size() - 1; p >= 0; --p) { final ContextAssignment assignment = preferredUidOnly.get(p); final JobStatus runningJob = assignment.context.getRunningJobLocked(); - if (runningJob.getUid() != nextPending.getUid()) { + if (runningJob == null || runningJob.getUid() != nextPending.getUid()) { continue; } final int jobBias = mService.evaluateJobBiasLocked(runningJob); @@ -1916,8 +1916,9 @@ class JobConcurrencyManager { for (int i = 0; i < mActiveServices.size(); i++) { final JobServiceContext jc = mActiveServices.get(i); final JobStatus js = jc.getRunningJobLocked(); - if (jc.stopIfExecutingLocked(pkgName, userId, namespace, matchJobId, jobId, - stopReason, internalStopReason)) { + if (js != null && + jc.stopIfExecutingLocked(pkgName, userId, namespace, + matchJobId, jobId, stopReason, internalStopReason)) { foundSome = true; pw.print("Stopping job: "); js.printUniqueId(pw); |