diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 2dd467cc96..a7e03fc7b4 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -1499,6 +1499,20 @@ public class ConnectivityManager { } } + /** + * Get the set of tethered dhcp ranges. + * + * @return an array of 0 or more {@code String} of tethered dhcp ranges. + * {@hide} + */ + public String[] getTetheredDhcpRanges() { + try { + return mService.getTetheredDhcpRanges(); + } catch (RemoteException e) { + return new String[0]; + } + } + /** * Attempt to tether the named interface. This will setup a dhcp server * on the interface, forward and NAT IP packets and forward DNS requests diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index ca722b7f99..b76fc3881c 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -93,6 +93,8 @@ interface IConnectivityManager String[] getTetheringErroredIfaces(); + String[] getTetheredDhcpRanges(); + String[] getTetherableUsbRegexs(); String[] getTetherableWifiRegexs(); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 429a72d143..6fc7c6ba61 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3684,6 +3684,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { return mTethering.getErroredIfaces(); } + public String[] getTetheredDhcpRanges() { + enforceConnectivityInternalPermission(); + return mTethering.getTetheredDhcpRanges(); + } + // if ro.tether.denied = true we default to no tethering // gservices could set the secure setting to 1 though to enable it on a build where it // had previously been turned off.