Merge "Use int array for included and excluded uids"

This commit is contained in:
Sooraj Sasindran
2022-03-16 17:56:08 +00:00
committed by Gerrit Code Review
7 changed files with 160 additions and 79 deletions

View File

@@ -13870,12 +13870,13 @@ public class ConnectivityServiceTest {
ProfileNetworkPreference profileNetworkPreference) {
final Set<UidRange> uidRangeSet;
UidRange range = UidRange.createForUser(handle);
if (profileNetworkPreference.getIncludedUids().size() != 0) {
uidRangeSet = UidRangeUtils.convertListToUidRange(
if (profileNetworkPreference.getIncludedUids().length != 0) {
uidRangeSet = UidRangeUtils.convertArrayToUidRange(
profileNetworkPreference.getIncludedUids());
} else if (profileNetworkPreference.getExcludedUids().size() != 0) {
} else if (profileNetworkPreference.getExcludedUids().length != 0) {
uidRangeSet = UidRangeUtils.removeRangeSetFromUidRange(
range, UidRangeUtils.convertListToUidRange(
range, UidRangeUtils.convertArrayToUidRange(
profileNetworkPreference.getExcludedUids()));
} else {
uidRangeSet = new ArraySet<>();
@@ -14247,7 +14248,7 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setPreferenceEnterpriseId(NET_ENTERPRISE_ID_1);
profileNetworkPreferenceBuilder.setIncludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID)});
registerDefaultNetworkCallbacks();
testPreferenceForUserNetworkUpDownForGivenPreference(
profileNetworkPreferenceBuilder.build(), false, testHandle,
@@ -14266,7 +14267,7 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setPreferenceEnterpriseId(NET_ENTERPRISE_ID_1);
profileNetworkPreferenceBuilder.setIncludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
registerDefaultNetworkCallbacks();
testPreferenceForUserNetworkUpDownForGivenPreference(
profileNetworkPreferenceBuilder.build(), false,
@@ -14285,7 +14286,7 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setPreferenceEnterpriseId(NET_ENTERPRISE_ID_1);
profileNetworkPreferenceBuilder.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
registerDefaultNetworkCallbacks();
testPreferenceForUserNetworkUpDownForGivenPreference(
profileNetworkPreferenceBuilder.build(), false,
@@ -14305,7 +14306,7 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setPreferenceEnterpriseId(NET_ENTERPRISE_ID_1);
profileNetworkPreferenceBuilder.setExcludedUids(
List.of(testHandle.getUid(0) - 1));
new int[]{testHandle.getUid(0) - 1});
final TestOnCompleteListener listener = new TestOnCompleteListener();
Assert.assertThrows(IllegalArgumentException.class, () -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build()),
@@ -14313,7 +14314,7 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setIncludedUids(
List.of(testHandle.getUid(0) - 1));
new int[]{testHandle.getUid(0) - 1});
Assert.assertThrows(IllegalArgumentException.class,
() -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build()),
@@ -14322,9 +14323,9 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder.setIncludedUids(
List.of(testHandle.getUid(0) - 1));
new int[]{testHandle.getUid(0) - 1});
profileNetworkPreferenceBuilder.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
Assert.assertThrows(IllegalArgumentException.class,
() -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build()),
@@ -14335,9 +14336,9 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder2.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder2.setPreferenceEnterpriseId(NET_ENTERPRISE_ID_1);
profileNetworkPreferenceBuilder2.setIncludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
profileNetworkPreferenceBuilder.setIncludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
Assert.assertThrows(IllegalArgumentException.class,
() -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build(),
@@ -14346,9 +14347,9 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder2.setPreference(PROFILE_NETWORK_PREFERENCE_ENTERPRISE);
profileNetworkPreferenceBuilder2.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
profileNetworkPreferenceBuilder.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
Assert.assertThrows(IllegalArgumentException.class,
() -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build(),
@@ -14358,9 +14359,9 @@ public class ConnectivityServiceTest {
profileNetworkPreferenceBuilder2.setPreference(
PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK);
profileNetworkPreferenceBuilder2.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
profileNetworkPreferenceBuilder.setExcludedUids(
List.of(testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)));
new int[]{testHandle.getUid(TEST_WORK_PROFILE_APP_UID_2)});
Assert.assertThrows(IllegalArgumentException.class,
() -> mCm.setProfileNetworkPreferences(
testHandle, List.of(profileNetworkPreferenceBuilder.build(),

View File

@@ -351,4 +351,55 @@ public class UidRangeUtilsTest {
expected.add(uids6);
assertEquals(expected, UidRangeUtils.convertListToUidRange(input));
}
@Test @DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
public void testConvertArrayToUidRange() {
final UidRange uids1_1 = new UidRange(1, 1);
final UidRange uids1_2 = new UidRange(1, 2);
final UidRange uids100_100 = new UidRange(100, 100);
final UidRange uids10_10 = new UidRange(10, 10);
final UidRange uids10_14 = new UidRange(10, 14);
final UidRange uids20_24 = new UidRange(20, 24);
final Set<UidRange> expected = new ArraySet<>();
int[] input = new int[0];
assertThrows(NullPointerException.class, () -> UidRangeUtils.convertArrayToUidRange(null));
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[] {1};
expected.add(uids1_1);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[]{1, 2};
expected.clear();
expected.add(uids1_2);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[]{1, 100};
expected.clear();
expected.add(uids1_1);
expected.add(uids100_100);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[]{100, 1};
expected.clear();
expected.add(uids1_1);
expected.add(uids100_100);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[]{100, 1, 2, 1, 10};
expected.clear();
expected.add(uids1_2);
expected.add(uids10_10);
expected.add(uids100_100);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
input = new int[]{10, 11, 12, 13, 14, 20, 21, 22, 23, 24};
expected.clear();
expected.add(uids10_14);
expected.add(uids20_24);
assertEquals(expected, UidRangeUtils.convertArrayToUidRange(input));
}
}