diff --git a/services/core/java/com/android/server/pm/Computer.java b/services/core/java/com/android/server/pm/Computer.java index c259797942a71..1bce0cd2e4bae 100644 --- a/services/core/java/com/android/server/pm/Computer.java +++ b/services/core/java/com/android/server/pm/Computer.java @@ -439,10 +439,6 @@ public interface Computer extends PackageDataSnapshot { boolean getBlockUninstallForUser(@NonNull String packageName, @UserIdInt int userId); - @Nullable - SparseArray getBroadcastAllowList(@NonNull String packageName, @UserIdInt int[] userIds, - boolean isInstantApp); - @Nullable String getInstallerPackageName(@NonNull String packageName); @@ -479,6 +475,16 @@ public interface Computer extends PackageDataSnapshot { boolean isPackageSignedByKeySetExactly(@NonNull String packageName, @NonNull KeySet ks); + /** + * See {@link AppsFilterSnapshot#getVisibilityAllowList(PackageStateInternal, int[], ArrayMap)} + */ + @Nullable + SparseArray getVisibilityAllowLists(@NonNull String packageName, + @UserIdInt int[] userIds); + + /** + * See {@link AppsFilterSnapshot#getVisibilityAllowList(PackageStateInternal, int[], ArrayMap)} + */ @Nullable int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId); diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java index a548b728e20d7..ed1be2478a9be 100644 --- a/services/core/java/com/android/server/pm/ComputerEngine.java +++ b/services/core/java/com/android/server/pm/ComputerEngine.java @@ -5024,20 +5024,6 @@ public class ComputerEngine implements Computer { return mSettings.getBlockUninstall(userId, packageName); } - @Nullable - @Override - public SparseArray getBroadcastAllowList(@NonNull String packageName, - @UserIdInt int[] userIds, boolean isInstantApp) { - if (isInstantApp) { - return null; - } - PackageStateInternal setting = getPackageStateInternal(packageName, Process.SYSTEM_UID); - if (setting == null) { - return null; - } - return mAppsFilter.getVisibilityAllowList(setting, userIds, getPackageStates()); - } - @Nullable @Override public String getInstallerPackageName(@NonNull String packageName) { @@ -5316,14 +5302,21 @@ public class ComputerEngine implements Computer { @Nullable @Override - public int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId) { + public SparseArray getVisibilityAllowLists(@NonNull String packageName, + @UserIdInt int[] userIds) { final PackageStateInternal ps = getPackageStateInternal(packageName, Process.SYSTEM_UID); if (ps == null) { return null; } - final SparseArray visibilityAllowList = mAppsFilter.getVisibilityAllowList(ps, - new int[]{userId}, getPackageStates()); + return mAppsFilter.getVisibilityAllowList(ps, userIds, getPackageStates()); + } + + @Nullable + @Override + public int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId) { + final SparseArray visibilityAllowList = getVisibilityAllowLists(packageName, + new int[]{userId}); return visibilityAllowList != null ? visibilityAllowList.get(userId) : null; } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index d93334e150850..b3b9846f7e8df 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -3937,8 +3937,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService snapshot.isInstantAppInternal(packageName, userId, Process.SYSTEM_UID); final int[] userIds = isInstantApp ? EMPTY_INT_ARRAY : new int[] { userId }; final int[] instantUserIds = isInstantApp ? new int[] { userId } : EMPTY_INT_ARRAY; - final SparseArray broadcastAllowList = snapshot.getBroadcastAllowList( - packageName, userIds, isInstantApp); + final SparseArray broadcastAllowList = + isInstantApp ? null : snapshot.getVisibilityAllowLists(packageName, userIds); mHandler.post(() -> mBroadcastHelper.sendPackageChangedBroadcast( packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList));