diff options
| -rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java index 852b00b38347..d5a58d11ac01 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java @@ -1771,7 +1771,13 @@ public final class FlexibilityController extends StateController { final int logicalIndex = mapping.getLogicalSlotIndex(); if (mCarrierPrivilegedCallbacks.contains(logicalIndex)) { // Callback already exists. No need to create a new one or remove it. - callbacksToRemove.remove(logicalIndex); + for (int i = callbacksToRemove.size() - 1; i >= 0; i--) { + if (callbacksToRemove.get(i) == logicalIndex) { + callbacksToRemove.remove(i); + break; + } + } + continue; } final LogicalIndexCarrierPrivilegesCallback callback = |