Loading services/core/java/com/android/server/pm/AppsFilterBase.java +2 −2 Original line number Diff line number Diff line Loading @@ -332,7 +332,7 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot { return false; } } else { if (!shouldFilterApplicationInternal(snapshot, if (!shouldFilterApplicationInternal((Computer) snapshot, callingUid, callingSetting, targetPkgSetting, userId)) { return false; } Loading Loading @@ -365,7 +365,7 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot { return mShouldFilterCache.valueAt(callingIndex, targetIndex); } protected boolean shouldFilterApplicationInternal(PackageDataSnapshot snapshot, int callingUid, protected boolean shouldFilterApplicationInternal(Computer snapshot, int callingUid, Object callingSetting, PackageStateInternal targetPkgSetting, int targetUserId) { if (DEBUG_TRACING) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "shouldFilterApplicationInternal"); Loading services/core/java/com/android/server/pm/AppsFilterImpl.java +13 −14 Original line number Diff line number Diff line Loading @@ -55,7 +55,6 @@ import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.pkg.component.ParsedInstrumentation; import com.android.server.pm.snapshot.PackageDataSnapshot; import com.android.server.utils.Snappable; import com.android.server.utils.SnapshotCache; import com.android.server.utils.Watchable; Loading Loading @@ -309,7 +308,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, @Override public void onCompatChange(String packageName) { PackageDataSnapshot snapshot = mPmInternal.snapshot(); Computer snapshot = (Computer) mPmInternal.snapshot(); AndroidPackage pkg = snapshot.getPackage(packageName); if (pkg == null) { return; Loading Loading @@ -435,7 +434,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, * @param newPkgSetting the new setting being added * @param isReplace if the package is being replaced and may need extra cleanup. */ public void addPackage(PackageDataSnapshot snapshot, PackageStateInternal newPkgSetting, public void addPackage(Computer snapshot, PackageStateInternal newPkgSetting, boolean isReplace) { if (DEBUG_TRACING) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "filter.addPackage"); Loading Loading @@ -632,7 +631,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } } private void updateEntireShouldFilterCache(PackageDataSnapshot snapshot, int subjectUserId) { private void updateEntireShouldFilterCache(Computer snapshot, int subjectUserId) { final ArrayMap<String, ? extends PackageStateInternal> settings = snapshot.getPackageStates(); final UserInfo[] users = snapshot.getUserInfos(); Loading @@ -653,7 +652,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, onChanged(); } private void updateEntireShouldFilterCacheInner(PackageDataSnapshot snapshot, private void updateEntireShouldFilterCacheInner(Computer snapshot, ArrayMap<String, ? extends PackageStateInternal> settings, UserInfo[] users, int subjectUserId) { Loading Loading @@ -684,7 +683,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, final ArrayMap<String, AndroidPackage> packagesCache = new ArrayMap<>(); final UserInfo[][] usersRef = new UserInfo[1][]; final PackageDataSnapshot snapshot = pmInternal.snapshot(); final Computer snapshot = (Computer) pmInternal.snapshot(); final ArrayMap<String, ? extends PackageStateInternal> settings = snapshot.getPackageStates(); final UserInfo[] users = snapshot.getUserInfos(); Loading Loading @@ -712,7 +711,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, }, delayMs); } public void onUserCreated(PackageDataSnapshot snapshot, int newUserId) { public void onUserCreated(Computer snapshot, int newUserId) { if (!mCacheReady) { return; } Loading @@ -727,7 +726,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, onChanged(); } private void updateShouldFilterCacheForPackage(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForPackage(Computer snapshot, String packageName) { if (!mCacheReady) { return; Loading @@ -744,7 +743,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } @GuardedBy("mCacheLock") private void updateShouldFilterCacheForPackage(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForPackage(Computer snapshot, @Nullable String skipPackageName, PackageStateInternal subjectSetting, ArrayMap<String, ? extends PackageStateInternal> allSettings, UserInfo[] allUsers, int subjectUserId, int maxIndex) { Loading @@ -771,7 +770,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } @GuardedBy("mCacheLock") private void updateShouldFilterCacheForUser(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForUser(Computer snapshot, PackageStateInternal subjectSetting, UserInfo[] allUsers, PackageStateInternal otherSetting, int subjectUserId) { for (int ou = 0; ou < allUsers.length; ou++) { Loading Loading @@ -889,12 +888,12 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } /** * Equivalent to calling {@link #addPackage(PackageDataSnapshot, PackageStateInternal, boolean)} * Equivalent to calling {@link #addPackage(Computer, PackageStateInternal, boolean)} * with {@code isReplace} equal to {@code false}. * * @see AppsFilterImpl#addPackage(PackageDataSnapshot, PackageStateInternal, boolean) * @see AppsFilterImpl#addPackage(Computer, PackageStateInternal, boolean) */ public void addPackage(PackageDataSnapshot snapshot, PackageStateInternal newPkgSetting) { public void addPackage(Computer snapshot, PackageStateInternal newPkgSetting) { addPackage(snapshot, newPkgSetting, false /* isReplace */); } Loading @@ -904,7 +903,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, * @param setting the setting of the package being removed. * @param isReplace if the package is being replaced. */ public void removePackage(PackageDataSnapshot snapshot, PackageStateInternal setting, public void removePackage(Computer snapshot, PackageStateInternal setting, boolean isReplace) { final ArraySet<String> additionalChangedPackages; final ArrayMap<String, ? extends PackageStateInternal> settings = Loading services/core/java/com/android/server/pm/Computer.java +0 −4 Original line number Diff line number Diff line Loading @@ -130,7 +130,6 @@ public interface Computer extends PackageDataSnapshot { */ ActivityInfo getActivityInfoInternal(ComponentName component, long flags, int filterCallingUid, int userId); @Override AndroidPackage getPackage(String packageName); AndroidPackage getPackage(int uid); ApplicationInfo generateApplicationInfoFromSettings(String packageName, long flags, Loading Loading @@ -318,7 +317,6 @@ public interface Computer extends PackageDataSnapshot { PreferredIntentResolver getPreferredActivities(@UserIdInt int userId); @NonNull @Override ArrayMap<String, ? extends PackageStateInternal> getPackageStates(); @Nullable Loading Loading @@ -645,11 +643,9 @@ public interface Computer extends PackageDataSnapshot { @NonNull List<? extends PackageStateInternal> getVolumePackages(@NonNull String volumeUuid); @Override @NonNull UserInfo[] getUserInfos(); @Override @NonNull Collection<SharedUserSetting> getAllSharedUsers(); } services/core/java/com/android/server/pm/snapshot/PackageDataSnapshot.java +11 −15 Original line number Diff line number Diff line Loading @@ -16,22 +16,18 @@ package com.android.server.pm.snapshot; import android.annotation.NonNull; import android.content.pm.UserInfo; import android.util.ArrayMap; import android.content.pm.PackageManagerInternal; import com.android.server.pm.SharedUserSetting; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.pkg.PackageStateInternal; import java.util.Collection; import com.android.server.pm.Computer; import com.android.server.pm.PackageManagerService; /** * An empty interface provided as the type for a snapshot of {@link PackageManagerService} data. * There should be no members of this interface, to discourage its usage beyond as an input to * other package related APIs. * * Usage inside {@link PackageManagerInternal} and related should cast the object instance to * a {@link Computer} to access data. */ public interface PackageDataSnapshot { @NonNull ArrayMap<String, ? extends PackageStateInternal> getPackageStates(); @NonNull UserInfo[] getUserInfos(); @NonNull Collection<SharedUserSetting> getAllSharedUsers(); AndroidPackage getPackage(String packageName); } services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java +1 −2 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ import com.android.server.pm.pkg.component.ParsedInstrumentationImpl; import com.android.server.pm.pkg.component.ParsedIntentInfoImpl; import com.android.server.pm.pkg.component.ParsedProviderImpl; import com.android.server.pm.pkg.parsing.ParsingPackage; import com.android.server.pm.snapshot.PackageDataSnapshot; import com.android.server.utils.WatchableTester; import org.junit.Before; Loading Loading @@ -102,7 +101,7 @@ public class AppsFilterImplTest { @Mock FeatureConfig mFeatureConfigMock; @Mock PackageDataSnapshot mSnapshot; Computer mSnapshot; @Mock Handler mMockHandler; @Mock Loading Loading
services/core/java/com/android/server/pm/AppsFilterBase.java +2 −2 Original line number Diff line number Diff line Loading @@ -332,7 +332,7 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot { return false; } } else { if (!shouldFilterApplicationInternal(snapshot, if (!shouldFilterApplicationInternal((Computer) snapshot, callingUid, callingSetting, targetPkgSetting, userId)) { return false; } Loading Loading @@ -365,7 +365,7 @@ public abstract class AppsFilterBase implements AppsFilterSnapshot { return mShouldFilterCache.valueAt(callingIndex, targetIndex); } protected boolean shouldFilterApplicationInternal(PackageDataSnapshot snapshot, int callingUid, protected boolean shouldFilterApplicationInternal(Computer snapshot, int callingUid, Object callingSetting, PackageStateInternal targetPkgSetting, int targetUserId) { if (DEBUG_TRACING) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "shouldFilterApplicationInternal"); Loading
services/core/java/com/android/server/pm/AppsFilterImpl.java +13 −14 Original line number Diff line number Diff line Loading @@ -55,7 +55,6 @@ import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; import com.android.server.pm.pkg.PackageStateInternal; import com.android.server.pm.pkg.component.ParsedInstrumentation; import com.android.server.pm.snapshot.PackageDataSnapshot; import com.android.server.utils.Snappable; import com.android.server.utils.SnapshotCache; import com.android.server.utils.Watchable; Loading Loading @@ -309,7 +308,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, @Override public void onCompatChange(String packageName) { PackageDataSnapshot snapshot = mPmInternal.snapshot(); Computer snapshot = (Computer) mPmInternal.snapshot(); AndroidPackage pkg = snapshot.getPackage(packageName); if (pkg == null) { return; Loading Loading @@ -435,7 +434,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, * @param newPkgSetting the new setting being added * @param isReplace if the package is being replaced and may need extra cleanup. */ public void addPackage(PackageDataSnapshot snapshot, PackageStateInternal newPkgSetting, public void addPackage(Computer snapshot, PackageStateInternal newPkgSetting, boolean isReplace) { if (DEBUG_TRACING) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "filter.addPackage"); Loading Loading @@ -632,7 +631,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } } private void updateEntireShouldFilterCache(PackageDataSnapshot snapshot, int subjectUserId) { private void updateEntireShouldFilterCache(Computer snapshot, int subjectUserId) { final ArrayMap<String, ? extends PackageStateInternal> settings = snapshot.getPackageStates(); final UserInfo[] users = snapshot.getUserInfos(); Loading @@ -653,7 +652,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, onChanged(); } private void updateEntireShouldFilterCacheInner(PackageDataSnapshot snapshot, private void updateEntireShouldFilterCacheInner(Computer snapshot, ArrayMap<String, ? extends PackageStateInternal> settings, UserInfo[] users, int subjectUserId) { Loading Loading @@ -684,7 +683,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, final ArrayMap<String, AndroidPackage> packagesCache = new ArrayMap<>(); final UserInfo[][] usersRef = new UserInfo[1][]; final PackageDataSnapshot snapshot = pmInternal.snapshot(); final Computer snapshot = (Computer) pmInternal.snapshot(); final ArrayMap<String, ? extends PackageStateInternal> settings = snapshot.getPackageStates(); final UserInfo[] users = snapshot.getUserInfos(); Loading Loading @@ -712,7 +711,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, }, delayMs); } public void onUserCreated(PackageDataSnapshot snapshot, int newUserId) { public void onUserCreated(Computer snapshot, int newUserId) { if (!mCacheReady) { return; } Loading @@ -727,7 +726,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, onChanged(); } private void updateShouldFilterCacheForPackage(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForPackage(Computer snapshot, String packageName) { if (!mCacheReady) { return; Loading @@ -744,7 +743,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } @GuardedBy("mCacheLock") private void updateShouldFilterCacheForPackage(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForPackage(Computer snapshot, @Nullable String skipPackageName, PackageStateInternal subjectSetting, ArrayMap<String, ? extends PackageStateInternal> allSettings, UserInfo[] allUsers, int subjectUserId, int maxIndex) { Loading @@ -771,7 +770,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } @GuardedBy("mCacheLock") private void updateShouldFilterCacheForUser(PackageDataSnapshot snapshot, private void updateShouldFilterCacheForUser(Computer snapshot, PackageStateInternal subjectSetting, UserInfo[] allUsers, PackageStateInternal otherSetting, int subjectUserId) { for (int ou = 0; ou < allUsers.length; ou++) { Loading Loading @@ -889,12 +888,12 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, } /** * Equivalent to calling {@link #addPackage(PackageDataSnapshot, PackageStateInternal, boolean)} * Equivalent to calling {@link #addPackage(Computer, PackageStateInternal, boolean)} * with {@code isReplace} equal to {@code false}. * * @see AppsFilterImpl#addPackage(PackageDataSnapshot, PackageStateInternal, boolean) * @see AppsFilterImpl#addPackage(Computer, PackageStateInternal, boolean) */ public void addPackage(PackageDataSnapshot snapshot, PackageStateInternal newPkgSetting) { public void addPackage(Computer snapshot, PackageStateInternal newPkgSetting) { addPackage(snapshot, newPkgSetting, false /* isReplace */); } Loading @@ -904,7 +903,7 @@ public final class AppsFilterImpl extends AppsFilterLocked implements Watchable, * @param setting the setting of the package being removed. * @param isReplace if the package is being replaced. */ public void removePackage(PackageDataSnapshot snapshot, PackageStateInternal setting, public void removePackage(Computer snapshot, PackageStateInternal setting, boolean isReplace) { final ArraySet<String> additionalChangedPackages; final ArrayMap<String, ? extends PackageStateInternal> settings = Loading
services/core/java/com/android/server/pm/Computer.java +0 −4 Original line number Diff line number Diff line Loading @@ -130,7 +130,6 @@ public interface Computer extends PackageDataSnapshot { */ ActivityInfo getActivityInfoInternal(ComponentName component, long flags, int filterCallingUid, int userId); @Override AndroidPackage getPackage(String packageName); AndroidPackage getPackage(int uid); ApplicationInfo generateApplicationInfoFromSettings(String packageName, long flags, Loading Loading @@ -318,7 +317,6 @@ public interface Computer extends PackageDataSnapshot { PreferredIntentResolver getPreferredActivities(@UserIdInt int userId); @NonNull @Override ArrayMap<String, ? extends PackageStateInternal> getPackageStates(); @Nullable Loading Loading @@ -645,11 +643,9 @@ public interface Computer extends PackageDataSnapshot { @NonNull List<? extends PackageStateInternal> getVolumePackages(@NonNull String volumeUuid); @Override @NonNull UserInfo[] getUserInfos(); @Override @NonNull Collection<SharedUserSetting> getAllSharedUsers(); }
services/core/java/com/android/server/pm/snapshot/PackageDataSnapshot.java +11 −15 Original line number Diff line number Diff line Loading @@ -16,22 +16,18 @@ package com.android.server.pm.snapshot; import android.annotation.NonNull; import android.content.pm.UserInfo; import android.util.ArrayMap; import android.content.pm.PackageManagerInternal; import com.android.server.pm.SharedUserSetting; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.pkg.PackageStateInternal; import java.util.Collection; import com.android.server.pm.Computer; import com.android.server.pm.PackageManagerService; /** * An empty interface provided as the type for a snapshot of {@link PackageManagerService} data. * There should be no members of this interface, to discourage its usage beyond as an input to * other package related APIs. * * Usage inside {@link PackageManagerInternal} and related should cast the object instance to * a {@link Computer} to access data. */ public interface PackageDataSnapshot { @NonNull ArrayMap<String, ? extends PackageStateInternal> getPackageStates(); @NonNull UserInfo[] getUserInfos(); @NonNull Collection<SharedUserSetting> getAllSharedUsers(); AndroidPackage getPackage(String packageName); }
services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java +1 −2 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ import com.android.server.pm.pkg.component.ParsedInstrumentationImpl; import com.android.server.pm.pkg.component.ParsedIntentInfoImpl; import com.android.server.pm.pkg.component.ParsedProviderImpl; import com.android.server.pm.pkg.parsing.ParsingPackage; import com.android.server.pm.snapshot.PackageDataSnapshot; import com.android.server.utils.WatchableTester; import org.junit.Before; Loading Loading @@ -102,7 +101,7 @@ public class AppsFilterImplTest { @Mock FeatureConfig mFeatureConfigMock; @Mock PackageDataSnapshot mSnapshot; Computer mSnapshot; @Mock Handler mMockHandler; @Mock Loading