Loading api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -9942,6 +9942,7 @@ package android.content.pm { method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String); method public abstract boolean isSafeMode(); method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int); method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(android.content.Intent, int, android.os.UserHandle); method public abstract java.util.List<android.content.pm.ProviderInfo> queryContentProviders(java.lang.String, int, int); method public abstract java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(java.lang.String, int); method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int); Loading Loading @@ -30773,6 +30774,7 @@ package android.os { method public deprecated boolean isOwner(); method public boolean isSystem(); method public static int myUserId(); method public static android.os.UserHandle of(int); method public static android.os.UserHandle readFromParcel(android.os.Parcel); method public void writeToParcel(android.os.Parcel, int); method public static void writeToParcel(android.os.UserHandle, android.os.Parcel); Loading @@ -30787,6 +30789,7 @@ package android.os { method public android.os.PersistableBundle getSeedAccountOptions(); method public java.lang.String getSeedAccountType(); method public long getSerialNumberForUser(android.os.UserHandle); method public long[] getSerialNumbersOfUsers(boolean); method public int getUserCount(); method public long getUserCreationTime(android.os.UserHandle); method public android.os.UserHandle getUserForSerialNumber(long); core/java/android/content/pm/PackageManager.java +11 −1 Original line number Diff line number Diff line Loading @@ -3627,7 +3627,7 @@ public abstract class PackageManager { * {@link #MATCH_ENCRYPTION_AWARE_AND_UNAWARE}, {@link #MATCH_ENCRYPTION_UNAWARE}, * {@link #MATCH_SYSTEM_ONLY}, {@link #MATCH_UNINSTALLED_PACKAGES} * to modify the data returned. * @param userId The userId of the user being queried. * @param userHandle UserHandle of the user being queried. * * @return Returns a List of ResolveInfo objects containing one entry for each * matching receiver, ordered from best to worst. If there are no matching Loading @@ -3648,9 +3648,19 @@ public abstract class PackageManager { * * @hide */ @SystemApi public List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, @ResolveInfoFlags int flags, UserHandle userHandle) { return queryBroadcastReceiversAsUser(intent, flags, userHandle.getIdentifier()); } /** * @hide */ public abstract List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, @ResolveInfoFlags int flags, @UserIdInt int userId); /** {@hide} */ @Deprecated public List<ResolveInfo> queryBroadcastReceivers(Intent intent, Loading core/java/android/os/UserHandle.java +1 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ public final class UserHandle implements Parcelable { } /** @hide */ @SystemApi public static UserHandle of(@UserIdInt int userId) { return userId == USER_SYSTEM ? SYSTEM : new UserHandle(userId); } Loading core/java/android/os/UserManager.java +24 −1 Original line number Diff line number Diff line Loading @@ -1362,7 +1362,7 @@ public class UserManager { /** * Returns information for all users on this device. * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. * @return the list of users that were created. * @return the list of users that exist on the device. * @hide */ public List<UserInfo> getUsers() { Loading @@ -1374,6 +1374,29 @@ public class UserManager { } } /** * Returns serial numbers of all users on this device. * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. * * @param excludeDying specify if the list should exclude users being removed. * @return the list of serial numbers of users that exist on the device. * @hide */ @SystemApi public long[] getSerialNumbersOfUsers(boolean excludeDying) { try { List<UserInfo> users = mService.getUsers(excludeDying); long[] result = new long[users.size()]; for (int i = 0; i < result.length; i++) { result[i] = users.get(i).serialNumber; } return result; } catch (RemoteException re) { Log.w(TAG, "Could not get users list", re); return null; } } /** * @return the user's account name, null if not found. * @hide Loading services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -26,7 +26,10 @@ import android.os.UserHandle; import android.os.UserManager; import android.test.AndroidTestCase; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** Test {@link UserManager} functionality. */ Loading Loading @@ -196,6 +199,17 @@ public class UserManagerTest extends AndroidTestCase { assertEquals(user2.id, mUserManager.getUserHandle(serialNumber2)); } public void testGetSerialNumbersOfUsers() { UserInfo user1 = createUser("User 1", 0); UserInfo user2 = createUser("User 2", 0); long[] serialNumbersOfUsers = mUserManager.getSerialNumbersOfUsers(false); String errMsg = "Array " + Arrays.toString(serialNumbersOfUsers) + " should contain "; assertTrue(errMsg + user1.serialNumber, ArrayUtils.contains(serialNumbersOfUsers, user1.serialNumber)); assertTrue(errMsg + user2.serialNumber, ArrayUtils.contains(serialNumbersOfUsers, user2.serialNumber)); } public void testMaxUsers() { int N = UserManager.getMaxSupportedUsers(); int count = mUserManager.getUsers().size(); Loading Loading
api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -9942,6 +9942,7 @@ package android.content.pm { method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String); method public abstract boolean isSafeMode(); method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int); method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(android.content.Intent, int, android.os.UserHandle); method public abstract java.util.List<android.content.pm.ProviderInfo> queryContentProviders(java.lang.String, int, int); method public abstract java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(java.lang.String, int); method public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int); Loading Loading @@ -30773,6 +30774,7 @@ package android.os { method public deprecated boolean isOwner(); method public boolean isSystem(); method public static int myUserId(); method public static android.os.UserHandle of(int); method public static android.os.UserHandle readFromParcel(android.os.Parcel); method public void writeToParcel(android.os.Parcel, int); method public static void writeToParcel(android.os.UserHandle, android.os.Parcel); Loading @@ -30787,6 +30789,7 @@ package android.os { method public android.os.PersistableBundle getSeedAccountOptions(); method public java.lang.String getSeedAccountType(); method public long getSerialNumberForUser(android.os.UserHandle); method public long[] getSerialNumbersOfUsers(boolean); method public int getUserCount(); method public long getUserCreationTime(android.os.UserHandle); method public android.os.UserHandle getUserForSerialNumber(long);
core/java/android/content/pm/PackageManager.java +11 −1 Original line number Diff line number Diff line Loading @@ -3627,7 +3627,7 @@ public abstract class PackageManager { * {@link #MATCH_ENCRYPTION_AWARE_AND_UNAWARE}, {@link #MATCH_ENCRYPTION_UNAWARE}, * {@link #MATCH_SYSTEM_ONLY}, {@link #MATCH_UNINSTALLED_PACKAGES} * to modify the data returned. * @param userId The userId of the user being queried. * @param userHandle UserHandle of the user being queried. * * @return Returns a List of ResolveInfo objects containing one entry for each * matching receiver, ordered from best to worst. If there are no matching Loading @@ -3648,9 +3648,19 @@ public abstract class PackageManager { * * @hide */ @SystemApi public List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, @ResolveInfoFlags int flags, UserHandle userHandle) { return queryBroadcastReceiversAsUser(intent, flags, userHandle.getIdentifier()); } /** * @hide */ public abstract List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, @ResolveInfoFlags int flags, @UserIdInt int userId); /** {@hide} */ @Deprecated public List<ResolveInfo> queryBroadcastReceivers(Intent intent, Loading
core/java/android/os/UserHandle.java +1 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ public final class UserHandle implements Parcelable { } /** @hide */ @SystemApi public static UserHandle of(@UserIdInt int userId) { return userId == USER_SYSTEM ? SYSTEM : new UserHandle(userId); } Loading
core/java/android/os/UserManager.java +24 −1 Original line number Diff line number Diff line Loading @@ -1362,7 +1362,7 @@ public class UserManager { /** * Returns information for all users on this device. * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. * @return the list of users that were created. * @return the list of users that exist on the device. * @hide */ public List<UserInfo> getUsers() { Loading @@ -1374,6 +1374,29 @@ public class UserManager { } } /** * Returns serial numbers of all users on this device. * Requires {@link android.Manifest.permission#MANAGE_USERS} permission. * * @param excludeDying specify if the list should exclude users being removed. * @return the list of serial numbers of users that exist on the device. * @hide */ @SystemApi public long[] getSerialNumbersOfUsers(boolean excludeDying) { try { List<UserInfo> users = mService.getUsers(excludeDying); long[] result = new long[users.size()]; for (int i = 0; i < result.length; i++) { result[i] = users.get(i).serialNumber; } return result; } catch (RemoteException re) { Log.w(TAG, "Could not get users list", re); return null; } } /** * @return the user's account name, null if not found. * @hide Loading
services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -26,7 +26,10 @@ import android.os.UserHandle; import android.os.UserManager; import android.test.AndroidTestCase; import com.android.internal.util.ArrayUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** Test {@link UserManager} functionality. */ Loading Loading @@ -196,6 +199,17 @@ public class UserManagerTest extends AndroidTestCase { assertEquals(user2.id, mUserManager.getUserHandle(serialNumber2)); } public void testGetSerialNumbersOfUsers() { UserInfo user1 = createUser("User 1", 0); UserInfo user2 = createUser("User 2", 0); long[] serialNumbersOfUsers = mUserManager.getSerialNumbersOfUsers(false); String errMsg = "Array " + Arrays.toString(serialNumbersOfUsers) + " should contain "; assertTrue(errMsg + user1.serialNumber, ArrayUtils.contains(serialNumbersOfUsers, user1.serialNumber)); assertTrue(errMsg + user2.serialNumber, ArrayUtils.contains(serialNumbersOfUsers, user2.serialNumber)); } public void testMaxUsers() { int N = UserManager.getMaxSupportedUsers(); int count = mUserManager.getUsers().size(); Loading