diff options
author | xshu <xshu@google.com> | 2018-03-09 12:59:33 -0800 |
---|---|---|
committer | xshu <xshu@google.com> | 2018-03-21 10:34:55 -0700 |
commit | 0bda8355dc1137d72ea0f555729dd8d606d61c67 (patch) | |
tree | e87fee781572a80746f9c8bde29150d647ebc6ca /tests/wifitests/src/com/android/server/wifi/scanner | |
parent | 56aac63859b5e156203fcff2165dc726b4db7595 (diff) | |
download | android_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.java | 16 |
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 + ".*"); |