Loading core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +14 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,20 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); } @Test public void changesPersistedWhenUninstallingDisabledOverlay() throws Exception { getDevice().enableAdbRoot(); assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); installPackage("OverlayHostTests_AppOverlayV1.apk"); assertTrue(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); uninstallPackage(APP_OVERLAY_PACKAGE_NAME); delay(); assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); } private void delay() { try { Thread.sleep(1000); Loading services/core/java/com/android/server/om/OverlayManagerServiceImpl.java +1 −4 Original line number Diff line number Diff line Loading @@ -452,11 +452,8 @@ final class OverlayManagerServiceImpl { final OverlayInfo overlayInfo = mSettings.getOverlayInfo(packageName, userId); if (mSettings.remove(packageName, userId)) { removeIdmapIfPossible(overlayInfo); if (overlayInfo.isEnabled()) { // Only trigger updates if the overlay was enabled. mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId); } } } catch (OverlayManagerSettings.BadKeyException e) { Slog.e(TAG, "failed to remove overlay", e); } Loading Loading
core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +14 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,20 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); } @Test public void changesPersistedWhenUninstallingDisabledOverlay() throws Exception { getDevice().enableAdbRoot(); assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); installPackage("OverlayHostTests_AppOverlayV1.apk"); assertTrue(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); uninstallPackage(APP_OVERLAY_PACKAGE_NAME); delay(); assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml") .contains(APP_OVERLAY_PACKAGE_NAME)); } private void delay() { try { Thread.sleep(1000); Loading
services/core/java/com/android/server/om/OverlayManagerServiceImpl.java +1 −4 Original line number Diff line number Diff line Loading @@ -452,11 +452,8 @@ final class OverlayManagerServiceImpl { final OverlayInfo overlayInfo = mSettings.getOverlayInfo(packageName, userId); if (mSettings.remove(packageName, userId)) { removeIdmapIfPossible(overlayInfo); if (overlayInfo.isEnabled()) { // Only trigger updates if the overlay was enabled. mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId); } } } catch (OverlayManagerSettings.BadKeyException e) { Slog.e(TAG, "failed to remove overlay", e); } Loading