Add the nopass handling in the Android client.
authorvikrama <vikrama@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 17 Jun 2010 04:33:59 +0000 (04:33 +0000)
committervikrama <vikrama@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 17 Jun 2010 04:33:59 +0000 (04:33 +0000)
TODO:
1. Document the encoding.
2. Test out the interaction with appspot.com with escaped semicolons and colons

git-svn-id: http://zxing.googlecode.com/svn/trunk@1440 59b500cc-1b3d-0410-9834-0bbf25fbcc57

android/src/com/google/zxing/client/android/wifi/WifiActivity.java

index 82f43a3..344e3fd 100644 (file)
@@ -45,12 +45,14 @@ public class WifiActivity extends Activity  {
   private ConnectedReceiver connectedReceiver;
 
   public enum NetworkType {
-    NETWORK_WEP, NETWORK_WPA,
+    NETWORK_WEP, NETWORK_WPA, NETWORK_NOPASS,
   }
 
   private int changeNetwork(NetworkSetting setting) {
     // If the password is empty, this is an unencrypted network
-    if (setting.getPassword() == null || setting.getPassword().length() == 0) {
+    if (setting.getPassword() == null || setting.getPassword().length() == 0 ||
+        setting.getNetworkType() == null ||
+        setting.getNetworkType() == NetworkType.NETWORK_NOPASS) {
       return changeNetworkUnEncrypted(setting);
     }
     if (setting.getNetworkType() == NetworkType.NETWORK_WPA) {
@@ -157,6 +159,8 @@ public class WifiActivity extends Activity  {
       networkT = NetworkType.NETWORK_WPA;
     } else if (networkType.contains("WEP")) {
       networkT = NetworkType.NETWORK_WEP;
+    } else if (networkType.contains("nopass")) {
+     networkT = NetworkType.NETWORK_NOPASS; 
     } else {
       // Got an incorrect network type
       finish();