@Implements(value=android.os.UserManager.class, minSdk=17) public class ShadowUserManager extends java.lang.Object
Robolectric implementation of UserManager
.
Modifier and Type | Class and Description |
---|---|
static class |
ShadowUserManager.UserState
Describes the current state of the user.
|
Constructor and Description |
---|
ShadowUserManager() |
Modifier and Type | Method and Description |
---|---|
protected void |
__constructor__(android.content.Context context,
android.os.IUserManager service) |
long |
addUserProfile(android.os.UserHandle userHandle)
Adds a profile associated for the user that the calling process is running on.
|
void |
clearUserRestrictions(android.os.UserHandle userHandle)
Removes all user restrictions set of a user identified by
userHandle . |
void |
enforcePermissionChecks(boolean enforcePermissions) |
protected android.os.Bundle |
getApplicationRestrictions(java.lang.String packageName)
Compared to real Android, there is no check that the package name matches the application package name and the method returns instantly.
|
protected long |
getSerialNumberForUser(android.os.UserHandle userHandle) |
protected android.os.UserHandle |
getUserForSerialNumber(long serialNumber) |
protected java.util.List<android.os.UserHandle> |
getUserProfiles() |
protected android.os.Bundle |
getUserRestrictions(android.os.UserHandle userHandle) |
protected java.util.List<android.content.pm.UserInfo> |
getUsers() |
protected boolean |
hasUserRestriction(java.lang.String restrictionKey,
android.os.UserHandle userHandle) |
protected boolean |
isDemoUser() |
protected boolean |
isManagedProfile()
If permissions are enforced (see
enforcePermissionChecks(boolean) ) and the application doesn’t have the Manifest.permission.MANAGE_USERS permission, throws a SecurityManager exception. |
protected boolean |
isUserRunning(android.os.UserHandle handle) |
protected boolean |
isUserRunningOrStopping(android.os.UserHandle handle) |
protected boolean |
isUserUnlocked() |
void |
setApplicationRestrictions(java.lang.String packageName,
android.os.Bundle restrictions)
Sets the value returned by
UserManager.getApplicationRestrictions(String) . |
void |
setIsDemoUser(boolean isDemoUser)
Sets that the current user is a demo user; controls the return value of
UserManager.isDemoUser() . |
void |
setManagedProfile(boolean managedProfile)
Setter for
UserManager.isManagedProfile() . |
void |
setSerialNumberForUser(android.os.UserHandle userHandle,
long serialNumber)
Deprecated.
prefer
addUserProfile(UserHandle) to ensure consistency of profiles known to the UserManager . Furthermore, calling this method for the current user, i.e: Process.myUserHandle() is no longer necessary as this user is always known to UserManager and has a preassigned serial number. |
void |
setUserRestriction(android.os.UserHandle userHandle,
java.lang.String restrictionKey,
boolean value) |
void |
setUserState(android.os.UserHandle handle,
ShadowUserManager.UserState state)
Sets the current state for a given user, see
UserManager.isUserRunning(UserHandle) and UserManager.isUserRunningOrStopping(UserHandle) |
void |
setUserUnlocked(boolean userUnlocked)
Setter for
UserManager.isUserUnlocked() |
@Implementation protected void __constructor__(android.content.Context context, android.os.IUserManager service)
@Implementation(minSdk=18) protected android.os.Bundle getApplicationRestrictions(java.lang.String packageName)
Compared to real Android, there is no check that the package name matches the application package name and the method returns instantly.
public void setApplicationRestrictions(java.lang.String packageName, android.os.Bundle restrictions)
Sets the value returned by UserManager.getApplicationRestrictions(String)
.
public long addUserProfile(android.os.UserHandle userHandle)
Adds a profile associated for the user that the calling process is running on.
The user is assigned an arbitrary unique serial number.
@Implementation(minSdk=21) protected java.util.List<android.os.UserHandle> getUserProfiles()
@Implementation(minSdk=24) protected boolean isUserUnlocked()
public void setUserUnlocked(boolean userUnlocked)
Setter for UserManager.isUserUnlocked()
@Implementation(minSdk=21) protected boolean isManagedProfile()
If permissions are enforced (see enforcePermissionChecks(boolean)
) and the application doesn’t have the Manifest.permission.MANAGE_USERS
permission, throws a SecurityManager
exception.
false
by default, or the value specified via setManagedProfile(boolean)
enforcePermissionChecks(boolean)
,
setManagedProfile(boolean)
public void enforcePermissionChecks(boolean enforcePermissions)
public void setManagedProfile(boolean managedProfile)
Setter for UserManager.isManagedProfile()
.
@Implementation(minSdk=21) protected boolean hasUserRestriction(java.lang.String restrictionKey, android.os.UserHandle userHandle)
public void setUserRestriction(android.os.UserHandle userHandle, java.lang.String restrictionKey, boolean value)
public void clearUserRestrictions(android.os.UserHandle userHandle)
Removes all user restrictions set of a user identified by userHandle
.
@Implementation(minSdk=18) protected android.os.Bundle getUserRestrictions(android.os.UserHandle userHandle)
@Implementation protected long getSerialNumberForUser(android.os.UserHandle userHandle)
addUserProfile(UserHandle)
@Deprecated public void setSerialNumberForUser(android.os.UserHandle userHandle, long serialNumber)
addUserProfile(UserHandle)
to ensure consistency of profiles known to the UserManager
. Furthermore, calling this method for the current user, i.e: Process.myUserHandle()
is no longer necessary as this user is always known to UserManager and has a preassigned serial number.@Implementation protected android.os.UserHandle getUserForSerialNumber(long serialNumber)
addUserProfile(UserHandle)
@Implementation(minSdk=25) protected boolean isDemoUser()
false
by default, or the value specified via setIsDemoUser(boolean)
public void setIsDemoUser(boolean isDemoUser)
Sets that the current user is a demo user; controls the return value of UserManager.isDemoUser()
.
@Implementation protected boolean isUserRunning(android.os.UserHandle handle)
setUserState(UserHandle, UserState)
@Implementation protected boolean isUserRunningOrStopping(android.os.UserHandle handle)
setUserState(UserHandle, UserState)
public void setUserState(android.os.UserHandle handle, ShadowUserManager.UserState state)
Sets the current state for a given user, see UserManager.isUserRunning(UserHandle)
and UserManager.isUserRunningOrStopping(UserHandle)
@Implementation protected java.util.List<android.content.pm.UserInfo> getUsers()