Loading core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +22 −1 Original line number Original line Diff line number Diff line Loading @@ -118,7 +118,7 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { @Test @Test public void installPlatformSignedFrameworkOverlayAndUpdate() throws Exception { public void installPlatformSignedFrameworkOverlayAndUpdate() throws Exception { assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectAppResource")); assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectFrameworkResource")); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); Loading @@ -138,6 +138,27 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { "expectFrameworkOverlayV2Resource")); "expectFrameworkOverlayV2Resource")); } } @Test public void enabledFrameworkOverlayMustAffectNewlyInstalledPackage() throws Exception { try { setPackageEnabled(DEVICE_TEST_PKG, false); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); assertTrue(overlayManagerContainsPackage(FRAMEWORK_OVERLAY_PACKAGE_NAME)); setPackageEnabled(DEVICE_TEST_PKG, true); assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectFrameworkOverlayV1Resource")); } finally { setPackageEnabled(DEVICE_TEST_PKG, true); } } private void setPackageEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd package " + (enabled ? "enable " : "disable ") + pkg); } private void setOverlayEnabled(String pkg, boolean enabled) throws Exception { private void setOverlayEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd overlay " + (enabled ? "enable " : "disable ") + pkg); getDevice().executeShellCommand("cmd overlay " + (enabled ? "enable " : "disable ") + pkg); } } Loading core/tests/overlaytests/host/test-apps/UpdateOverlay/src/com/android/server/om/hosttest/update_overlay_test/UpdateOverlayTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ public class UpdateOverlayTest { } } @Test @Test public void expectFrameworkOverlayResource() throws Exception { public void expectFrameworkResource() throws Exception { assertEquals("OK", mResources.getString(android.R.string.ok)); assertEquals("OK", mResources.getString(android.R.string.ok)); } } Loading services/core/java/com/android/server/om/OverlayManagerServiceImpl.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -254,7 +254,11 @@ final class OverlayManagerServiceImpl { } } /** /** * Returns true if the settings were modified for this target. * Update the state of any overlays for this target. * * Returns true if the system should refresh the app's overlay paths (i.e. * if the settings were modified for this target, or there is at least one * enabled framework overlay). */ */ private boolean updateAllOverlaysForTarget(@NonNull final String targetPackageName, private boolean updateAllOverlaysForTarget(@NonNull final String targetPackageName, final int userId, final int flags) { final int userId, final int flags) { Loading @@ -277,6 +281,10 @@ final class OverlayManagerServiceImpl { } } } } } } // check for enabled framework overlays modified = modified || !getEnabledOverlayPackageNames("android", userId).isEmpty(); return modified; return modified; } } Loading Loading
core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +22 −1 Original line number Original line Diff line number Diff line Loading @@ -118,7 +118,7 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { @Test @Test public void installPlatformSignedFrameworkOverlayAndUpdate() throws Exception { public void installPlatformSignedFrameworkOverlayAndUpdate() throws Exception { assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectAppResource")); assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectFrameworkResource")); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); Loading @@ -138,6 +138,27 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { "expectFrameworkOverlayV2Resource")); "expectFrameworkOverlayV2Resource")); } } @Test public void enabledFrameworkOverlayMustAffectNewlyInstalledPackage() throws Exception { try { setPackageEnabled(DEVICE_TEST_PKG, false); installPackage("OverlayHostTests_FrameworkOverlayV1.apk"); setOverlayEnabled(FRAMEWORK_OVERLAY_PACKAGE_NAME, true); assertTrue(overlayManagerContainsPackage(FRAMEWORK_OVERLAY_PACKAGE_NAME)); setPackageEnabled(DEVICE_TEST_PKG, true); assertTrue(runDeviceTests(DEVICE_TEST_PKG, DEVICE_TEST_CLS, "expectFrameworkOverlayV1Resource")); } finally { setPackageEnabled(DEVICE_TEST_PKG, true); } } private void setPackageEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd package " + (enabled ? "enable " : "disable ") + pkg); } private void setOverlayEnabled(String pkg, boolean enabled) throws Exception { private void setOverlayEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd overlay " + (enabled ? "enable " : "disable ") + pkg); getDevice().executeShellCommand("cmd overlay " + (enabled ? "enable " : "disable ") + pkg); } } Loading
core/tests/overlaytests/host/test-apps/UpdateOverlay/src/com/android/server/om/hosttest/update_overlay_test/UpdateOverlayTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -61,7 +61,7 @@ public class UpdateOverlayTest { } } @Test @Test public void expectFrameworkOverlayResource() throws Exception { public void expectFrameworkResource() throws Exception { assertEquals("OK", mResources.getString(android.R.string.ok)); assertEquals("OK", mResources.getString(android.R.string.ok)); } } Loading
services/core/java/com/android/server/om/OverlayManagerServiceImpl.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -254,7 +254,11 @@ final class OverlayManagerServiceImpl { } } /** /** * Returns true if the settings were modified for this target. * Update the state of any overlays for this target. * * Returns true if the system should refresh the app's overlay paths (i.e. * if the settings were modified for this target, or there is at least one * enabled framework overlay). */ */ private boolean updateAllOverlaysForTarget(@NonNull final String targetPackageName, private boolean updateAllOverlaysForTarget(@NonNull final String targetPackageName, final int userId, final int flags) { final int userId, final int flags) { Loading @@ -277,6 +281,10 @@ final class OverlayManagerServiceImpl { } } } } } } // check for enabled framework overlays modified = modified || !getEnabledOverlayPackageNames("android", userId).isEmpty(); return modified; return modified; } } Loading