From f7814ce9117a6622dd1662cbe9396b1684447004 Mon Sep 17 00:00:00 2001 From: Rebecca Silberstein Date: Wed, 16 May 2018 08:58:42 -0700 Subject: ModeManagers: do not report disabled when stopped When Client and Scan modes are explicitly stopped, there is no need to report state changes to WSMP. Bug: 79532177 Test: toggle wifi quickly Test: WifiCrashTest Test: atest android.net.wifi.cts Change-Id: I133f486159f3c475084619cddfd6da482a17c00a --- .../src/com/android/server/wifi/ClientModeManagerTest.java | 12 +++++------- .../src/com/android/server/wifi/ScanOnlyModeManagerTest.java | 8 +------- 2 files changed, 6 insertions(+), 14 deletions(-) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java index b04caf54d..ca6ddfd61 100644 --- a/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ClientModeManagerTest.java @@ -158,7 +158,7 @@ public class ClientModeManagerTest { assertEquals(2, intents.size()); checkWifiStateChangedBroadcast(intents.get(0), WIFI_STATE_DISABLING, WIFI_STATE_UNKNOWN); checkWifiStateChangedBroadcast(intents.get(1), WIFI_STATE_DISABLED, WIFI_STATE_DISABLING); - checkWifiStateChangeListenerUpdate(WIFI_STATE_DISABLED); + checkWifiStateChangeListenerUpdate(WIFI_STATE_UNKNOWN); } /** @@ -227,11 +227,14 @@ public class ClientModeManagerTest { @Test public void clientModeStopCleansUpState() throws Exception { startClientModeAndVerifyEnabled(); - reset(mContext); + reset(mContext, mListener); mClientModeManager.stop(); mLooper.dispatchAll(); verifyNotificationsForCleanShutdown(WIFI_STATE_ENABLED); + + // on an explicit stop, we should not trigger the callback + verifyNoMoreInteractions(mListener); } /** @@ -309,11 +312,6 @@ public class ClientModeManagerTest { mClientModeManager.stop(); mLooper.dispatchAll(); - verify(mListener).onStateChanged(WIFI_STATE_DISABLING); - verify(mListener).onStateChanged(WIFI_STATE_DISABLED); - - reset(mListener); - // now trigger interface destroyed and make sure callback doesn't get called mInterfaceCallbackCaptor.getValue().onDestroyed(TEST_INTERFACE_NAME); mLooper.dispatchAll(); diff --git a/tests/wifitests/src/com/android/server/wifi/ScanOnlyModeManagerTest.java b/tests/wifitests/src/com/android/server/wifi/ScanOnlyModeManagerTest.java index 3ad57f535..41362eec6 100644 --- a/tests/wifitests/src/com/android/server/wifi/ScanOnlyModeManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ScanOnlyModeManagerTest.java @@ -170,7 +170,7 @@ public class ScanOnlyModeManagerTest { mLooper.dispatchAll(); verify(mWifiNative).teardownInterface(TEST_INTERFACE_NAME); verify(mContext, never()).sendStickyBroadcastAsUser(any(), eq(UserHandle.ALL)); - checkWifiStateChangeListenerUpdate(WIFI_STATE_DISABLED); + verifyNoMoreInteractions(mListener); } /** @@ -214,7 +214,6 @@ public class ScanOnlyModeManagerTest { mLooper.dispatchAll(); verify(mContext, never()).sendStickyBroadcastAsUser(any(), eq(UserHandle.ALL)); checkWifiStateChangeListenerUpdate(WIFI_STATE_UNKNOWN); - checkWifiStateChangeListenerUpdate(WIFI_STATE_DISABLED); verify(mScanRequestProxy).clearScanResults(); } @@ -246,10 +245,6 @@ public class ScanOnlyModeManagerTest { mScanOnlyModeManager.stop(); mLooper.dispatchAll(); - verify(mListener).onStateChanged(WIFI_STATE_DISABLED); - - reset(mListener); - // now trigger interface destroyed and make sure callback doesn't get called mInterfaceCallbackCaptor.getValue().onDestroyed(TEST_INTERFACE_NAME); mLooper.dispatchAll(); @@ -282,6 +277,5 @@ public class ScanOnlyModeManagerTest { inOrder.verify(mWakeupController).start(); inOrder.verify(mWakeupController).stop(); inOrder.verify(mWifiNative).teardownInterface(eq(TEST_INTERFACE_NAME)); - inOrder.verify(mListener).onStateChanged(eq(WIFI_STATE_DISABLED)); } } -- cgit v1.2.3