diff options
| -rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java | 4 |
1 files changed, 3 insertions, 1 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 08810b549e62..26a3480ec367 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1809,7 +1809,9 @@ public class JobSchedulerService extends com.android.server.SystemService private boolean cancelJobsForUid(int uid, boolean includeSourceApp, boolean namespaceOnly, @Nullable String namespace, @JobParameters.StopReason int reason, int internalReasonCode, String debugReason) { - if (uid == Process.SYSTEM_UID) { + // Non-null system namespace means the cancelling is limited to the namespace + // and won't cause issues for the system at large. + if (uid == Process.SYSTEM_UID && (!namespaceOnly || namespace == null)) { Slog.wtfStack(TAG, "Can't cancel all jobs for system uid"); return false; } |