Loading services/core/java/com/android/server/pm/ChangedPackagesTracker.java +20 −18 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ class ChangedPackagesTracker { } void updateSequenceNumber(@NonNull String packageName, int[] userList) { synchronized (mLock) { for (int i = userList.length - 1; i >= 0; --i) { final int userId = userList[i]; SparseArray<String> changedPackages = mUserIdToSequenceToPackage.get(userId); Loading @@ -112,3 +113,4 @@ class ChangedPackagesTracker { mChangedPackagesSequenceNumber++; } } } services/core/java/com/android/server/pm/PackageManagerService.java +15 −6 Original line number Diff line number Diff line Loading @@ -1543,6 +1543,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } // Link watchables to the class @SuppressWarnings("GuardedBy") private void registerObservers(boolean verify) { // Null check to handle nullable test parameters if (mPackages != null) { Loading Loading @@ -2256,7 +2257,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService @GuardedBy("mLock") void updateInstantAppInstallerLocked(String modifiedPackage) { // we're only interested in updating the installer appliction when 1) it's not // we're only interested in updating the installer application when 1) it's not // already set or 2) the modified package is the installer if (mInstantAppInstallerActivity != null && !mInstantAppInstallerActivity.getComponentName().getPackageName() Loading Loading @@ -2740,7 +2741,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService return mModuleInfoProvider.getModuleInfo(packageName, flags); } @GuardedBy("mLock") void updateSequenceNumberLP(PackageSetting pkgSetting, int[] userList) { mChangedPackagesTracker.updateSequenceNumber(pkgSetting.getPackageName(), userList); } Loading Loading @@ -3074,8 +3074,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService userId); } private void enforceCanSetDistractingPackageRestrictionsAsUser(@NonNull Computer snapshot, int callingUid, int userId, String callingMethod) { private void enforceCanSetDistractingPackageRestrictionsAsUser(int callingUid, int userId, String callingMethod) { mContext.enforceCallingOrSelfPermission(Manifest.permission.SUSPEND_APPS, callingMethod); Loading Loading @@ -3159,6 +3159,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } @SuppressWarnings("GuardedBy") VersionInfo getSettingsVersionForPackage(AndroidPackage pkg) { if (pkg.isExternalStorage()) { if (TextUtils.isEmpty(pkg.getVolumeUuid())) { Loading Loading @@ -3288,6 +3289,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService * Update component enabled settings to {@link PackageManager#COMPONENT_ENABLED_STATE_DEFAULT} * if the resetEnabledSettingsOnAppDataCleared is {@code true}. */ @GuardedBy("mLock") private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId) { final AndroidPackage pkg = packageName != null ? mPackages.get(packageName) : null; if (pkg == null || !pkg.isResetEnabledSettingsOnAppDataCleared()) { Loading Loading @@ -3879,6 +3881,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } @GuardedBy("mLock") private boolean setEnabledSettingInternalLocked(@NonNull Computer computer, PackageSetting pkgSetting, ComponentEnabledSetting setting, @UserIdInt int userId, String callingPackage) { Loading Loading @@ -4554,9 +4557,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService final Computer snapshot = snapshotComputer(); unsuspendForSuspendingPackage(snapshot, packageName, userId); removeAllDistractingPackageRestrictions(snapshot, userId); synchronized (mLock) { flushPackageRestrictionsAsUserInternalLocked(userId); } } } if (observer != null) { try { observer.onRemoveCompleted(packageName, succeeded); Loading Loading @@ -4972,6 +4977,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public int getRuntimePermissionsVersion(@UserIdInt int userId) { Preconditions.checkArgumentNonnegative(userId); enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions( Loading Loading @@ -5576,7 +5582,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService int restrictionFlags, int userId) { final int callingUid = Binder.getCallingUid(); final Computer snapshot = snapshotComputer(); enforceCanSetDistractingPackageRestrictionsAsUser(snapshot, callingUid, userId, enforceCanSetDistractingPackageRestrictionsAsUser(callingUid, userId, "setDistractingPackageRestrictionsAsUser"); Objects.requireNonNull(packageNames, "packageNames cannot be null"); return mDistractingPackageHelper.setDistractingPackageRestrictionsAsUser(snapshot, Loading Loading @@ -5845,6 +5851,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void setRuntimePermissionsVersion(int version, @UserIdInt int userId) { Preconditions.checkArgumentNonnegative(version); Preconditions.checkArgumentNonnegative(userId); Loading Loading @@ -6363,6 +6370,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void updateRuntimePermissionsFingerprint(@UserIdInt int userId) { mSettings.updateRuntimePermissionsFingerprint(userId); } Loading Loading @@ -6397,6 +6405,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public boolean isPermissionUpgradeNeeded(int userId) { return mSettings.isPermissionUpgradeNeeded(userId); } Loading Loading
services/core/java/com/android/server/pm/ChangedPackagesTracker.java +20 −18 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ class ChangedPackagesTracker { } void updateSequenceNumber(@NonNull String packageName, int[] userList) { synchronized (mLock) { for (int i = userList.length - 1; i >= 0; --i) { final int userId = userList[i]; SparseArray<String> changedPackages = mUserIdToSequenceToPackage.get(userId); Loading @@ -112,3 +113,4 @@ class ChangedPackagesTracker { mChangedPackagesSequenceNumber++; } } }
services/core/java/com/android/server/pm/PackageManagerService.java +15 −6 Original line number Diff line number Diff line Loading @@ -1543,6 +1543,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } // Link watchables to the class @SuppressWarnings("GuardedBy") private void registerObservers(boolean verify) { // Null check to handle nullable test parameters if (mPackages != null) { Loading Loading @@ -2256,7 +2257,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService @GuardedBy("mLock") void updateInstantAppInstallerLocked(String modifiedPackage) { // we're only interested in updating the installer appliction when 1) it's not // we're only interested in updating the installer application when 1) it's not // already set or 2) the modified package is the installer if (mInstantAppInstallerActivity != null && !mInstantAppInstallerActivity.getComponentName().getPackageName() Loading Loading @@ -2740,7 +2741,6 @@ public class PackageManagerService implements PackageSender, TestUtilityService return mModuleInfoProvider.getModuleInfo(packageName, flags); } @GuardedBy("mLock") void updateSequenceNumberLP(PackageSetting pkgSetting, int[] userList) { mChangedPackagesTracker.updateSequenceNumber(pkgSetting.getPackageName(), userList); } Loading Loading @@ -3074,8 +3074,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService userId); } private void enforceCanSetDistractingPackageRestrictionsAsUser(@NonNull Computer snapshot, int callingUid, int userId, String callingMethod) { private void enforceCanSetDistractingPackageRestrictionsAsUser(int callingUid, int userId, String callingMethod) { mContext.enforceCallingOrSelfPermission(Manifest.permission.SUSPEND_APPS, callingMethod); Loading Loading @@ -3159,6 +3159,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } @SuppressWarnings("GuardedBy") VersionInfo getSettingsVersionForPackage(AndroidPackage pkg) { if (pkg.isExternalStorage()) { if (TextUtils.isEmpty(pkg.getVolumeUuid())) { Loading Loading @@ -3288,6 +3289,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService * Update component enabled settings to {@link PackageManager#COMPONENT_ENABLED_STATE_DEFAULT} * if the resetEnabledSettingsOnAppDataCleared is {@code true}. */ @GuardedBy("mLock") private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId) { final AndroidPackage pkg = packageName != null ? mPackages.get(packageName) : null; if (pkg == null || !pkg.isResetEnabledSettingsOnAppDataCleared()) { Loading Loading @@ -3879,6 +3881,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } @GuardedBy("mLock") private boolean setEnabledSettingInternalLocked(@NonNull Computer computer, PackageSetting pkgSetting, ComponentEnabledSetting setting, @UserIdInt int userId, String callingPackage) { Loading Loading @@ -4554,9 +4557,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService final Computer snapshot = snapshotComputer(); unsuspendForSuspendingPackage(snapshot, packageName, userId); removeAllDistractingPackageRestrictions(snapshot, userId); synchronized (mLock) { flushPackageRestrictionsAsUserInternalLocked(userId); } } } if (observer != null) { try { observer.onRemoveCompleted(packageName, succeeded); Loading Loading @@ -4972,6 +4977,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public int getRuntimePermissionsVersion(@UserIdInt int userId) { Preconditions.checkArgumentNonnegative(userId); enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions( Loading Loading @@ -5576,7 +5582,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService int restrictionFlags, int userId) { final int callingUid = Binder.getCallingUid(); final Computer snapshot = snapshotComputer(); enforceCanSetDistractingPackageRestrictionsAsUser(snapshot, callingUid, userId, enforceCanSetDistractingPackageRestrictionsAsUser(callingUid, userId, "setDistractingPackageRestrictionsAsUser"); Objects.requireNonNull(packageNames, "packageNames cannot be null"); return mDistractingPackageHelper.setDistractingPackageRestrictionsAsUser(snapshot, Loading Loading @@ -5845,6 +5851,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void setRuntimePermissionsVersion(int version, @UserIdInt int userId) { Preconditions.checkArgumentNonnegative(version); Preconditions.checkArgumentNonnegative(userId); Loading Loading @@ -6363,6 +6370,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void updateRuntimePermissionsFingerprint(@UserIdInt int userId) { mSettings.updateRuntimePermissionsFingerprint(userId); } Loading Loading @@ -6397,6 +6405,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public boolean isPermissionUpgradeNeeded(int userId) { return mSettings.isPermissionUpgradeNeeded(userId); } Loading