Revert getUserInfo change and add isManagedPorfile(int userId)
am: 8673b28
* commit '8673b2899e775014336efff44ea88dcac2b25bdd':
Revert getUserInfo change and add isManagedPorfile(int userId)
This commit is contained in:
@@ -31658,6 +31658,7 @@ package android.os {
|
|||||||
method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
|
method public android.os.Bundle getUserRestrictions(android.os.UserHandle);
|
||||||
method public boolean hasUserRestriction(java.lang.String);
|
method public boolean hasUserRestriction(java.lang.String);
|
||||||
method public boolean isManagedProfile();
|
method public boolean isManagedProfile();
|
||||||
|
method public boolean isManagedProfile(int);
|
||||||
method public boolean isQuietModeEnabled(android.os.UserHandle);
|
method public boolean isQuietModeEnabled(android.os.UserHandle);
|
||||||
method public boolean isSystemUser();
|
method public boolean isSystemUser();
|
||||||
method public boolean isUserAGoat();
|
method public boolean isUserAGoat();
|
||||||
|
|||||||
@@ -1147,8 +1147,7 @@ public class ApplicationPackageManager extends PackageManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Drawable getManagedProfileIconForDensity(UserHandle user, int drawableId, int density) {
|
private Drawable getManagedProfileIconForDensity(UserHandle user, int drawableId, int density) {
|
||||||
UserInfo userInfo = getUserInfo(user.getIdentifier());
|
if (isManagedProfile(user.getIdentifier())) {
|
||||||
if (userInfo != null && userInfo.isManagedProfile()) {
|
|
||||||
return getDrawableForDensity(drawableId, density);
|
return getDrawableForDensity(drawableId, density);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -1156,8 +1155,7 @@ public class ApplicationPackageManager extends PackageManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getUserBadgedLabel(CharSequence label, UserHandle user) {
|
public CharSequence getUserBadgedLabel(CharSequence label, UserHandle user) {
|
||||||
UserInfo userInfo = getUserInfo(user.getIdentifier());
|
if (isManagedProfile(user.getIdentifier())) {
|
||||||
if (userInfo != null && userInfo.isManagedProfile()) {
|
|
||||||
return Resources.getSystem().getString(
|
return Resources.getSystem().getString(
|
||||||
com.android.internal.R.string.managed_profile_label_badge, label);
|
com.android.internal.R.string.managed_profile_label_badge, label);
|
||||||
}
|
}
|
||||||
@@ -2259,17 +2257,16 @@ public class ApplicationPackageManager extends PackageManager {
|
|||||||
return drawable;
|
return drawable;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getBadgeResIdForUser(int userHandle) {
|
private int getBadgeResIdForUser(int userId) {
|
||||||
// Return the framework-provided badge.
|
// Return the framework-provided badge.
|
||||||
UserInfo userInfo = getUserInfo(userHandle);
|
if (isManagedProfile(userId)) {
|
||||||
if (userInfo != null && userInfo.isManagedProfile()) {
|
|
||||||
return com.android.internal.R.drawable.ic_corp_icon_badge;
|
return com.android.internal.R.drawable.ic_corp_icon_badge;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserInfo getUserInfo(int userHandle) {
|
private boolean isManagedProfile(int userId) {
|
||||||
return getUserManager().getUserInfo(userHandle);
|
return getUserManager().isManagedProfile(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
|
|||||||
@@ -76,4 +76,5 @@ interface IUserManager {
|
|||||||
PersistableBundle getSeedAccountOptions();
|
PersistableBundle getSeedAccountOptions();
|
||||||
void clearSeedAccountData();
|
void clearSeedAccountData();
|
||||||
boolean someUserHasSeedAccount(in String accountName, in String accountType);
|
boolean someUserHasSeedAccount(in String accountName, in String accountType);
|
||||||
|
boolean isManagedProfile(int userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -822,8 +822,28 @@ public class UserManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
public boolean isManagedProfile() {
|
public boolean isManagedProfile() {
|
||||||
UserInfo user = getUserInfo(UserHandle.myUserId());
|
try {
|
||||||
return user != null ? user.isManagedProfile() : false;
|
return mService.isManagedProfile(UserHandle.myUserId());
|
||||||
|
} catch (RemoteException re) {
|
||||||
|
throw re.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the specified user is a managed profile.
|
||||||
|
* Requires {@link android.Manifest.permission#MANAGE_USERS} permission, otherwise the caller
|
||||||
|
* must be in the same profile group of specified user.
|
||||||
|
*
|
||||||
|
* @return whether the specified user is a managed profile.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
public boolean isManagedProfile(@UserIdInt int userId) {
|
||||||
|
try {
|
||||||
|
return mService.isManagedProfile(userId);
|
||||||
|
} catch (RemoteException re) {
|
||||||
|
throw re.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -964,8 +984,7 @@ public class UserManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the UserInfo object describing a specific user.
|
* Returns the UserInfo object describing a specific user.
|
||||||
* Requires {@link android.Manifest.permission#MANAGE_USERS} permission or the caller is
|
* Requires {@link android.Manifest.permission#MANAGE_USERS} permission.
|
||||||
* in the same profile group of target user.
|
|
||||||
* @param userHandle the user handle of the user whose information is being requested.
|
* @param userHandle the user handle of the user whose information is being requested.
|
||||||
* @return the UserInfo object for a specific user.
|
* @return the UserInfo object for a specific user.
|
||||||
* @hide
|
* @hide
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2011 The Android Open Source Project
|
* Copyright (C) 2011 The Android Open Source Project
|
||||||
*
|
*
|
||||||
@@ -650,18 +651,27 @@ public class UserManagerService extends IUserManager.Stub {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public UserInfo getUserInfo(int userId) {
|
public UserInfo getUserInfo(int userId) {
|
||||||
|
checkManageUsersPermission("query user");
|
||||||
|
synchronized (mUsersLock) {
|
||||||
|
return getUserInfoLU(userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isManagedProfile(int userId) {
|
||||||
int callingUserId = UserHandle.getCallingUserId();
|
int callingUserId = UserHandle.getCallingUserId();
|
||||||
if (callingUserId != userId && !hasManageUsersPermission()) {
|
if (callingUserId != userId && !hasManageUsersPermission()) {
|
||||||
synchronized (mPackagesLock) {
|
synchronized (mPackagesLock) {
|
||||||
if (!isSameProfileGroupLP(callingUserId, userId)) {
|
if (!isSameProfileGroupLP(callingUserId, userId)) {
|
||||||
throw new SecurityException(
|
throw new SecurityException(
|
||||||
"You need MANAGE_USERS permission to: query users outside profile" +
|
"You need MANAGE_USERS permission to: check if specified user a " +
|
||||||
" group");
|
"managed profile outside your profile group");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
synchronized (mUsersLock) {
|
synchronized (mUsersLock) {
|
||||||
return getUserInfoLU(userId);
|
UserInfo userInfo = getUserInfoLU(userId);
|
||||||
|
return userInfo != null && userInfo.isManagedProfile();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user