From 52a7755751585f9d17965a2c07fd51eaee042126 Mon Sep 17 00:00:00 2001 From: Jianzheng Zhou Date: Sat, 8 Feb 2014 12:43:07 +0800 Subject: [PATCH] DO NOT MERGE refactor wifi p2p's startDhcpServer function Add getTetheredDhcpRanges() interface and call it before calling mNwService.startTethering() to update dhcp ranges. This will allow p2p app to run well concurrently with other tethering app(e.g. usb tethering). Change-Id: I5e8ffeb5d2d396f48b897cd9396f133e25ecca57 Signed-off-by: Jianzheng Zhou --- core/java/android/net/ConnectivityManager.java | 17 +++++++++++++++++ core/java/android/net/IConnectivityManager.aidl | 2 ++ .../com/android/server/ConnectivityService.java | 5 +++++ 3 files changed, 24 insertions(+) diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 70c8750623..2aff5f2d69 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -928,6 +928,23 @@ public class ConnectivityManager { } } + /** + * Get the set of tethered dhcp ranges. + * + * @return an array of 0 or more Strings of tethered dhcp ranges. + * + *

This method requires the call to hold the permission + * {@link android.Manifest.permission#ACCESS_NETWORK_STATE}. + * {@hide} + */ + public String[] getTetheredDhcpRanges() { + try { + return mService.getTetheredDhcpRanges(); + } catch (RemoteException e) { + return new String[0]; + } + } + /** * Get the set of tethered interfaces. * diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index 4bca7fefbc..3bfd88ec6c 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -91,6 +91,8 @@ interface IConnectivityManager String[] getTetherableIfaces(); + String[] getTetheredDhcpRanges(); + String[] getTetheredIfaces(); String[] getTetheringErroredIfaces(); diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index b7a1a55e14..2d1921e794 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -3297,6 +3297,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { return mTethering.getTetherableIfaces(); } + public String[] getTetheredDhcpRanges() { + enforceConnectivityInternalPermission(); + return mTethering.getTetheredDhcpRanges(); + } + public String[] getTetheredIfaces() { enforceTetherAccessPermission(); return mTethering.getTetheredIfaces();