Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0258a23 authored by Jean Chalard's avatar Jean Chalard Committed by Chalard Jean
Browse files

[resolved conflict] Merge "Remove deprecated NMS methods from V" into main am: 0dfbd68f

parent ba5ca297
Loading
Loading
Loading
Loading
+29 −10
Original line number Original line Diff line number Diff line
@@ -126,50 +126,65 @@ interface INetworkManagementService
    /**
    /**
     * Returns true if IP forwarding is enabled
     * Returns true if IP forwarding is enabled
     */
     */
    @UnsupportedAppUsage
    @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553,
            publicAlternatives = "Use {@code android.net.INetd#ipfwdEnabled}")
    boolean getIpForwardingEnabled();
    boolean getIpForwardingEnabled();


    /**
    /**
     * Enables/Disables IP Forwarding
     * 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);
    void setIpForwardingEnabled(boolean enabled);


    /**
    /**
     * Start tethering services with the specified dhcp server range
     * Start tethering services with the specified dhcp server range
     * arg is a set of start end pairs defining the ranges.
     * 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);
    void startTethering(in String[] dhcpRanges);


    /**
    /**
     * Stop currently running tethering services
     * Stop currently running tethering services
     */
     */
    @UnsupportedAppUsage
    @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553,
            publicAlternatives = "{@code android.net.TetheringManager#stopTethering(int)}")
    void stopTethering();
    void stopTethering();


    /**
    /**
     * Returns true if tethering services are started
     * 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();
    boolean isTetheringStarted();


    /**
    /**
     * Tethers the specified interface
     * 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);
    void tetherInterface(String iface);


    /**
    /**
     * Untethers the specified interface
     * 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);
    void untetherInterface(String iface);


    /**
    /**
     * Returns a list of currently tethered interfaces
     * Returns a list of currently tethered interfaces
     */
     */
    @UnsupportedAppUsage
    @UnsupportedAppUsage(maxTargetSdk = 34, trackingBug = 170729553,
            publicAlternatives = "{@code android.net.TetheringManager#getTetheredIfaces()}")
    String[] listTetheredInterfaces();
    String[] listTetheredInterfaces();


    /**
    /**
@@ -177,13 +192,17 @@ interface INetworkManagementService
     *  The address and netmask of the external interface is used for
     *  The address and netmask of the external interface is used for
     *  the NAT'ed network.
     *  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);
    void enableNat(String internalInterface, String externalInterface);


    /**
    /**
     *  Disables Network Address Translation between two interfaces.
     *  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);
    void disableNat(String internalInterface, String externalInterface);


    /**
    /**
+34 −2
Original line number Original line Diff line number Diff line
@@ -73,6 +73,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.app.IBatteryStats;
import com.android.internal.app.IBatteryStats;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.HexDump;
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;
import com.android.net.module.util.NetdUtils.ModifyOperation;
import com.android.net.module.util.NetdUtils.ModifyOperation;
import com.android.net.module.util.PermissionUtils;
import com.android.net.module.util.PermissionUtils;
@@ -782,7 +783,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public boolean getIpForwardingEnabled() throws IllegalStateException{
    public boolean getIpForwardingEnabled() throws IllegalStateException{
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);

        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException(
                    "NMS#getIpForwardingEnabled not supported in V+");
        }
        try {
        try {
            return mNetdService.ipfwdEnabled();
            return mNetdService.ipfwdEnabled();
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -793,7 +797,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void setIpForwardingEnabled(boolean enable) {
    public void setIpForwardingEnabled(boolean enable) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        try {
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException(
                    "NMS#setIpForwardingEnabled not supported in V+");
        }        try {
            if (enable) {
            if (enable) {
                mNetdService.ipfwdEnableForwarding("tethering");
                mNetdService.ipfwdEnableForwarding("tethering");
            } else {
            } else {
@@ -807,6 +814,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void startTethering(String[] dhcpRange) {
    public void startTethering(String[] dhcpRange) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#startTethering not supported in V+");
        }
        try {
        try {
            NetdUtils.tetherStart(mNetdService, true /* usingLegacyDnsProxy */, dhcpRange);
            NetdUtils.tetherStart(mNetdService, true /* usingLegacyDnsProxy */, dhcpRange);
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -817,6 +827,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void stopTethering() {
    public void stopTethering() {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#stopTethering not supported in V+");
        }
        try {
        try {
            mNetdService.tetherStop();
            mNetdService.tetherStop();
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -827,6 +840,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public boolean isTetheringStarted() {
    public boolean isTetheringStarted() {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#isTetheringStarted not supported in V+");
        }
        try {
        try {
            return mNetdService.tetherIsEnabled();
            return mNetdService.tetherIsEnabled();
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -837,6 +853,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void tetherInterface(String iface) {
    public void tetherInterface(String iface) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#tetherInterface not supported in V+");
        }
        try {
        try {
            final LinkAddress addr = getInterfaceConfig(iface).getLinkAddress();
            final LinkAddress addr = getInterfaceConfig(iface).getLinkAddress();
            final IpPrefix dest = new IpPrefix(addr.getAddress(), addr.getPrefixLength());
            final IpPrefix dest = new IpPrefix(addr.getAddress(), addr.getPrefixLength());
@@ -849,6 +868,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void untetherInterface(String iface) {
    public void untetherInterface(String iface) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#untetherInterface not supported in V+");
        }
        try {
        try {
            NetdUtils.untetherInterface(mNetdService, iface);
            NetdUtils.untetherInterface(mNetdService, iface);
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -859,6 +881,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public String[] listTetheredInterfaces() {
    public String[] listTetheredInterfaces() {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException(
                    "NMS#listTetheredInterfaces not supported in V+");
        }
        try {
        try {
            return mNetdService.tetherInterfaceList();
            return mNetdService.tetherInterfaceList();
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -869,6 +895,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void enableNat(String internalInterface, String externalInterface) {
    public void enableNat(String internalInterface, String externalInterface) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#enableNat not supported in V+");
        }
        try {
        try {
            mNetdService.tetherAddForward(internalInterface, externalInterface);
            mNetdService.tetherAddForward(internalInterface, externalInterface);
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {
@@ -879,6 +908,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub {
    @Override
    @Override
    public void disableNat(String internalInterface, String externalInterface) {
    public void disableNat(String internalInterface, String externalInterface) {
        PermissionUtils.enforceNetworkStackPermission(mContext);
        PermissionUtils.enforceNetworkStackPermission(mContext);
        if (SdkLevel.isAtLeastV()) {
            throw new UnsupportedOperationException("NMS#disableNat not supported in V+");
        }
        try {
        try {
            mNetdService.tetherRemoveForward(internalInterface, externalInterface);
            mNetdService.tetherRemoveForward(internalInterface, externalInterface);
        } catch (RemoteException | ServiceSpecificException e) {
        } catch (RemoteException | ServiceSpecificException e) {