diff options
author | Roshan Pius <rpius@google.com> | 2017-03-14 08:54:56 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2017-03-14 10:19:33 -0700 |
commit | a1727e40dc6b2742df5b32451f1dfa787fc6aa98 (patch) | |
tree | ad7d56c0caee303736d010cc75781205e98b4dcb | |
parent | 9ca3944e48689ee1d72eed1ed27bc19ecea2c039 (diff) |
WifiStateMachine: Note user selection only for settings app
The previous CL for this bug also modified the user selection when we let
non-settings app to initiate connection. This bug CL reverts that,
non-settings app can only initiate connection, but not set user connect
choice.
Bug: 36040264
Test: Unit tests
Change-Id: If70fe974274277bd804f5cc17a5751dee76f44e3
-rw-r--r-- | service/java/com/android/server/wifi/WifiStateMachine.java | 7 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java index 7840b09ec..a5dc9375f 100644 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -1266,10 +1266,11 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss || !mWifiConfigManager.checkAndUpdateLastConnectUid(netId, uid)) { logi("connectToUserSelectNetwork Allowing uid " + uid + " with insufficient permissions to connect=" + netId); + } else { + // Note user connect choice here, so that it will be considered in the next network + // selection. + mWifiConnectivityManager.setUserConnectChoice(netId); } - // Trigger an immediate connection to the specified network. We're also noting the user - // connect choice here, so that it will be considered in the next network selection. - mWifiConnectivityManager.setUserConnectChoice(netId); if (mWifiInfo.getNetworkId() == netId) { // We're already connected to the user specified network, don't trigger a // reconnection. diff --git a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java index f77db43a4..c9bc3d657 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java @@ -811,6 +811,8 @@ public class WifiStateMachineTest { @Test public void connect() throws Exception { addNetworkAndVerifySuccess(); + when(mWifiConfigManager.enableNetwork(eq(0), eq(true), anyInt())).thenReturn(true); + when(mWifiConfigManager.checkAndUpdateLastConnectUid(eq(0), anyInt())).thenReturn(true); mWsm.setOperationalMode(WifiStateMachine.CONNECT_MODE); mLooper.dispatchAll(); @@ -820,6 +822,7 @@ public class WifiStateMachineTest { mLooper.stopAutoDispatch(); verify(mWifiConfigManager).enableNetwork(eq(0), eq(true), anyInt()); + verify(mWifiConnectivityManager).setUserConnectChoice(eq(0)); mWsm.sendMessage(WifiMonitor.NETWORK_CONNECTION_EVENT, 0, 0, sBSSID); mLooper.dispatchAll(); @@ -856,6 +859,7 @@ public class WifiStateMachineTest { mLooper.stopAutoDispatch(); verify(mWifiConfigManager).enableNetwork(eq(0), eq(true), anyInt()); + verify(mWifiConnectivityManager, never()).setUserConnectChoice(eq(0)); mWsm.sendMessage(WifiMonitor.NETWORK_CONNECTION_EVENT, 0, 0, sBSSID); mLooper.dispatchAll(); |