summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/controllers/FlexibilityController.java8
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 =