wifi: add API for retrieving Hotspot 2.0 OSU providers

For an R2 Passpoint AP, there might be zero or more OSU providers
associated it.  Add an API to retrieve the associated OSU providers.

Bug: 62235301
Test: manual test by exercising this API in WifiTracker and verify
      the content of the OSU provider

Change-Id: I2e730f0b16d80e0b97b4ce7cbd086b606e71eb0c
Merged-In: I2e730f0b16d80e0b97b4ce7cbd086b606e71eb0c
This commit is contained in:
Peter Qiu
2017-06-06 14:39:12 -07:00
parent 63f23f8dd7
commit e78c25e970
2 changed files with 23 additions and 3 deletions

View File

@@ -19,6 +19,7 @@ package android.net.wifi;
import android.content.pm.ParceledListSlice;
import android.net.wifi.hotspot2.OsuProvider;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.net.wifi.WifiConfiguration;
@@ -61,6 +62,8 @@ interface IWifiManager
WifiConfiguration getMatchingWifiConfig(in ScanResult scanResult);
List<OsuProvider> getMatchingOsuProviders(in ScanResult scanResult);
int addOrUpdateNetwork(in WifiConfiguration config);
boolean addOrUpdatePasspointConfiguration(in PasspointConfiguration config);

View File

@@ -30,6 +30,7 @@ import android.net.DhcpInfo;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
import android.net.wifi.hotspot2.OsuProvider;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.os.Binder;
import android.os.Build;
@@ -1000,11 +1001,9 @@ public class WifiManager {
/**
* Returns a WifiConfiguration matching this ScanResult
*
* An {@link UnsupportedOperationException} will be thrown if Passpoint is not enabled
* on the device.
*
* @param scanResult scanResult that represents the BSSID
* @return {@link WifiConfiguration} that matches this BSSID or null
* @throws UnsupportedOperationException if Passpoint is not enabled on the device.
* @hide
*/
public WifiConfiguration getMatchingWifiConfig(ScanResult scanResult) {
@@ -1015,6 +1014,24 @@ public class WifiManager {
}
}
/**
* Returns a list of Hotspot 2.0 OSU (Online Sign-Up) providers associated with the given AP.
*
* An empty list will be returned if no match is found.
*
* @param scanResult scanResult that represents the BSSID
* @return list of {@link OsuProvider}
* @throws UnsupportedOperationException if Passpoint is not enabled on the device.
* @hide
*/
public List<OsuProvider> getMatchingOsuProviders(ScanResult scanResult) {
try {
return mService.getMatchingOsuProviders(scanResult);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/**
* Add a new network description to the set of configured networks.
* The {@code networkId} field of the supplied configuration object