From 18c5870551b154de1387cd084011115bd6fc6d3b Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Tue, 31 Mar 2020 09:40:59 -0700 Subject: [PATCH] Don't run jobs in apps performing full-data backup Bug: 135941844 Test: tbd Change-Id: I118359c6f213d131000544f4b6bcb453c9e7963b --- .../com/android/server/job/JobSchedulerService.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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; }