summaryrefslogtreecommitdiffstats
path: root/core/java/android/os/UserHandle.java
diff options
context:
space:
mode:
authorAlexandra Gherghina <alexgherghina@google.com>2014-06-13 09:51:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-06-10 21:18:16 +0000
commit19b8fe225dfd669406ee3e172747bd405ce49b1f (patch)
tree602bedd92f0f75ea4071ebcd4da0764212ef7931 /core/java/android/os/UserHandle.java
parent63dd3bb3602bc00557680432b08b49a5a15bcdb7 (diff)
parentc1cf161af036e0f337b58ef0739a8ff2e42f01e7 (diff)
downloadframeworks_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.java17
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