aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-02-14 02:09:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-14 02:09:18 +0000
commitd43fb69c9eda7421da37d2c7d57a23add32909fb (patch)
tree03aabf6efc3f9651c08ede91d0b09fc33ae957fc
parenta5988a1ee011a0d373c072eda87940bc0915bf82 (diff)
parent7e40b0d68217dd2bd0c6cfc25df6a860d989b555 (diff)
downloadplatform_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.java37
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