Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c82d1dda authored by Glen Kuhne's avatar Glen Kuhne Committed by Gerrit Code Review
Browse files

Merge "Unhide WifiConfiguration proxy accessors"

parents 1aa24246 6862d2f6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -24528,7 +24528,9 @@ package android.net.wifi {
  public class WifiConfiguration implements android.os.Parcelable {
    ctor public WifiConfiguration();
    method public int describeContents();
    method public android.net.ProxyInfo getHttpProxy();
    method public boolean isPasspoint();
    method public void setHttpProxy(android.net.ProxyInfo);
    method public void writeToParcel(android.os.Parcel, int);
    field public java.lang.String BSSID;
    field public java.lang.String FQDN;
+2 −0
Original line number Diff line number Diff line
@@ -26865,9 +26865,11 @@ package android.net.wifi {
  public class WifiConfiguration implements android.os.Parcelable {
    ctor public WifiConfiguration();
    method public int describeContents();
    method public android.net.ProxyInfo getHttpProxy();
    method public boolean hasNoInternetAccess();
    method public boolean isNoInternetAccessExpected();
    method public boolean isPasspoint();
    method public void setHttpProxy(android.net.ProxyInfo);
    method public void writeToParcel(android.os.Parcel, int);
    field public java.lang.String BSSID;
    field public java.lang.String FQDN;
+2 −0
Original line number Diff line number Diff line
@@ -24601,7 +24601,9 @@ package android.net.wifi {
  public class WifiConfiguration implements android.os.Parcelable {
    ctor public WifiConfiguration();
    method public int describeContents();
    method public android.net.ProxyInfo getHttpProxy();
    method public boolean isPasspoint();
    method public void setHttpProxy(android.net.ProxyInfo);
    method public void writeToParcel(android.os.Parcel, int);
    field public java.lang.String BSSID;
    field public java.lang.String FQDN;
+39 −4
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.net.IpConfiguration;
import android.net.IpConfiguration.ProxySettings;
import android.net.ProxyInfo;
import android.net.StaticIpConfiguration;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
@@ -1805,14 +1806,48 @@ public class WifiConfiguration implements Parcelable {
        mIpConfiguration.proxySettings = proxySettings;
    }

    /** @hide */
    /**
     * Returns the HTTP proxy used by this object.
     * @return a {@link ProxyInfo httpProxy} representing the proxy specified by this
     *                  WifiConfiguration, or {@code null} if no proxy is specified.
     */
    public ProxyInfo getHttpProxy() {
        return mIpConfiguration.httpProxy;
        if (mIpConfiguration.proxySettings == IpConfiguration.ProxySettings.NONE) {
            return null;
        }
        return new ProxyInfo(mIpConfiguration.httpProxy);
    }

    /** @hide */
    /**
     * Set the {@link ProxyInfo} for this WifiConfiguration.
     * @param httpProxy {@link ProxyInfo} representing the httpProxy to be used by this
     *                  WifiConfiguration. Setting this {@code null} will explicitly set no proxy,
     *                  removing any proxy that was previously set.
     * @exception throw IllegalArgumentException for invalid httpProxy
     */
    public void setHttpProxy(ProxyInfo httpProxy) {
        mIpConfiguration.httpProxy = httpProxy;
        if (httpProxy == null) {
            mIpConfiguration.setProxySettings(IpConfiguration.ProxySettings.NONE);
            mIpConfiguration.setHttpProxy(null);
            return;
        }
        ProxyInfo httpProxyCopy;
        ProxySettings proxySettingCopy;
        if (!Uri.EMPTY.equals(httpProxy.getPacFileUrl())) {
            proxySettingCopy = IpConfiguration.ProxySettings.PAC;
            // Construct a new PAC URL Proxy
            httpProxyCopy = new ProxyInfo(httpProxy.getPacFileUrl(), httpProxy.getPort());
        } else {
            proxySettingCopy = IpConfiguration.ProxySettings.STATIC;
            // Construct a new HTTP Proxy
            httpProxyCopy = new ProxyInfo(httpProxy.getHost(), httpProxy.getPort(),
                    httpProxy.getExclusionListAsString());
        }
        if (!httpProxyCopy.isValid()) {
            throw new IllegalArgumentException("Invalid ProxyInfo: " + httpProxyCopy.toString());
        }
        mIpConfiguration.setProxySettings(proxySettingCopy);
        mIpConfiguration.setHttpProxy(httpProxyCopy);
    }

    /** @hide */
+4 −0
Original line number Diff line number Diff line
@@ -791,6 +791,8 @@ public class WifiManager {
     *
     * @param config the set of variables that describe the configuration,
     *            contained in a {@link WifiConfiguration} object.
     *            If the {@link WifiConfiguration} has an Http Proxy set
     *            the calling app must be System, or be provisioned as the Profile or Device Owner.
     * @return the ID of the newly created network description. This is used in
     *         other operations to specified the network to be acted upon.
     *         Returns {@code -1} on failure.
@@ -811,6 +813,8 @@ public class WifiManager {
     *            be sparse, so that only the items that are being changed
     *            are non-<code>null</code>. The {@code networkId} field
     *            must be set to the ID of the existing network being updated.
     *            If the {@link WifiConfiguration} has an Http Proxy set
     *            the calling app must be System, or be provisioned as the Profile or Device Owner.
     * @return Returns the {@code networkId} of the supplied
     *         {@code WifiConfiguration} on success.
     *         <br/>