diff --git a/src/com/android/utils/wificonnecter/WiFiConnecter.java b/src/com/android/utils/wificonnecter/WiFiConnecter.java index b150e49..0d1cfad 100644 --- a/src/com/android/utils/wificonnecter/WiFiConnecter.java +++ b/src/com/android/utils/wificonnecter/WiFiConnecter.java @@ -39,7 +39,7 @@ public class WiFiConnecter { private boolean isRegistered; private boolean isActiveScan; - private boolean bySsidIgnoreCase; + private boolean ssidIgnoreCase; public WiFiConnecter(Context context) { this.mContext = context; @@ -61,7 +61,7 @@ public void onReceive(Context context, Intent intent) { context.registerReceiver(mReceiver, mFilter); isRegistered = true; - bySsidIgnoreCase = true; + ssidIgnoreCase = true; mScanner = new Scanner(); } @@ -83,10 +83,7 @@ public void connect(String ssid, String password, ActionListener listener) { } WifiInfo info = mWifiManager.getConnectionInfo(); - String quotedString = StringUtils.convertToQuotedString(mSsid); - boolean ssidEquals = bySsidIgnoreCase ? quotedString.equalsIgnoreCase(info.getSSID()) - : quotedString.equals(info.getSSID()); - if (ssidEquals) { + if (isSsidFamiliar(mSsid, info.getSSID())) { if (listener != null) { listener.onSuccess(info); listener.onFinished(true); @@ -104,10 +101,7 @@ private void handleEvent(Context context, Intent intent) { List results = mWifiManager.getScanResults(); for (ScanResult result : results) { //1.scan dest of ssid - String quotedString = StringUtils.convertToQuotedString(mSsid); - boolean ssidEquals = bySsidIgnoreCase ? quotedString.equalsIgnoreCase(result.SSID) - : quotedString.equals(result.SSID); - if (ssidEquals) { + if (isSsidFamiliar(mSsid, result.SSID)) { //TODO ? mScanner.pause(); //2.input error password @@ -128,10 +122,7 @@ private void handleEvent(Context context, Intent intent) { WifiInfo mWifiInfo = mWifiManager.getConnectionInfo(); //ssid equals&&connected if (mWifiInfo != null && mInfo.isConnected() && mWifiInfo.getSSID() != null) { - String quotedString = StringUtils.convertToQuotedString(mSsid); - boolean ssidEquals = bySsidIgnoreCase ? quotedString.equalsIgnoreCase(mWifiInfo.getSSID()) - : quotedString.equals(mWifiInfo.getSSID()); - if (ssidEquals) { + if (isSsidFamiliar(mSsid, mWifiInfo.getSSID())) { if (mListener != null) { mListener.onSuccess(mWifiInfo); mListener.onFinished(true); @@ -143,6 +134,12 @@ private void handleEvent(Context context, Intent intent) { } } + private boolean isSsidFamiliar(String ssid, String other) { + String quotedString = StringUtils.convertToQuotedString(ssid); + return ssidIgnoreCase ? quotedString.equalsIgnoreCase(other) + : quotedString.equals(other); + } + public void onPause() { if (isRegistered) { mContext.unregisterReceiver(mReceiver);