Snap for 6686656 from 6e1d96a6315ba2bbebd4853ce1150d4e6a55d767 to sdk-release

Change-Id: I1d245c27fd01c4647f5b549ff07f86b493c09fcb
diff --git a/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java b/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java
index 48ed2dc..aa50cca 100644
--- a/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java
+++ b/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProvider.java
@@ -17,8 +17,10 @@
 package com.android.managedprovisioning.task.wifi;
 
 import android.annotation.Nullable;
+import android.net.IpConfiguration;
 import android.net.IpConfiguration.ProxySettings;
 import android.net.ProxyInfo;
+import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiEnterpriseConfig;
 import android.text.TextUtils;
@@ -320,13 +322,15 @@
         if (TextUtils.isEmpty(proxyHost) && TextUtils.isEmpty(pacUrl)) {
             return;
         }
+        IpConfiguration ipConfig = wifiConf.getIpConfiguration();
         if (!TextUtils.isEmpty(proxyHost)) {
-            ProxyInfo proxy = new ProxyInfo(proxyHost, proxyPort, proxyBypassHosts);
-            wifiConf.setProxy(ProxySettings.STATIC, proxy);
+            ipConfig.setProxySettings(ProxySettings.STATIC);
+            ipConfig.setHttpProxy(new ProxyInfo(proxyHost, proxyPort, proxyBypassHosts));
         } else {
-            ProxyInfo proxy = new ProxyInfo(pacUrl);
-            wifiConf.setProxy(ProxySettings.PAC, proxy);
+            ipConfig.setProxySettings(ProxySettings.PAC);
+            ipConfig.setHttpProxy(new ProxyInfo(Uri.parse(pacUrl)));
         }
+        wifiConf.setIpConfiguration(ipConfig);
     }
 
     private int getEAPMethodFromString(String eapMethod) {
@@ -342,4 +346,4 @@
         }
         throw new IllegalArgumentException("Unknown Phase 2 authentication method: " + phase2Auth);
     }
-}
\ No newline at end of file
+}
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java
index 3122872..bf75b2b 100644
--- a/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/wifi/WifiConfigurationProviderTest.java
@@ -115,7 +115,8 @@
         assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK));
         assertTrue(wifiConf.allowedProtocols.get(WifiConfiguration.Protocol.WPA));
         assertEquals("\"" + TEST_PASSWORD + "\"", wifiConf.preSharedKey);
-        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -125,7 +126,8 @@
         assertBase(wifiConf);
         assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
         assertEquals("\"" + TEST_PASSWORD + "\"", wifiConf.wepKeys[0]);
-        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -135,7 +137,8 @@
         assertBase(wifiConf);
         assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
         assertEquals(TEST_PASSWORD_WEP, wifiConf.wepKeys[0]);
-        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -145,7 +148,8 @@
         assertBase(wifiConf);
         assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
         assertTrue(wifiConf.allowedAuthAlgorithms.get(WifiConfiguration.AuthAlgorithm.OPEN));
-        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -155,7 +159,8 @@
         assertBase(wifiConf);
         assertTrue(wifiConf.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE));
         assertTrue(wifiConf.allowedAuthAlgorithms.get(WifiConfiguration.AuthAlgorithm.OPEN));
-        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.UNASSIGNED,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -163,7 +168,8 @@
         WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_PAC);
 
         assertBase(wifiConf);
-        assertEquals(IpConfiguration.ProxySettings.PAC, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.PAC,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test
@@ -171,7 +177,8 @@
         WifiConfiguration wifiConf = mProvider.generateWifiConfiguration(WIFI_INFO_PROXY);
 
         assertBase(wifiConf);
-        assertEquals(IpConfiguration.ProxySettings.STATIC, wifiConf.getProxySettings());
+        assertEquals(IpConfiguration.ProxySettings.STATIC,
+                wifiConf.getIpConfiguration().getProxySettings());
     }
 
     @Test