Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -2706,6 +2706,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private void normalizePoliciesNL(NetworkPolicy[] policies) { mNetworkPolicy.clear(); for (NetworkPolicy policy : policies) { if (policy == null) { continue; } // When two normalized templates conflict, prefer the most // restrictive policy policy.template = NetworkTemplate.normalize(policy.template, mMergedSubscriberIds); Loading services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -1628,6 +1628,20 @@ public class NetworkPolicyManagerServiceTest { } } /** * Test that policy set of {null, NetworkPolicy, null} does not crash and restores the valid * NetworkPolicy. */ @Test public void testSetNetworkPolicies_withNullPolicies_doesNotThrow() { NetworkPolicy[] policies = new NetworkPolicy[3]; policies[1] = buildDefaultFakeMobilePolicy(); setNetworkPolicies(policies); assertNetworkPolicyEquals(DEFAULT_CYCLE_DAY, mDefaultWarningBytes, mDefaultLimitBytes, true); } private SubscriptionPlan buildMonthlyDataPlan(ZonedDateTime start, long limitBytes) { return SubscriptionPlan.Builder .createRecurringMonthly(start) Loading Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -2706,6 +2706,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { private void normalizePoliciesNL(NetworkPolicy[] policies) { mNetworkPolicy.clear(); for (NetworkPolicy policy : policies) { if (policy == null) { continue; } // When two normalized templates conflict, prefer the most // restrictive policy policy.template = NetworkTemplate.normalize(policy.template, mMergedSubscriberIds); Loading
services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -1628,6 +1628,20 @@ public class NetworkPolicyManagerServiceTest { } } /** * Test that policy set of {null, NetworkPolicy, null} does not crash and restores the valid * NetworkPolicy. */ @Test public void testSetNetworkPolicies_withNullPolicies_doesNotThrow() { NetworkPolicy[] policies = new NetworkPolicy[3]; policies[1] = buildDefaultFakeMobilePolicy(); setNetworkPolicies(policies); assertNetworkPolicyEquals(DEFAULT_CYCLE_DAY, mDefaultWarningBytes, mDefaultLimitBytes, true); } private SubscriptionPlan buildMonthlyDataPlan(ZonedDateTime start, long limitBytes) { return SubscriptionPlan.Builder .createRecurringMonthly(start) Loading