From b0d52464f10da66caf5a9a36778acd0ce362b6ee Mon Sep 17 00:00:00 2001 From: Luke Huang Date: Thu, 21 Mar 2019 14:43:08 +0800 Subject: Support enable/disable dns forwarding of dnsmasq when start tethering Bug: 128782815 Test: built, flashed, booted Change-Id: Ic6ee985b42cbe77e8f2208fba62108604fc7bbcf --- core/java/android/os/INetworkManagementService.aidl | 8 ++++++++ services/core/Android.bp | 2 +- .../core/java/com/android/server/NetworkManagementService.java | 8 ++++++-- services/net/Android.bp | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl index 135138030e43..9b8a40a6cab0 100644 --- a/core/java/android/os/INetworkManagementService.aidl +++ b/core/java/android/os/INetworkManagementService.aidl @@ -149,6 +149,14 @@ interface INetworkManagementService @UnsupportedAppUsage void startTethering(in String[] dhcpRanges); + /** + * Start tethering services with the specified dhcp server range and + * DNS proxy config. + * {@code boolean} is used to control legacy DNS proxy server. + * {@code String[]} is a set of start end pairs defining the ranges. + */ + void startTetheringWithConfiguration(boolean usingLegacyDnsProxy, in String[] dhcpRanges); + /** * Stop currently running tethering services */ diff --git a/services/core/Android.bp b/services/core/Android.bp index 4d8d99210d81..5c9921ac20a6 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -51,7 +51,7 @@ java_library_static { "android.hardware.contexthub-V1.0-java", "android.hidl.manager-V1.2-java", "dnsresolver_aidl_interface-V2-java", - "netd_aidl_interface-V2-java", + "netd_aidl_interface-java", "netd_event_listener_interface-java", ], } diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java index e29bf8d294de..7f19f0610ef1 100644 --- a/services/core/java/com/android/server/NetworkManagementService.java +++ b/services/core/java/com/android/server/NetworkManagementService.java @@ -1003,11 +1003,15 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void startTethering(String[] dhcpRange) { + startTetheringWithConfiguration(true, dhcpRange); + } + + @Override + public void startTetheringWithConfiguration(boolean usingLegacyDnsProxy, String[] dhcpRange) { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); // an odd number of addrs will fail - try { - mNetdService.tetherStart(dhcpRange); + mNetdService.tetherStartWithConfiguration(usingLegacyDnsProxy, dhcpRange); } catch (RemoteException | ServiceSpecificException e) { throw new IllegalStateException(e); } diff --git a/services/net/Android.bp b/services/net/Android.bp index fb548f9975c5..8f8f9f9bbf55 100644 --- a/services/net/Android.bp +++ b/services/net/Android.bp @@ -67,7 +67,7 @@ java_library_static { static_libs: [ "dnsresolver_aidl_interface-V2-java", "ipmemorystore-client", - "netd_aidl_interface-V2-java", + "netd_aidl_interface-java", "networkstack-aidl-interfaces-V3-java", ], } -- cgit v1.2.3-59-g8ed1b