diff options
| author | 2023-08-30 03:15:44 +0000 | |
|---|---|---|
| committer | 2023-08-30 19:58:59 +0900 | |
| commit | a0258a23e20955444f6a9df3a8b5d31c22d33c33 (patch) | |
| tree | 7cadb9cc5d82b50f6830fff5d9374628d7de2d96 | |
| parent | ba5ca29715122668396f6c62376dd98e04ed94e5 (diff) | |
[resolved conflict] Merge "Remove deprecated NMS methods from V" into main am: 0dfbd68f76
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2727194
Change-Id: If89b084ab1c9d0cb978c21c5ad4d21e0bd980a37
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | core/java/android/os/INetworkManagementService.aidl | 39 | ||||
| -rw-r--r-- | services/core/java/com/android/server/net/NetworkManagementService.java | 36 |
2 files changed, 63 insertions, 12 deletions
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl index ed14652c0f0a..1a3dcee427d8 100644 --- a/core/java/android/os/INetworkManagementService.aidl +++ b/core/java/android/os/INetworkManagementService.aidl @@ -126,50 +126,65 @@ interface INetworkManagementService /** * Returns true if IP forwarding is enabled */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Use {@code android.net.INetd#ipfwdEnabled}") boolean getIpForwardingEnabled(); /** * Enables/Disables IP Forwarding */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Avoid using this directly. Instead, enable tethering with " + + "{@code android.net.TetheringManager#startTethering}. See also " + + "{@code INetd#ipfwdEnableForwarding(String)}.") void setIpForwardingEnabled(boolean enabled); /** * Start tethering services with the specified dhcp server range * arg is a set of start end pairs defining the ranges. */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "{@code android.net.TetheringManager#startTethering}") void startTethering(in String[] dhcpRanges); /** * Stop currently running tethering services */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "{@code android.net.TetheringManager#stopTethering(int)}") void stopTethering(); /** * Returns true if tethering services are started */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Generally track your own tethering requests. " + + "See also {@code android.net.INetd#tetherIsEnabled()}") boolean isTetheringStarted(); /** * Tethers the specified interface */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Avoid using this directly. Instead, enable tethering with " + + "{@code android.net.TetheringManager#startTethering}. See also " + + "{@code com.android.net.module.util.NetdUtils#tetherInterface}.") void tetherInterface(String iface); /** * Untethers the specified interface */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Avoid using this directly. Instead, disable " + + "tethering with {@code android.net.TetheringManager#stopTethering(int)}. " + + "See also {@code NetdUtils#untetherInterface}.") void untetherInterface(String iface); /** * Returns a list of currently tethered interfaces */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "{@code android.net.TetheringManager#getTetheredIfaces()}") String[] listTetheredInterfaces(); /** @@ -177,13 +192,17 @@ interface INetworkManagementService * The address and netmask of the external interface is used for * the NAT'ed network. */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Avoid using this directly. Instead, enable tethering with " + + "{@code android.net.TetheringManager#startTethering}.") void enableNat(String internalInterface, String externalInterface); /** * Disables Network Address Translation between two interfaces. */ - @UnsupportedAppUsage + @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553, + publicAlternatives = "Avoid using this directly. Instead, disable tethering with " + + "{@code android.net.TetheringManager#stopTethering(int)}.") void disableNat(String internalInterface, String externalInterface); /** diff --git a/services/core/java/com/android/server/net/NetworkManagementService.java b/services/core/java/com/android/server/net/NetworkManagementService.java index 39b8bfd51e3f..36adea7e0112 100644 --- a/services/core/java/com/android/server/net/NetworkManagementService.java +++ b/services/core/java/com/android/server/net/NetworkManagementService.java @@ -73,6 +73,7 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.app.IBatteryStats; import com.android.internal.util.DumpUtils; import com.android.internal.util.HexDump; +import com.android.modules.utils.build.SdkLevel; import com.android.net.module.util.NetdUtils; import com.android.net.module.util.NetdUtils.ModifyOperation; import com.android.net.module.util.PermissionUtils; @@ -782,7 +783,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public boolean getIpForwardingEnabled() throws IllegalStateException{ PermissionUtils.enforceNetworkStackPermission(mContext); - + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException( + "NMS#getIpForwardingEnabled not supported in V+"); + } try { return mNetdService.ipfwdEnabled(); } catch (RemoteException | ServiceSpecificException e) { @@ -793,7 +797,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void setIpForwardingEnabled(boolean enable) { PermissionUtils.enforceNetworkStackPermission(mContext); - try { + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException( + "NMS#setIpForwardingEnabled not supported in V+"); + } try { if (enable) { mNetdService.ipfwdEnableForwarding("tethering"); } else { @@ -807,6 +814,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void startTethering(String[] dhcpRange) { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#startTethering not supported in V+"); + } try { NetdUtils.tetherStart(mNetdService, true /* usingLegacyDnsProxy */, dhcpRange); } catch (RemoteException | ServiceSpecificException e) { @@ -817,6 +827,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void stopTethering() { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#stopTethering not supported in V+"); + } try { mNetdService.tetherStop(); } catch (RemoteException | ServiceSpecificException e) { @@ -827,6 +840,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public boolean isTetheringStarted() { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#isTetheringStarted not supported in V+"); + } try { return mNetdService.tetherIsEnabled(); } catch (RemoteException | ServiceSpecificException e) { @@ -837,6 +853,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void tetherInterface(String iface) { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#tetherInterface not supported in V+"); + } try { final LinkAddress addr = getInterfaceConfig(iface).getLinkAddress(); final IpPrefix dest = new IpPrefix(addr.getAddress(), addr.getPrefixLength()); @@ -849,6 +868,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void untetherInterface(String iface) { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#untetherInterface not supported in V+"); + } try { NetdUtils.untetherInterface(mNetdService, iface); } catch (RemoteException | ServiceSpecificException e) { @@ -859,6 +881,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public String[] listTetheredInterfaces() { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException( + "NMS#listTetheredInterfaces not supported in V+"); + } try { return mNetdService.tetherInterfaceList(); } catch (RemoteException | ServiceSpecificException e) { @@ -869,6 +895,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void enableNat(String internalInterface, String externalInterface) { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#enableNat not supported in V+"); + } try { mNetdService.tetherAddForward(internalInterface, externalInterface); } catch (RemoteException | ServiceSpecificException e) { @@ -879,6 +908,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub { @Override public void disableNat(String internalInterface, String externalInterface) { PermissionUtils.enforceNetworkStackPermission(mContext); + if (SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException("NMS#disableNat not supported in V+"); + } try { mNetdService.tetherRemoveForward(internalInterface, externalInterface); } catch (RemoteException | ServiceSpecificException e) { |