diff options
| author | Alexandra Gherghina <alexgherghina@google.com> | 2014-06-13 09:51:33 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-06-10 21:18:16 +0000 |
| commit | 19b8fe225dfd669406ee3e172747bd405ce49b1f (patch) | |
| tree | 602bedd92f0f75ea4071ebcd4da0764212ef7931 /core/java/android/os/UserHandle.java | |
| parent | 63dd3bb3602bc00557680432b08b49a5a15bcdb7 (diff) | |
| parent | c1cf161af036e0f337b58ef0739a8ff2e42f01e7 (diff) | |
| download | frameworks_base-19b8fe225dfd669406ee3e172747bd405ce49b1f.zip frameworks_base-19b8fe225dfd669406ee3e172747bd405ce49b1f.tar.gz frameworks_base-19b8fe225dfd669406ee3e172747bd405ce49b1f.tar.bz2 | |
Merge "Modifies APIs for retrieving managed profile accounts."
Diffstat (limited to 'core/java/android/os/UserHandle.java')
| -rw-r--r-- | core/java/android/os/UserHandle.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java index 914c170..afbf983 100644 --- a/core/java/android/os/UserHandle.java +++ b/core/java/android/os/UserHandle.java @@ -16,7 +16,10 @@ package android.os; +import android.util.SparseArray; + import java.io.PrintWriter; +import java.util.HashMap; /** * Representation of a user on the device. @@ -66,6 +69,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. @@ -124,6 +129,18 @@ public final class UserHandle implements Parcelable { return getUserId(Binder.getCallingUid()); } + /** @hide */ + public static final 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; + } + /** * Returns the uid that is composed from the userId and the appId. * @hide |
