diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java index 07a99084e9d5d..2aa2275cc67be 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -2182,17 +2182,18 @@ public class JobSchedulerService extends com.android.server.SystemService } final boolean jobExists = mJobs.containsJob(job); - final boolean userStarted = areUsersStartedLocked(job); + final boolean backingUp = mBackingUpUids.indexOfKey(job.getSourceUid()) >= 0; if (DEBUG) { Slog.v(TAG, "isReadyToBeExecutedLocked: " + job.toShortString() - + " exists=" + jobExists + " userStarted=" + userStarted); + + " exists=" + jobExists + " userStarted=" + userStarted + + " backingUp=" + backingUp); } // These are also fairly cheap to check, though they typically will not // be conditions we fail. - if (!jobExists || !userStarted) { + if (!jobExists || !userStarted || backingUp) { return false; } @@ -2265,15 +2266,17 @@ public class JobSchedulerService extends com.android.server.SystemService final boolean jobExists = mJobs.containsJob(job); final boolean userStarted = areUsersStartedLocked(job); + final boolean backingUp = mBackingUpUids.indexOfKey(job.getSourceUid()) >= 0; if (DEBUG) { Slog.v(TAG, "areComponentsInPlaceLocked: " + job.toShortString() - + " exists=" + jobExists + " userStarted=" + userStarted); + + " exists=" + jobExists + " userStarted=" + userStarted + + " backingUp=" + backingUp); } // These are also fairly cheap to check, though they typically will not // be conditions we fail. - if (!jobExists || !userStarted) { + if (!jobExists || !userStarted || backingUp) { return false; }