diff options
| author | 2018-03-20 12:23:28 +0000 | |
|---|---|---|
| committer | 2018-03-20 12:23:28 +0000 | |
| commit | fc841b26a92caee1fec4c48fef5f9bd6ecd2f040 (patch) | |
| tree | 2f8a37ade62f4c9a425a9df0f69e9514c1e0ddef | |
| parent | c7a04bbb479bf3827d7e1690fc765241351749d3 (diff) | |
| parent | c7593b1e1a46bc78a1404b91eabdf5bd5c58b55d (diff) | |
Merge "Do not display <unknown ssid>." into pi-dev
4 files changed, 15 insertions, 11 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java index e8f5282007ae..6e12e203f80c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java @@ -15,6 +15,7 @@ import android.net.NetworkInfo; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; +import android.net.wifi.WifiSsid; import java.util.List; @@ -53,7 +54,7 @@ public class WifiStatusTracker { if (connected) { WifiInfo info = mWifiManager.getConnectionInfo(); if (info != null) { - ssid = getSsid(info); + ssid = getValidSsid(info); } else { ssid = null; } @@ -67,9 +68,9 @@ public class WifiStatusTracker { } } - private String getSsid(WifiInfo info) { + private String getValidSsid(WifiInfo info) { String ssid = info.getSSID(); - if (ssid != null) { + if (ssid != null && !WifiSsid.NONE.equals(ssid)) { return ssid; } // OK, it's not in the connectionInfo; we have to go hunting for it diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 779b0fb953ca..4533aa5e2f76 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -198,7 +198,7 @@ public class NetworkControllerImpl extends BroadcastReceiver } }); mWifiSignalController = new WifiSignalController(mContext, mHasMobileDataFeature, - mCallbackHandler, this); + mCallbackHandler, this, mWifiManager); mEthernetSignalController = new EthernetSignalController(mContext, mCallbackHandler, this); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java index b4c3ecafa742..0f65421ed9c0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java @@ -43,10 +43,11 @@ public class WifiSignalController extends private final WifiStatusTracker mWifiTracker; public WifiSignalController(Context context, boolean hasMobileData, - CallbackHandler callbackHandler, NetworkControllerImpl networkController) { + CallbackHandler callbackHandler, NetworkControllerImpl networkController, + WifiManager wifiManager) { super("WifiSignalController", context, NetworkCapabilities.TRANSPORT_WIFI, callbackHandler, networkController); - mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + mWifiManager = wifiManager; mWifiTracker = new WifiStatusTracker(mWifiManager); mHasMobileData = hasMobileData; Handler handler = new WifiHandler(Looper.getMainLooper()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java index 30c7b5398974..fc3de8449201 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java @@ -5,6 +5,7 @@ import android.net.NetworkCapabilities; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; +import android.net.wifi.WifiSsid; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; @@ -21,6 +22,7 @@ import static junit.framework.Assert.assertEquals; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyBoolean; +import static org.mockito.Mockito.when; @SmallTest @RunWith(AndroidTestingRunner.class) @@ -143,10 +145,11 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { protected void setWifiState(boolean connected, String ssid) { Intent i = new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION); NetworkInfo networkInfo = Mockito.mock(NetworkInfo.class); - Mockito.when(networkInfo.isConnected()).thenReturn(connected); + when(networkInfo.isConnected()).thenReturn(connected); - //TODO(b/69974497) mock of mWifiManager.getConnectionInfo() needed - // Mockito.when(wifiInfo.getSSID()).thenReturn(ssid); + WifiInfo wifiInfo = Mockito.mock(WifiInfo.class); + when(wifiInfo.getSSID()).thenReturn(ssid); + when(mMockWm.getConnectionInfo()).thenReturn(wifiInfo); i.putExtra(WifiManager.EXTRA_NETWORK_INFO, networkInfo); mNetworkController.onReceive(mContext, i); @@ -175,8 +178,7 @@ public class NetworkControllerWifiTest extends NetworkControllerBaseTest { assertEquals("WiFi enabled, in quick settings", enabled, (boolean) enabledArg.getValue()); assertEquals("WiFi connected, in quick settings", connected, iconState.visible); assertEquals("WiFi signal, in quick settings", icon, iconState.icon); - // TODO(b/69974497) Need to mock mWifiManager.getConnectionInfo() to supply the ssid. - // assertEquals("WiFI desc (ssid), in quick settings", description, descArg.getValue()); + assertEquals("WiFI desc (ssid), in quick settings", description, descArg.getValue()); } protected void verifyLastWifiIcon(boolean visible, int icon) { |