summaryrefslogtreecommitdiff
path: root/apex
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-16 04:01:00 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-12-16 04:01:00 -0800
commite1814b715a5c4e595f11613643567876dfec7460 (patch)
tree96d91a632c79e079994d77f1596b28fe3b903f97 /apex
parentb41923ba6f26c41c05d2ff6ee70eb31bc97cd8d4 (diff)
parentc7a288da052056a3f9683f1773157ffd061793e2 (diff)
Merge "JobConcurrencyManager: fix the NPE problem." into main am: 32bb571209 am: c7a288da05
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3380400 Change-Id: I2affae85739fda006f5e42ec4d0bc87bfdc75923 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/JobConcurrencyManager.java7
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 8f44698ffd8d..5dfb3754e8fb 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);