Merge "Deprecated UserManager.getUsers(excludeDying) / added getAliveUsers()"
This commit is contained in:
commit
c0b44fca8b
@ -3172,28 +3172,55 @@ public class UserManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns information for all users on this device, including ones marked for deletion.
|
||||
* To retrieve only users that are alive, use {@link #getUsers(boolean)}.
|
||||
* Returns information for all fully-created users on this device, including ones marked for
|
||||
* deletion.
|
||||
*
|
||||
* <p>To retrieve only users that are not marked for deletion, use {@link #getAliveUsers()}.
|
||||
*
|
||||
* <p>To retrieve *all* users (including partial and pre-created users), use
|
||||
* {@link #getUsers(boolean, boolean, boolean)) getUsers(false, false, false)}.
|
||||
*
|
||||
* <p>To retrieve a more specific list of users, use
|
||||
* {@link #getUsers(boolean, boolean, boolean)}.
|
||||
*
|
||||
* @return the list of users that were created.
|
||||
*
|
||||
* @return the list of users that exist on the device.
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
@RequiresPermission(android.Manifest.permission.MANAGE_USERS)
|
||||
public List<UserInfo> getUsers() {
|
||||
return getUsers(/* excludeDying= */ false);
|
||||
return getUsers(/*excludePartial= */ true, /* excludeDying= */ false,
|
||||
/* excludePreCreated= */ true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns information for all users on this device. Requires
|
||||
* {@link android.Manifest.permission#MANAGE_USERS} permission.
|
||||
* Returns information for all "usable" users on this device (i.e, it excludes users that are
|
||||
* marked for deletion, pre-created users, etc...).
|
||||
*
|
||||
* <p>To retrieve all fully-created users, use {@link #getUsers()}.
|
||||
*
|
||||
* <p>To retrieve a more specific list of users, use
|
||||
* {@link #getUsers(boolean, boolean, boolean)}.
|
||||
*
|
||||
* @param excludeDying specify if the list should exclude users being
|
||||
* removed.
|
||||
* @return the list of users that were created.
|
||||
* @hide
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.MANAGE_USERS)
|
||||
public @NonNull List<UserInfo> getAliveUsers() {
|
||||
return getUsers(/*excludePartial= */ true, /* excludeDying= */ true,
|
||||
/* excludePreCreated= */ true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #getAliveUsers()} for {@code getUsers(true)}, or
|
||||
* {@link #getUsers()} for @code getUsers(false)}.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@Deprecated
|
||||
@UnsupportedAppUsage
|
||||
@RequiresPermission(android.Manifest.permission.MANAGE_USERS)
|
||||
public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
|
||||
return getUsers(/*excludePartial= */ true, excludeDying,
|
||||
/* excludePreCreated= */ true);
|
||||
|
@ -174,7 +174,7 @@ public class PermissionMonitor implements PackageManagerInternal.PackageListObse
|
||||
netdPermsUids.put(uid, netdPermsUids.get(uid) | otherNetdPerms);
|
||||
}
|
||||
|
||||
List<UserInfo> users = mUserManager.getUsers(true); // exclude dying users
|
||||
List<UserInfo> users = mUserManager.getAliveUsers();
|
||||
if (users != null) {
|
||||
for (UserInfo user : users) {
|
||||
mUsers.add(user.id);
|
||||
|
@ -1500,7 +1500,7 @@ public class Vpn {
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
List<UserInfo> users;
|
||||
try {
|
||||
users = UserManager.get(mContext).getUsers(true);
|
||||
users = UserManager.get(mContext).getAliveUsers();
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(token);
|
||||
}
|
||||
|
@ -1233,7 +1233,7 @@ public class ConnectivityServiceTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
when(mMetricsService.defaultNetworkMetrics()).thenReturn(mDefaultNetworkMetrics);
|
||||
|
||||
when(mUserManager.getUsers(eq(true))).thenReturn(
|
||||
when(mUserManager.getAliveUsers()).thenReturn(
|
||||
Arrays.asList(new UserInfo[] {
|
||||
new UserInfo(VPN_USER, "", 0),
|
||||
}));
|
||||
|
@ -123,7 +123,7 @@ public class PermissionMonitorTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
when(mContext.getSystemService(eq(Context.USER_SERVICE))).thenReturn(mUserManager);
|
||||
when(mUserManager.getUsers(eq(true))).thenReturn(
|
||||
when(mUserManager.getAliveUsers()).thenReturn(
|
||||
Arrays.asList(new UserInfo[] {
|
||||
new UserInfo(MOCK_USER1, "", 0),
|
||||
new UserInfo(MOCK_USER2, "", 0),
|
||||
|
@ -1325,15 +1325,14 @@ public class VpnTest {
|
||||
* @see UserManagerService#getUsers(boolean)
|
||||
*/
|
||||
doAnswer(invocation -> {
|
||||
final boolean excludeDying = (boolean) invocation.getArguments()[0];
|
||||
final ArrayList<UserInfo> result = new ArrayList<>(users.length);
|
||||
for (UserInfo ui : users) {
|
||||
if (!excludeDying || (ui.isEnabled() && !ui.partial)) {
|
||||
if (ui.isEnabled() && !ui.partial) {
|
||||
result.add(ui);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}).when(mUserManager).getUsers(anyBoolean());
|
||||
}).when(mUserManager).getAliveUsers();
|
||||
|
||||
doAnswer(invocation -> {
|
||||
final int id = (int) invocation.getArguments()[0];
|
||||
|
Loading…
x
Reference in New Issue
Block a user