Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61fde3be authored by Chiachang Wang's avatar Chiachang Wang Committed by Automerger Merge Worker
Browse files

Merge "Create new system API in UserHandle to get uid" am: af649431 am:...

Merge "Create new system API in UserHandle to get uid" am: af649431 am: 8927357b am: 6ec462de am: ae91051e

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1573942

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I12b6340d1870469e415011139762e745abf955ee
parents 5b40d5e2 ae91051e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8644,6 +8644,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();
+13 −0
Original line number Diff line number Diff line
@@ -325,6 +325,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
+8 −2
Original line number Diff line number Diff line
@@ -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);
                    }