Make UM.isUserVisible() and UM.getVisibleUsers() @SystemApis.
These APIs are "similar" to AM.getCurrentUser() which is also @SystemApi. Besides, regular apps shouldn't care about users. Test: m update-api Test: atest CtsMultiUserTestCases:android.multiuser.cts.UserManagerTest MultipleUsersOnMultipleDisplaysTest Fixes: 259423113 Change-Id: I71a5bcefdb719cee632936faf8bdf87386356452
This commit is contained in:
@@ -32633,7 +32633,6 @@ package android.os {
|
||||
method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.QUERY_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.content.pm.UserProperties getUserProperties(@NonNull android.os.UserHandle);
|
||||
method public android.os.Bundle getUserRestrictions();
|
||||
method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle);
|
||||
method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
|
||||
method public boolean hasUserRestriction(String);
|
||||
method public boolean isDemoUser();
|
||||
method public static boolean isHeadlessSystemUserMode();
|
||||
@@ -32647,7 +32646,6 @@ package android.os {
|
||||
method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunningOrStopping(android.os.UserHandle);
|
||||
method public boolean isUserUnlocked();
|
||||
method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserUnlocked(android.os.UserHandle);
|
||||
method public boolean isUserVisible();
|
||||
method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.MODIFY_QUIET_MODE"}, conditional=true) public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle);
|
||||
method public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle, int);
|
||||
method @Deprecated public boolean setRestrictionsChallenge(String);
|
||||
|
||||
@@ -10022,6 +10022,7 @@ package android.os {
|
||||
method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public int getUserRestrictionSource(String, android.os.UserHandle);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
|
||||
method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
|
||||
method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
|
||||
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean hasUserRestrictionForUser(@NonNull String, @NonNull android.os.UserHandle);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isAdminUser();
|
||||
@@ -10039,6 +10040,7 @@ package android.os {
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
|
||||
method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public boolean isUserVisible();
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
|
||||
|
||||
@@ -2951,8 +2951,15 @@ public class UserManager {
|
||||
* </ol>
|
||||
*
|
||||
* @return whether the user is visible at the moment, as defined above.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@UserHandleAware
|
||||
@RequiresPermission(anyOf = {
|
||||
"android.permission.INTERACT_ACROSS_USERS",
|
||||
"android.permission.MANAGE_USERS"
|
||||
})
|
||||
public boolean isUserVisible() {
|
||||
try {
|
||||
return mService.isUserVisible(mUserId);
|
||||
@@ -2965,9 +2972,14 @@ public class UserManager {
|
||||
* Gets the visible users (as defined by {@link #isUserVisible()}.
|
||||
*
|
||||
* @return visible users at the moment.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@RequiresPermission(anyOf = {Manifest.permission.MANAGE_USERS,
|
||||
Manifest.permission.INTERACT_ACROSS_USERS})
|
||||
@SystemApi
|
||||
@RequiresPermission(anyOf = {
|
||||
"android.permission.INTERACT_ACROSS_USERS",
|
||||
"android.permission.MANAGE_USERS"
|
||||
})
|
||||
public @NonNull Set<UserHandle> getVisibleUsers() {
|
||||
ArraySet<UserHandle> result = new ArraySet<>();
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user