Merge "Allow non-empty namespaces in system uid to cancel all jobs" into udc-dev
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 a2e9a08..ea14640 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -1812,7 +1812,9 @@
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;
}