diff options
Diffstat (limited to 'com/android/server/om/OverlayManagerSettings.java')
-rw-r--r-- | com/android/server/om/OverlayManagerSettings.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/com/android/server/om/OverlayManagerSettings.java b/com/android/server/om/OverlayManagerSettings.java index 863045c2..e176351f 100644 --- a/com/android/server/om/OverlayManagerSettings.java +++ b/com/android/server/om/OverlayManagerSettings.java @@ -179,15 +179,19 @@ final class OverlayManagerSettings { List<OverlayInfo> getOverlaysForTarget(@NonNull final String targetPackageName, final int userId) { + // Static RROs targeting "android" are loaded from AssetManager, and so they should be + // ignored in OverlayManagerService. return selectWhereTarget(targetPackageName, userId) - .filter((i) -> !i.isStatic()) + .filter((i) -> !(i.isStatic() && "android".equals(i.getTargetPackageName()))) .map(SettingsItem::getOverlayInfo) .collect(Collectors.toList()); } ArrayMap<String, List<OverlayInfo>> getOverlaysForUser(final int userId) { + // Static RROs targeting "android" are loaded from AssetManager, and so they should be + // ignored in OverlayManagerService. return selectWhereUser(userId) - .filter((i) -> !i.isStatic()) + .filter((i) -> !(i.isStatic() && "android".equals(i.getTargetPackageName()))) .map(SettingsItem::getOverlayInfo) .collect(Collectors.groupingBy(info -> info.targetPackageName, ArrayMap::new, Collectors.toList())); |