diff --git a/services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java index 0f2fe4434bfa1..07009cb9a2078 100644 --- a/services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java @@ -112,8 +112,10 @@ import android.app.NotificationManager; import android.app.usage.NetworkStats; import android.app.usage.NetworkStatsManager; import android.app.usage.UsageStatsManagerInternal; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageInfo; @@ -133,6 +135,7 @@ import android.net.NetworkTemplate; import android.net.TelephonyNetworkSpecifier; import android.net.wifi.WifiInfo; import android.os.Binder; +import android.os.Build; import android.os.Handler; import android.os.INetworkManagementService; import android.os.PersistableBundle; @@ -151,6 +154,7 @@ import android.telephony.TelephonyManager; import android.test.suitebuilder.annotation.MediumTest; import android.text.TextUtils; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.DataUnit; import android.util.Log; import android.util.Pair; @@ -175,6 +179,7 @@ import com.google.common.util.concurrent.AbstractFuture; import libcore.io.Streams; import org.junit.After; +import org.junit.Assume; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -285,6 +290,8 @@ public class NetworkPolicyManagerServiceTest { private NetworkPolicyListenerAnswer mPolicyListener; private NetworkPolicyManagerService mService; + private final ArraySet mRegisteredReceivers = new ArraySet<>(); + /** * In some of the tests while initializing NetworkPolicyManagerService, * ACTION_RESTRICT_BACKGROUND_CHANGED is broadcasted. This is for capturing that broadcast. @@ -436,6 +443,21 @@ public class NetworkPolicyManagerServiceTest { public void enforceCallingOrSelfPermission(String permission, String message) { // Assume that we're AID_SYSTEM } + + @Override + public Intent registerReceiver(BroadcastReceiver receiver, + IntentFilter filter, String broadcastPermission, Handler scheduler) { + mRegisteredReceivers.add(receiver); + return super.registerReceiver(receiver, filter, broadcastPermission, scheduler); + } + + @Override + public Intent registerReceiverForAllUsers(BroadcastReceiver receiver, + IntentFilter filter, String broadcastPermission, Handler scheduler) { + mRegisteredReceivers.add(receiver); + return super.registerReceiverForAllUsers(receiver, filter, broadcastPermission, + scheduler); + } }; setNetpolicyXml(context); @@ -556,6 +578,13 @@ public class NetworkPolicyManagerServiceTest { RecurrenceRule.sClock = Clock.systemDefaultZone(); } + @After + public void unregisterReceivers() throws Exception { + for (BroadcastReceiver receiver : mRegisteredReceivers) { + mServiceContext.unregisterReceiver(receiver); + } + } + @Test public void testTurnRestrictBackgroundOn() throws Exception { assertRestrictBackgroundOff();