Unregister all the receivers during test teardown.

Bug: 253696106
Test: atest services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java
Change-Id: I15eb40a92790373182e79bdd15bf01d66520d1bf
Merged-In: I15eb40a92790373182e79bdd15bf01d66520d1bf
(cherry picked from commit 31b33be1d9)
This commit is contained in:
Sudheer Shanka
2022-10-20 14:59:46 -07:00
parent 08dbdfc508
commit 610ef101ce

View File

@@ -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<BroadcastReceiver> 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();