merge in lmp-mr1-release history after reset to lmp-mr1-dev
diff --git a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
index f66148f..109bb98 100644
--- a/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
+++ b/src/com/android/managedprovisioning/DeviceOwnerProvisioningService.java
@@ -197,29 +197,33 @@
         if (DEBUG) ProvisionLogger.logd("Starting device owner provisioning");
 
         // Construct Tasks. Do not start them yet.
-        mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.mWifiSsid,
-                params.mWifiHidden, params.mWifiSecurityType, params.mWifiPassword,
-                params.mWifiProxyHost, params.mWifiProxyPort, params.mWifiProxyBypassHosts,
-                params.mWifiPacUrl, new AddWifiNetworkTask.Callback() {
-                        @Override
-                        public void onSuccess() {
-                            if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
-                                // Download, install, set as device owner, delete apps.
-                                progressUpdate(R.string.progress_download);
-                                mDownloadPackageTask.run();
-                            } else {
-                                // Device Admin will not be downloaded (but is already present):
-                                // Just set as device owner, delete apps.
-                                progressUpdate(R.string.progress_set_owner);
-                                mSetDevicePolicyTask.run();
+        if (TextUtils.isEmpty(params.mWifiSsid)) {
+            mAddWifiNetworkTask = null;
+        } else {
+            mAddWifiNetworkTask = new AddWifiNetworkTask(this, params.mWifiSsid,
+                    params.mWifiHidden, params.mWifiSecurityType, params.mWifiPassword,
+                    params.mWifiProxyHost, params.mWifiProxyPort, params.mWifiProxyBypassHosts,
+                    params.mWifiPacUrl, new AddWifiNetworkTask.Callback() {
+                            @Override
+                            public void onSuccess() {
+                                if (!TextUtils.isEmpty(params.mDeviceAdminPackageDownloadLocation)) {
+                                    // Download, install, set as device owner, delete apps.
+                                    progressUpdate(R.string.progress_download);
+                                    mDownloadPackageTask.run();
+                                } else {
+                                    // Device Admin will not be downloaded (but is already present):
+                                    // Just set as device owner, delete apps.
+                                    progressUpdate(R.string.progress_set_owner);
+                                    mSetDevicePolicyTask.run();
+                                }
                             }
-                        }
 
-                        @Override
-                        public void onError(){
-                            error(R.string.device_owner_error_wifi);
-                        }
-                });
+                            @Override
+                            public void onError(){
+                                error(R.string.device_owner_error_wifi);
+                            }
+                        });
+        }
 
         mDownloadPackageTask = new DownloadPackageTask(this,
                 params.mDeviceAdminPackageDownloadLocation, params.mDeviceAdminPackageChecksum,
@@ -324,7 +328,7 @@
     }
 
     private void startFirstTask(final ProvisioningParams params) {
-        if (!TextUtils.isEmpty(params.mWifiSsid)) {
+        if (mAddWifiNetworkTask != null) {
 
             // Connect to wifi.
             progressUpdate(R.string.progress_connect_to_wifi);
diff --git a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
index f78ac57..4d8d89f 100644
--- a/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
+++ b/src/com/android/managedprovisioning/task/AddWifiNetworkTask.java
@@ -71,7 +71,7 @@
         mCallback = callback;
         mContext = context;
         if (TextUtils.isEmpty(ssid)) {
-            throw new IllegalArgumentException("The ssid must be non-null.");
+            throw new IllegalArgumentException("The ssid must be non-empty.");
         }
         mSsid = ssid;
         mHidden = hidden;