Loading core/java/android/net/NetworkCapabilities.java +7 −0 Original line number Diff line number Diff line Loading @@ -947,12 +947,19 @@ public final class NetworkCapabilities implements Parcelable { * <p>The administrator UIDs are set by network agents. * * @param administratorUids the UIDs to be set as administrators of this Network. * @throws IllegalArgumentException if duplicate UIDs are contained in administratorUids * @see #mAdministratorUids * @hide */ @NonNull public NetworkCapabilities setAdministratorUids(@NonNull final int[] administratorUids) { mAdministratorUids = Arrays.copyOf(administratorUids, administratorUids.length); Arrays.sort(mAdministratorUids); for (int i = 0; i < mAdministratorUids.length - 1; i++) { if (mAdministratorUids[i] >= mAdministratorUids[i + 1]) { throw new IllegalArgumentException("All administrator UIDs must be unique"); } } return this; } Loading tests/net/common/java/android/net/NetworkCapabilitiesTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -441,6 +441,23 @@ public class NetworkCapabilitiesTest { return range; } @Test public void testSetAdministratorUids() { NetworkCapabilities nc = new NetworkCapabilities().setAdministratorUids(new int[] {2, 1, 3}); assertArrayEquals(new int[] {1, 2, 3}, nc.getAdministratorUids()); } @Test public void testSetAdministratorUidsWithDuplicates() { try { new NetworkCapabilities().setAdministratorUids(new int[] {1, 1}); fail("Expected IllegalArgumentException for duplicate uids"); } catch (IllegalArgumentException expected) { } } @Test public void testCombineCapabilities() { NetworkCapabilities nc1 = new NetworkCapabilities(); Loading Loading
core/java/android/net/NetworkCapabilities.java +7 −0 Original line number Diff line number Diff line Loading @@ -947,12 +947,19 @@ public final class NetworkCapabilities implements Parcelable { * <p>The administrator UIDs are set by network agents. * * @param administratorUids the UIDs to be set as administrators of this Network. * @throws IllegalArgumentException if duplicate UIDs are contained in administratorUids * @see #mAdministratorUids * @hide */ @NonNull public NetworkCapabilities setAdministratorUids(@NonNull final int[] administratorUids) { mAdministratorUids = Arrays.copyOf(administratorUids, administratorUids.length); Arrays.sort(mAdministratorUids); for (int i = 0; i < mAdministratorUids.length - 1; i++) { if (mAdministratorUids[i] >= mAdministratorUids[i + 1]) { throw new IllegalArgumentException("All administrator UIDs must be unique"); } } return this; } Loading
tests/net/common/java/android/net/NetworkCapabilitiesTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -441,6 +441,23 @@ public class NetworkCapabilitiesTest { return range; } @Test public void testSetAdministratorUids() { NetworkCapabilities nc = new NetworkCapabilities().setAdministratorUids(new int[] {2, 1, 3}); assertArrayEquals(new int[] {1, 2, 3}, nc.getAdministratorUids()); } @Test public void testSetAdministratorUidsWithDuplicates() { try { new NetworkCapabilities().setAdministratorUids(new int[] {1, 1}); fail("Expected IllegalArgumentException for duplicate uids"); } catch (IllegalArgumentException expected) { } } @Test public void testCombineCapabilities() { NetworkCapabilities nc1 = new NetworkCapabilities(); Loading