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 @@ -1538,6 +1538,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 @@ -2251,7 +2252,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 @@ -2735,7 +2736,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 @@ -3069,8 +3069,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 @@ -3137,6 +3137,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService }); } @SuppressWarnings("GuardedBy") VersionInfo getSettingsVersionForPackage(AndroidPackage pkg) { if (pkg.isExternalStorage()) { if (TextUtils.isEmpty(pkg.getVolumeUuid())) { Loading Loading @@ -3266,6 +3267,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 @@ -3857,6 +3859,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 @@ -4532,9 +4535,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 @@ -4950,6 +4955,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public int getRuntimePermissionsVersion(@UserIdInt int userId) { Preconditions.checkArgumentNonnegative(userId); enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions( Loading Loading @@ -5558,7 +5564,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 @@ -5827,6 +5833,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 @@ -6346,6 +6353,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void updateRuntimePermissionsFingerprint(@UserIdInt int userId) { mSettings.updateRuntimePermissionsFingerprint(userId); } Loading Loading @@ -6380,6 +6388,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 @@ -1538,6 +1538,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 @@ -2251,7 +2252,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 @@ -2735,7 +2736,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 @@ -3069,8 +3069,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 @@ -3137,6 +3137,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService }); } @SuppressWarnings("GuardedBy") VersionInfo getSettingsVersionForPackage(AndroidPackage pkg) { if (pkg.isExternalStorage()) { if (TextUtils.isEmpty(pkg.getVolumeUuid())) { Loading Loading @@ -3266,6 +3267,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 @@ -3857,6 +3859,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 @@ -4532,9 +4535,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 @@ -4950,6 +4955,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public int getRuntimePermissionsVersion(@UserIdInt int userId) { Preconditions.checkArgumentNonnegative(userId); enforceAdjustRuntimePermissionsPolicyOrUpgradeRuntimePermissions( Loading Loading @@ -5558,7 +5564,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 @@ -5827,6 +5833,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 @@ -6346,6 +6353,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public void updateRuntimePermissionsFingerprint(@UserIdInt int userId) { mSettings.updateRuntimePermissionsFingerprint(userId); } Loading Loading @@ -6380,6 +6388,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService } @Override @SuppressWarnings("GuardedBy") public boolean isPermissionUpgradeNeeded(int userId) { return mSettings.isPermissionUpgradeNeeded(userId); } Loading