diff options
Diffstat (limited to 'services/java/com/android/server/pm/PackageManagerService.java')
-rwxr-xr-x | services/java/com/android/server/pm/PackageManagerService.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 6f57261..7a01219 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -6189,9 +6189,9 @@ public class PackageManagerService extends IPackageManager.Stub { PackageSetting pkgSetting; final int uid = Binder.getCallingUid(); if (UserHandle.getUserId(uid) != userId) { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, - "setApplicationBlocked for user " + userId); + "setApplicationBlockedSetting for user " + userId); } if (blocked && isPackageDeviceAdmin(packageName, userId)) { @@ -6224,6 +6224,8 @@ public class PackageManagerService extends IPackageManager.Stub { return true; } if (sendRemoved) { + killApplication(packageName, UserHandle.getUid(userId, pkgSetting.appId), + "blocking pkg"); sendPackageBlockedForUser(packageName, pkgSetting, userId); } } finally { @@ -10016,6 +10018,7 @@ public class PackageManagerService extends IPackageManager.Stub { } } } + sUserManager.systemReady(); } public boolean isSafeMode() { |