diff options
| author | 2022-03-25 22:12:51 +0000 | |
|---|---|---|
| committer | 2022-03-25 22:12:51 +0000 | |
| commit | 82100c9d36b7f3635b4535b182db383e9055714c (patch) | |
| tree | 663a359e8a06fdf66077566eaed5cda37f83dc1d | |
| parent | 381743d2eef280a0902e24c1569c70e05987ce7b (diff) | |
| parent | 807dab2cb3f619742e29a8e5bcd17268481e8dcd (diff) | |
Merge "Only clear preferred UID at appropriate times." into tm-dev
| -rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java index dfd019d9fa9e..1b2cdb86aee7 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java @@ -686,9 +686,6 @@ class JobConcurrencyManager { stoppable.removeAt(s); assignment.newJob = nextPending; assignment.newWorkType = replaceWorkType; - // Don't preserve the UID since we're stopping the job because - // something is pending (eg. EJs). - assignment.context.clearPreferredUid(); break; } } @@ -769,20 +766,20 @@ class JobConcurrencyManager { } for (int s = stoppable.size() - 1; s >= 0; --s) { final ContextAssignment assignment = stoppable.valueAt(s); + // The preferred UID is set when we cancel with PREEMPT reason, but don't preserve the + // UID for any stoppable contexts since we want to open the context up to any/all apps. assignment.context.clearPreferredUid(); assignment.clear(); mContextAssignmentPool.release(assignment); } for (int p = preferredUidOnly.size() - 1; p >= 0; --p) { final ContextAssignment assignment = preferredUidOnly.valueAt(p); - assignment.context.clearPreferredUid(); assignment.clear(); mContextAssignmentPool.release(assignment); } for (int i = idle.size() - 1; i >= 0; --i) { final ContextAssignment assignment = idle.valueAt(i); mIdleContexts.add(assignment.context); - assignment.context.clearPreferredUid(); assignment.clear(); mContextAssignmentPool.release(assignment); } |