Loading core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +17 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,14 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { } } @Test public void instantAppsNotVisibleToOMS() throws Exception { installInstantPackage("OverlayHostTests_AppOverlayV1.apk"); assertFalse(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); installConvertExistingInstantPackageToFull(APP_OVERLAY_PACKAGE_NAME); assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); } private void delay() { try { Thread.sleep(100); Loading @@ -167,6 +175,15 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { delay(); } private void installInstantPackage(String pkg) throws Exception { super.installPackage(pkg, "--instant"); delay(); } private void installConvertExistingInstantPackageToFull(String pkg) throws Exception { getDevice().executeShellCommand("cmd package install-existing --wait --full " + pkg); } private void setPackageEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd package " + (enabled ? "enable " : "disable ") + pkg); delay(); Loading services/core/java/com/android/server/om/OverlayManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -374,7 +374,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && !pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageAdded(packageName, userId); Loading @@ -397,7 +397,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageChanged(packageName, userId); Loading Loading @@ -438,7 +438,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && !pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageReplaced(packageName, userId); Loading Loading
core/tests/overlaytests/host/src/com/android/server/om/hosttest/InstallOverlayTests.java +17 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,14 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { } } @Test public void instantAppsNotVisibleToOMS() throws Exception { installInstantPackage("OverlayHostTests_AppOverlayV1.apk"); assertFalse(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); installConvertExistingInstantPackageToFull(APP_OVERLAY_PACKAGE_NAME); assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME)); } private void delay() { try { Thread.sleep(100); Loading @@ -167,6 +175,15 @@ public class InstallOverlayTests extends BaseHostJUnit4Test { delay(); } private void installInstantPackage(String pkg) throws Exception { super.installPackage(pkg, "--instant"); delay(); } private void installConvertExistingInstantPackageToFull(String pkg) throws Exception { getDevice().executeShellCommand("cmd package install-existing --wait --full " + pkg); } private void setPackageEnabled(String pkg, boolean enabled) throws Exception { getDevice().executeShellCommand("cmd package " + (enabled ? "enable " : "disable ") + pkg); delay(); Loading
services/core/java/com/android/server/om/OverlayManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -374,7 +374,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && !pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageAdded(packageName, userId); Loading @@ -397,7 +397,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageChanged(packageName, userId); Loading Loading @@ -438,7 +438,7 @@ public final class OverlayManagerService extends SystemService { synchronized (mLock) { final PackageInfo pi = mPackageManager.getPackageInfo(packageName, userId, false); if (pi != null) { if (pi != null && !pi.applicationInfo.isInstantApp()) { mPackageManager.cachePackageInfo(packageName, userId, pi); if (pi.isOverlayPackage()) { mImpl.onOverlayPackageReplaced(packageName, userId); Loading