Fix system crash in certain jobs-removed cases

Null happens.  Check for it before calling size().

Fixes: 69630116
Test: atest CtsJobSchedulerTestCases

Change-Id: I17ec206946a6a21ff459e2e031cface5499f5264
This commit is contained in:
Christopher Tate
2017-12-08 17:52:09 -08:00
parent 392a9a2d9f
commit 41f3fe8069

View File

@@ -1149,8 +1149,10 @@ public final class JobStore {
public void forEachJob(JobStatusFunctor functor) {
for (int uidIndex = mJobs.size() - 1; uidIndex >= 0; uidIndex--) {
ArraySet<JobStatus> jobs = mJobs.valueAt(uidIndex);
for (int i = jobs.size() - 1; i >= 0; i--) {
functor.process(jobs.valueAt(i));
if (jobs != null) {
for (int i = jobs.size() - 1; i >= 0; i--) {
functor.process(jobs.valueAt(i));
}
}
}
}