From 16a13b95dc519f21ae86928308d132fadfa6b4dd Mon Sep 17 00:00:00 2001 From: Xin Guan Date: Fri, 10 May 2024 20:02:48 +0000 Subject: Use the correct way to remove the logical ID of UiCC slot. Bug: 338007388 Test: atest FrameworksMockingServicesTests:FlexibilityControllerTest Change-Id: I6ea3c236c5bca963fd859b9519db01c5902da0b6 --- .../com/android/server/job/controllers/FlexibilityController.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 = -- cgit v1.2.3-59-g8ed1b