am 735f2285: Merge "Remove permission check in DevicePolicyManager.isUninstallBlocked()" into lmp-mr1-dev

* commit '735f22850edcb5c2447c37cb96f048de8a742907':
  Remove permission check in DevicePolicyManager.isUninstallBlocked()
This commit is contained in:
Rubin Xu
2014-11-19 00:09:43 +00:00
committed by Android Git Automerger
2 changed files with 10 additions and 7 deletions

View File

@@ -3421,12 +3421,13 @@ public class DevicePolicyManager {
}
/**
* Called by profile or device owners to check whether a user has been blocked from
* uninstalling a package.
* Check whether the current user has been blocked by device policy from uninstalling a package.
* Requires the caller to be the profile owner if checking a specific admin's policy.
*
* @param admin Which {@link DeviceAdminReceiver} this request is associated with.
* @param admin The name of the admin component whose blocking policy will be checked, or null
* to check if any admin has blocked the uninstallation.
* @param packageName package to check.
* @return true if the user shouldn't be able to uninstall the package.
* @return true if uninstallation is blocked.
*/
public boolean isUninstallBlocked(ComponentName admin, String packageName) {
if (mService != null) {

View File

@@ -5040,13 +5040,15 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
@Override
public boolean isUninstallBlocked(ComponentName who, String packageName) {
// This function should return true if and only if the package is blocked by
// setUninstallBlocked(). It should still return false for other cases of blocks, such as
// when the package is a system app, or when it is an active device admin.
final int userId = UserHandle.getCallingUserId();
synchronized (this) {
if (who == null) {
throw new NullPointerException("ComponentName is null");
if (who != null) {
getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
}
getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER);
long id = Binder.clearCallingIdentity();
try {