From 9ee6c8db23b5717b982dd678825c058834633829 Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Thu, 11 Feb 2021 17:18:49 -0800 Subject: [PATCH] Fix enable-exclusive atomic api Disabling and enabling the same overlay in the atomic api is not working as expected. Only enable the overlay once when using the atomic api in the OMS shell command. Bug: 180016597 Test: manual Change-Id: I8ff922f4bcdd2beaa7e81fb343cf4c6f26e8a4fc --- .../java/com/android/server/om/OverlayManagerShellCommand.java | 1 + 1 file changed, 1 insertion(+) diff --git a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java index b7b72d11a2645..663fdeefae5d7 100644 --- a/services/core/java/com/android/server/om/OverlayManagerShellCommand.java +++ b/services/core/java/com/android/server/om/OverlayManagerShellCommand.java @@ -335,6 +335,7 @@ final class OverlayManagerShellCommand extends ShellCommand { final List overlaysForTarget = mInterface.getOverlayInfosForTarget(overlayInfo.targetPackageName, userId); + overlaysForTarget.remove(overlayInfo); final OverlayManagerTransaction.Builder builder = new OverlayManagerTransaction.Builder(); for (final OverlayInfo disableOverlay : overlaysForTarget) { if ((inCategory && !Objects.equals(disableOverlay.category,overlayInfo.category))