summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/scanner
diff options
context:
space:
mode:
authorxshu <xshu@google.com>2018-03-09 12:59:33 -0800
committerxshu <xshu@google.com>2018-03-21 10:34:55 -0700
commit0bda8355dc1137d72ea0f555729dd8d606d61c67 (patch)
treee87fee781572a80746f9c8bde29150d647ebc6ca /tests/wifitests/src/com/android/server/wifi/scanner
parent56aac63859b5e156203fcff2165dc726b4db7595 (diff)
downloadandroid_frameworks_opt_net_wifi-0bda8355dc1137d72ea0f555729dd8d606d61c67.tar.gz
android_frameworks_opt_net_wifi-0bda8355dc1137d72ea0f555729dd8d606d61c67.tar.bz2
android_frameworks_opt_net_wifi-0bda8355dc1137d72ea0f555729dd8d606d61c67.zip
Deregister handler in WificondScannerImpl on cleanup
Make sure there are no lingering references to Handlers when a WificondScannerImpl instance is destroyed. Bug: 74089137 Test: compile, run ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh Manual test: flash device toggle wifi on and off multiple times toggle airplane mode on and off multiple times verify there are no "unrecognized alarm listener" messages in logcat Change-Id: I4d43a4eb204b900523cec4c5bd212fd3cc11a395
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/scanner')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/scanner/WificondScannerTest.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/scanner/WificondScannerTest.java b/tests/wifitests/src/com/android/server/wifi/scanner/WificondScannerTest.java
index d398a9a35..28b1456d7 100644
--- a/tests/wifitests/src/com/android/server/wifi/scanner/WificondScannerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/scanner/WificondScannerTest.java
@@ -47,15 +47,16 @@ import java.util.regex.Pattern;
*/
@SmallTest
public class WificondScannerTest extends BaseWifiScannerImplTest {
-
+ WifiMonitor mWifiMonitorSpy;
@Before
public void setup() throws Exception {
setupMockChannels(mWifiNative,
new int[]{2400, 2450},
new int[]{5150, 5175},
new int[]{5600, 5650});
+ mWifiMonitorSpy = spy(mWifiMonitor);
mScanner = new WificondScannerImpl(mContext, BaseWifiScannerImplTest.IFACE_NAME,
- mWifiNative, mWifiMonitor, new WificondChannelHelper(mWifiNative),
+ mWifiNative, mWifiMonitorSpy, new WificondChannelHelper(mWifiNative),
mLooper.getLooper(), mClock);
}
@@ -168,6 +169,17 @@ public class WificondScannerTest extends BaseWifiScannerImplTest {
assertDumpContainsRequestLog("Latest native scan results:");
}
+ @Test
+ public void cleanupDeregistersHandlers() {
+ mScanner.cleanup();
+ verify(mWifiMonitorSpy, times(1)).deregisterHandler(anyString(),
+ eq(WifiMonitor.SCAN_FAILED_EVENT), any());
+ verify(mWifiMonitorSpy, times(1)).deregisterHandler(anyString(),
+ eq(WifiMonitor.PNO_SCAN_RESULTS_EVENT), any());
+ verify(mWifiMonitorSpy, times(1)).deregisterHandler(anyString(),
+ eq(WifiMonitor.SCAN_RESULTS_EVENT), any());
+ }
+
private void assertDumpContainsRequestLog(String log) {
String objectDump = dumpObject();
Pattern logLineRegex = Pattern.compile(".*" + log + ".*");