diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java old mode 100644 new mode 100755 index e5f4282eefe0d..0cba76ba7346d --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevice.java @@ -660,7 +660,8 @@ abstract class HdmiCecLocalDevice { @ServiceThreadOnly void startQueuedActions() { assertRunOnServiceThread(); - for (HdmiCecFeatureAction action : mActions) { + // Use copied action list in that start() may remove itself. + for (HdmiCecFeatureAction action : new ArrayList<>(mActions)) { if (!action.started()) { Slog.i(TAG, "Starting queued action:" + action); action.start();