Merge "Create new system API in UserHandle to get uid" am: af6494310d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573942 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ia8303c08be1e76ff48e60965518de4d469dc0352
This commit is contained in:
@@ -7593,6 +7593,7 @@ package android.os {
|
||||
method @NonNull public static String formatUid(int);
|
||||
method public static int getAppId(int);
|
||||
method public int getIdentifier();
|
||||
method public static int getUid(@NonNull android.os.UserHandle, int);
|
||||
method @Deprecated public boolean isOwner();
|
||||
method public boolean isSystem();
|
||||
method public static int myUserId();
|
||||
|
||||
@@ -294,6 +294,19 @@ public final class UserHandle implements Parcelable {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the uid that is composed from the userHandle and the appId.
|
||||
*
|
||||
* @param userHandle the UserHandle to compose the uid
|
||||
* @param appId the AppId to compose the uid
|
||||
* @return the uid that is composed from the userHandle and the appId
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static int getUid(@NonNull UserHandle userHandle, @AppIdInt int appId) {
|
||||
return getUid(userHandle.getIdentifier(), appId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the app id (or base uid) for a given uid, stripping out the user id from it.
|
||||
* @hide
|
||||
|
||||
@@ -265,7 +265,10 @@ public class PermissionMonitor implements PackageManagerInternal.PackageListObse
|
||||
for (Entry<Integer, Boolean> app : apps.entrySet()) {
|
||||
List<Integer> list = app.getValue() ? system : network;
|
||||
for (int user : users) {
|
||||
list.add(UserHandle.getUid(user, app.getKey()));
|
||||
final UserHandle handle = UserHandle.of(user);
|
||||
if (handle == null) continue;
|
||||
|
||||
list.add(UserHandle.getUid(handle, app.getKey()));
|
||||
}
|
||||
}
|
||||
try {
|
||||
@@ -550,7 +553,10 @@ public class PermissionMonitor implements PackageManagerInternal.PackageListObse
|
||||
for (UidRange range : ranges) {
|
||||
for (int userId = range.getStartUser(); userId <= range.getEndUser(); userId++) {
|
||||
for (int appId : appIds) {
|
||||
final int uid = UserHandle.getUid(userId, appId);
|
||||
final UserHandle handle = UserHandle.of(userId);
|
||||
if (handle == null) continue;
|
||||
|
||||
final int uid = UserHandle.getUid(handle, appId);
|
||||
if (range.contains(uid)) {
|
||||
result.add(uid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user