From 9190cc3a9d64c1067f332a4dc6daa499a8162904 Mon Sep 17 00:00:00 2001 From: tprotopopov-dev <73544592+tprotopopov-dev@users.noreply.github.com> Date: Tue, 12 Jan 2021 19:58:44 -0600 Subject: Additional condition to allow wifi to fully connect. (#138) --- .../mobly/snippet/bundled/WifiManagerSnippet.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main/java/com/google/android/mobly/snippet/bundled/WifiManagerSnippet.java b/src/main/java/com/google/android/mobly/snippet/bundled/WifiManagerSnippet.java index 5158af0..cf577c3 100644 --- a/src/main/java/com/google/android/mobly/snippet/bundled/WifiManagerSnippet.java +++ b/src/main/java/com/google/android/mobly/snippet/bundled/WifiManagerSnippet.java @@ -43,7 +43,7 @@ import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; - +import android.net.wifi.SupplicantState; /** Snippet class exposing Android APIs in WifiManager. */ public class WifiManagerSnippet implements Snippet { private static class WifiManagerSnippetException extends Exception { @@ -269,14 +269,15 @@ public class WifiManagerSnippet implements Snippet { "Failed to reconnect to Wi-Fi network of ID: " + networkId); } if (!Utils.waitUntil( - () -> - mWifiManager.getConnectionInfo().getSSID().equals(SSID) - && mWifiManager.getConnectionInfo().getNetworkId() != -1, - 90)) { + () -> + mWifiManager.getConnectionInfo().getSSID().equals(SSID) + && mWifiManager.getConnectionInfo().getNetworkId() != -1 && mWifiManager + .getConnectionInfo().getSupplicantState().equals(SupplicantState.COMPLETED), + 90)) { throw new WifiManagerSnippetException( - String.format( - "Failed to connect to '%s', timeout! Current connection: '%s'", - wifiNetworkConfig, mWifiManager.getConnectionInfo().getSSID())); + String.format( + "Failed to connect to '%s', timeout! Current connection: '%s'", + wifiNetworkConfig, mWifiManager.getConnectionInfo().getSSID())); } Log.d( "Connected to network '" -- cgit v1.2.3