diff options
| author | Bart Sears <bsears@google.com> | 2015-09-26 01:58:59 +0000 |
|---|---|---|
| committer | Bart Sears <bsears@google.com> | 2015-09-26 01:58:59 +0000 |
| commit | 9249a9097707bb57ae0a7d114eff54bc82ad462d (patch) | |
| tree | 628479e3471dec81d3546b0ff49ba07e5a7180e3 /core/java/android/os/UserHandle.java | |
| parent | 737b216b5c28f7d7162f219136d4e8a9eb1a486b (diff) | |
Revert "Added --restricted option for create-user command"
This reverts commit 737b216b5c28f7d7162f219136d4e8a9eb1a486b.
Change-Id: I4c43967933bb2e46cdb8ad6e643d7037d722cab2
Diffstat (limited to 'core/java/android/os/UserHandle.java')
| -rw-r--r-- | core/java/android/os/UserHandle.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java index 796addc4c3bc..213e0831c0f2 100644 --- a/core/java/android/os/UserHandle.java +++ b/core/java/android/os/UserHandle.java @@ -17,6 +17,7 @@ package android.os; import android.annotation.SystemApi; +import android.util.SparseArray; import java.io.PrintWriter; @@ -82,6 +83,8 @@ public final class UserHandle implements Parcelable { final int mHandle; + private static final SparseArray<UserHandle> userHandles = new SparseArray<UserHandle>(); + /** * Checks to see if the user id is the same for the two uids, i.e., they belong to the same * user. @@ -141,8 +144,15 @@ public final class UserHandle implements Parcelable { } /** @hide */ - public static UserHandle of(int userId) { - return userId == USER_SYSTEM ? SYSTEM : new UserHandle(userId); + public static UserHandle getCallingUserHandle() { + int userId = getUserId(Binder.getCallingUid()); + UserHandle userHandle = userHandles.get(userId); + // Intentionally not synchronized to save time + if (userHandle == null) { + userHandle = new UserHandle(userId); + userHandles.put(userId, userHandle); + } + return userHandle; } /** |
