Loading core/java/android/util/DebugUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -251,7 +251,7 @@ public class DebugUtils { if (value == 0 && flagsWasZero) { return constNameWithoutPrefix(prefix, field); } if ((flags & value) == value) { if (value != 0 && (flags & value) == value) { flags &= ~value; res.append(constNameWithoutPrefix(prefix, field)).append('|'); } Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -1509,6 +1509,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { latch.await(5, TimeUnit.SECONDS); } @VisibleForTesting Handler getHandlerForTesting() { return mHandler; } /** * Update mobile policies with data cycle information from {@link CarrierConfigManager} * if necessary. Loading services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +30 −6 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ import android.net.NetworkStatsHistory; import android.net.NetworkTemplate; import android.net.StringNetworkSpecifier; import android.os.Binder; import android.os.Handler; import android.os.INetworkManagementService; import android.os.PersistableBundle; import android.os.PowerManagerInternal; Loading Loading @@ -1047,7 +1048,7 @@ public class NetworkPolicyManagerServiceTest { // Define simple data plan final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, mServiceContext.getOpPackageName()); // We're 20% through the month (6 days) Loading Loading @@ -1171,7 +1172,7 @@ public class NetworkPolicyManagerServiceTest { // Define simple data plan which gives us effectively 60MB/day final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, mServiceContext.getOpPackageName()); // We're 20% through the month (6 days) Loading Loading @@ -1387,6 +1388,8 @@ public class NetworkPolicyManagerServiceTest { when(mConnManager.getAllNetworkState()).thenReturn(new NetworkState[0]); when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{FAKE_SUB_ID}); when(mTelephonyManager.getSubscriberId(FAKE_SUB_ID)).thenReturn(FAKE_SUBSCRIBER_ID); when(mTelephonyManager.createForSubscriptionId(FAKE_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); PersistableBundle bundle = CarrierConfigManager.getDefaultConfig(); when(mCarrierConfigManager.getConfigForSubId(FAKE_SUB_ID)).thenReturn(bundle); setNetworkPolicies(buildDefaultFakeMobilePolicy()); Loading @@ -1398,6 +1401,8 @@ public class NetworkPolicyManagerServiceTest { when(mConnManager.getAllNetworkState()).thenReturn(new NetworkState[0]); when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{FAKE_SUB_ID}); when(mTelephonyManager.getSubscriberId(FAKE_SUB_ID)).thenReturn(FAKE_SUBSCRIBER_ID); when(mTelephonyManager.createForSubscriptionId(FAKE_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); when(mCarrierConfigManager.getConfigForSubId(FAKE_SUB_ID)).thenReturn(null); setNetworkPolicies(buildDefaultFakeMobilePolicy()); // smoke test to make sure no errors are raised Loading Loading @@ -1583,7 +1588,7 @@ public class NetworkPolicyManagerServiceTest { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1604,7 +1609,7 @@ public class NetworkPolicyManagerServiceTest { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(100)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1620,7 +1625,7 @@ public class NetworkPolicyManagerServiceTest { { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), BYTES_UNLIMITED); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1637,7 +1642,7 @@ public class NetworkPolicyManagerServiceTest { { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), BYTES_UNLIMITED); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading Loading @@ -1853,6 +1858,8 @@ public class NetworkPolicyManagerServiceTest { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn( new int[] { TEST_SUB_ID }); when(mTelephonyManager.getSubscriberId(TEST_SUB_ID)).thenReturn(TEST_IMSI); when(mTelephonyManager.createForSubscriptionId(TEST_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); doNothing().when(mTelephonyManager).setPolicyDataEnabled(anyBoolean(), anyInt()); expectNetworkState(false /* roaming */); } Loading Loading @@ -1979,6 +1986,23 @@ public class NetworkPolicyManagerServiceTest { private FutureIntent mRestrictBackgroundChanged; private void postMsgAndWaitForCompletion() throws InterruptedException { final Handler handler = mService.getHandlerForTesting(); final CountDownLatch latch = new CountDownLatch(1); mService.getHandlerForTesting().post(latch::countDown); if (!latch.await(5, TimeUnit.SECONDS)) { fail("Timed out waiting for the test msg to be handled"); } } private void setSubscriptionPlans(int subId, SubscriptionPlan[] plans, String callingPackage) throws InterruptedException { mService.setSubscriptionPlans(subId, plans, callingPackage); // setSubscriptionPlans() triggers async events, wait for those to be completed before // moving forward as they could interfere with the tests later. postMsgAndWaitForCompletion(); } private void setRestrictBackground(boolean flag) throws Exception { mService.setRestrictBackground(flag); // Sanity check. Loading Loading
core/java/android/util/DebugUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -251,7 +251,7 @@ public class DebugUtils { if (value == 0 && flagsWasZero) { return constNameWithoutPrefix(prefix, field); } if ((flags & value) == value) { if (value != 0 && (flags & value) == value) { flags &= ~value; res.append(constNameWithoutPrefix(prefix, field)).append('|'); } Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -1509,6 +1509,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { latch.await(5, TimeUnit.SECONDS); } @VisibleForTesting Handler getHandlerForTesting() { return mHandler; } /** * Update mobile policies with data cycle information from {@link CarrierConfigManager} * if necessary. Loading
services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +30 −6 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ import android.net.NetworkStatsHistory; import android.net.NetworkTemplate; import android.net.StringNetworkSpecifier; import android.os.Binder; import android.os.Handler; import android.os.INetworkManagementService; import android.os.PersistableBundle; import android.os.PowerManagerInternal; Loading Loading @@ -1047,7 +1048,7 @@ public class NetworkPolicyManagerServiceTest { // Define simple data plan final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, mServiceContext.getOpPackageName()); // We're 20% through the month (6 days) Loading Loading @@ -1171,7 +1172,7 @@ public class NetworkPolicyManagerServiceTest { // Define simple data plan which gives us effectively 60MB/day final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[] { plan }, mServiceContext.getOpPackageName()); // We're 20% through the month (6 days) Loading Loading @@ -1387,6 +1388,8 @@ public class NetworkPolicyManagerServiceTest { when(mConnManager.getAllNetworkState()).thenReturn(new NetworkState[0]); when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{FAKE_SUB_ID}); when(mTelephonyManager.getSubscriberId(FAKE_SUB_ID)).thenReturn(FAKE_SUBSCRIBER_ID); when(mTelephonyManager.createForSubscriptionId(FAKE_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); PersistableBundle bundle = CarrierConfigManager.getDefaultConfig(); when(mCarrierConfigManager.getConfigForSubId(FAKE_SUB_ID)).thenReturn(bundle); setNetworkPolicies(buildDefaultFakeMobilePolicy()); Loading @@ -1398,6 +1401,8 @@ public class NetworkPolicyManagerServiceTest { when(mConnManager.getAllNetworkState()).thenReturn(new NetworkState[0]); when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{FAKE_SUB_ID}); when(mTelephonyManager.getSubscriberId(FAKE_SUB_ID)).thenReturn(FAKE_SUBSCRIBER_ID); when(mTelephonyManager.createForSubscriptionId(FAKE_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); when(mCarrierConfigManager.getConfigForSubId(FAKE_SUB_ID)).thenReturn(null); setNetworkPolicies(buildDefaultFakeMobilePolicy()); // smoke test to make sure no errors are raised Loading Loading @@ -1583,7 +1588,7 @@ public class NetworkPolicyManagerServiceTest { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(1800)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1604,7 +1609,7 @@ public class NetworkPolicyManagerServiceTest { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), DataUnit.MEGABYTES.toBytes(100)); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1620,7 +1625,7 @@ public class NetworkPolicyManagerServiceTest { { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), BYTES_UNLIMITED); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading @@ -1637,7 +1642,7 @@ public class NetworkPolicyManagerServiceTest { { final SubscriptionPlan plan = buildMonthlyDataPlan( ZonedDateTime.parse("2015-11-01T00:00:00.00Z"), BYTES_UNLIMITED); mService.setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, setSubscriptionPlans(TEST_SUB_ID, new SubscriptionPlan[]{plan}, mServiceContext.getOpPackageName()); reset(mTelephonyManager, mNetworkManager, mNotifManager); Loading Loading @@ -1853,6 +1858,8 @@ public class NetworkPolicyManagerServiceTest { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn( new int[] { TEST_SUB_ID }); when(mTelephonyManager.getSubscriberId(TEST_SUB_ID)).thenReturn(TEST_IMSI); when(mTelephonyManager.createForSubscriptionId(TEST_SUB_ID)) .thenReturn(mock(TelephonyManager.class)); doNothing().when(mTelephonyManager).setPolicyDataEnabled(anyBoolean(), anyInt()); expectNetworkState(false /* roaming */); } Loading Loading @@ -1979,6 +1986,23 @@ public class NetworkPolicyManagerServiceTest { private FutureIntent mRestrictBackgroundChanged; private void postMsgAndWaitForCompletion() throws InterruptedException { final Handler handler = mService.getHandlerForTesting(); final CountDownLatch latch = new CountDownLatch(1); mService.getHandlerForTesting().post(latch::countDown); if (!latch.await(5, TimeUnit.SECONDS)) { fail("Timed out waiting for the test msg to be handled"); } } private void setSubscriptionPlans(int subId, SubscriptionPlan[] plans, String callingPackage) throws InterruptedException { mService.setSubscriptionPlans(subId, plans, callingPackage); // setSubscriptionPlans() triggers async events, wait for those to be completed before // moving forward as they could interfere with the tests later. postMsgAndWaitForCompletion(); } private void setRestrictBackground(boolean flag) throws Exception { mService.setRestrictBackground(flag); // Sanity check. Loading