diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-02-14 02:09:18 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-02-14 02:09:18 +0000 |
commit | d43fb69c9eda7421da37d2c7d57a23add32909fb (patch) | |
tree | 03aabf6efc3f9651c08ede91d0b09fc33ae957fc | |
parent | a5988a1ee011a0d373c072eda87940bc0915bf82 (diff) | |
parent | 7e40b0d68217dd2bd0c6cfc25df6a860d989b555 (diff) | |
download | platform_external_robolectric-shadows-d43fb69c9eda7421da37d2c7d57a23add32909fb.tar.gz platform_external_robolectric-shadows-d43fb69c9eda7421da37d2c7d57a23add32909fb.tar.bz2 platform_external_robolectric-shadows-d43fb69c9eda7421da37d2c7d57a23add32909fb.zip |
Merge "Copy getUserSerialNumber from google3."
-rw-r--r-- | shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java index d4cc6ef32..9464c2f77 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowUserManager.java @@ -10,6 +10,7 @@ import static android.os.Build.VERSION_CODES.R; import static org.robolectric.shadow.api.Shadow.directlyOn; import android.Manifest.permission; +import android.annotation.UserIdInt; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.UserInfo; @@ -174,8 +175,8 @@ public class ShadowUserManager { protected boolean isManagedProfile() { if (enforcePermissions && !hasManageUsersPermission()) { throw new SecurityException( - "You need MANAGE_USERS permission to: check if specified user a " + - "managed profile outside your profile group"); + "You need MANAGE_USERS permission to: check if specified user a " + + "managed profile outside your profile group"); } return managedProfile; } @@ -277,6 +278,16 @@ public class ShadowUserManager { return userProfiles.inverse().get(serialNumber); } + /** + * @see #addProfile(int, int, String, int) + * @see #addUser(int, String, int) + */ + @Implementation + protected int getUserSerialNumber(@UserIdInt int userHandle) { + Long result = userProfiles.get(UserHandle.of(userHandle)); + return result != null ? result.intValue() : -1; + } + private boolean hasManageUsersPermission() { return context.getPackageManager().checkPermission(permission.MANAGE_USERS, context.getPackageName()) == PackageManager.PERMISSION_GRANTED; } @@ -426,8 +437,8 @@ public class ShadowUserManager { UserState state = userState.get(handle.getIdentifier()); if (state == UserState.STATE_RUNNING_LOCKED - || state == UserState.STATE_RUNNING_UNLOCKED - || state == UserState.STATE_RUNNING_UNLOCKING) { + || state == UserState.STATE_RUNNING_UNLOCKED + || state == UserState.STATE_RUNNING_UNLOCKING) { return true; } else { return false; @@ -443,9 +454,9 @@ public class ShadowUserManager { UserState state = userState.get(handle.getIdentifier()); if (state == UserState.STATE_RUNNING_LOCKED - || state == UserState.STATE_RUNNING_UNLOCKED - || state == UserState.STATE_RUNNING_UNLOCKING - || state == UserState.STATE_STOPPING) { + || state == UserState.STATE_RUNNING_UNLOCKED + || state == UserState.STATE_RUNNING_UNLOCKING + || state == UserState.STATE_STOPPING) { return true; } else { return false; @@ -533,16 +544,16 @@ public class ShadowUserManager { */ public void addUser(int id, String name, int flags) { UserHandle userHandle = - id == UserHandle.USER_SYSTEM ? Process.myUserHandle() : new UserHandle(id); + id == UserHandle.USER_SYSTEM ? Process.myUserHandle() : new UserHandle(id); addUserProfile(userHandle); setSerialNumberForUser(userHandle, (long) id); profiles.putIfAbsent(id, new ArrayList<>()); userInfoMap.put(id, new UserInfo(id, name, flags)); userPidMap.put( - id, - id == UserHandle.USER_SYSTEM - ? Process.myUid() - : id * UserHandle.PER_USER_RANGE + ShadowProcess.getRandomApplicationUid()); + id, + id == UserHandle.USER_SYSTEM + ? Process.myUid() + : id * UserHandle.PER_USER_RANGE + ShadowProcess.getRandomApplicationUid()); } @Resetter @@ -554,4 +565,4 @@ public class ShadowUserManager { userPidMap.put(UserHandle.USER_SYSTEM, Process.myUid()); } } -} +}
\ No newline at end of file |