diff --git a/api/system-current.txt b/api/system-current.txt index ca92c45ebd9ed..fc9ae9bf8848d 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -21106,6 +21106,7 @@ package android.net.wifi { method public boolean reconnect(); method public boolean removeNetwork(int); method public boolean saveConfiguration(); + method public boolean setMetered(int, boolean); method public void setTdlsEnabled(java.net.InetAddress, boolean); method public void setTdlsEnabledWithMacAddress(java.lang.String, boolean); method public boolean setWifiEnabled(boolean); diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 4133cda9fe01b..0a859a15b3f6f 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -883,6 +883,24 @@ public class WifiManager { } } + /** + * Sets whether or not the given network is metered from a network policy + * point of view. A network should be classified as metered when the user is + * sensitive to heavy data usage on that connection due to monetary costs, + * data limitations or battery/performance issues. A typical example would + * be a wifi connection where the user was being charged for usage. + * @param netId the integer that identifies the network configuration + * to the supplicant. + * @param isMetered True to mark the network as metered. + * @return {@code true} if the operation succeeded. + * @hide + */ + @SystemApi + public boolean setMetered(int netId, boolean isMetered) { + // TODO(jjoslin): Implement + return false; + } + /** * Remove the specified network from the list of configured networks. * This may result in the asynchronous delivery of state change