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