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

Commit e30d9267 authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by Gerrit Code Review
Browse files

Merge "Make Ethernet interfaces more testable."

parents 2435a653 da4fe152
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1442,6 +1442,7 @@ package android.net {


  public class EthernetManager {
  public class EthernetManager {
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
    method public void setIncludeTestInterfaces(boolean);
  }
  }


  public static interface EthernetManager.TetheredInterfaceCallback {
  public static interface EthernetManager.TetheredInterfaceCallback {
+15 −0
Original line number Original line Diff line number Diff line
@@ -199,6 +199,21 @@ public class EthernetManager {
        }
        }
    }
    }


    /**
     * Whether to treat interfaces created by {@link TestNetworkManager#createTapInterface}
     * as Ethernet interfaces. The effects of this method apply to any test interfaces that are
     * already present on the system.
     * @hide
     */
    @TestApi
    public void setIncludeTestInterfaces(boolean include) {
        try {
            mService.setIncludeTestInterfaces(include);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
    /**
     * A request for a tethered interface.
     * A request for a tethered interface.
     */
     */
+1 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ interface IEthernetManager
    boolean isAvailable(String iface);
    boolean isAvailable(String iface);
    void addListener(in IEthernetServiceListener listener);
    void addListener(in IEthernetServiceListener listener);
    void removeListener(in IEthernetServiceListener listener);
    void removeListener(in IEthernetServiceListener listener);
    void setIncludeTestInterfaces(boolean include);
    void requestTetheredInterface(in ITetheredInterfaceCallback callback);
    void requestTetheredInterface(in ITetheredInterfaceCallback callback);
    void releaseTetheredInterface(in ITetheredInterfaceCallback callback);
    void releaseTetheredInterface(in ITetheredInterfaceCallback callback);
}
}
+12 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,18 @@ import com.android.internal.util.Preconditions;
 */
 */
@TestApi
@TestApi
public class TestNetworkManager {
public class TestNetworkManager {
    /**
     * Prefix for tun interfaces created by this class.
     * @hide
     */
    public static final String TEST_TUN_PREFIX = "testtun";

    /**
     * Prefix for tap interfaces created by this class.
     * @hide
     */
    public static final String TEST_TAP_PREFIX = "testtap";

    @NonNull private static final String TAG = TestNetworkManager.class.getSimpleName();
    @NonNull private static final String TAG = TestNetworkManager.class.getSimpleName();


    @NonNull private final ITestNetworkManager mService;
    @NonNull private final ITestNetworkManager mService;
+3 −2
Original line number Original line Diff line number Diff line
@@ -16,6 +16,9 @@


package com.android.server;
package com.android.server;


import static android.net.TestNetworkManager.TEST_TAP_PREFIX;
import static android.net.TestNetworkManager.TEST_TUN_PREFIX;

import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.Context;
import android.content.Context;
@@ -61,8 +64,6 @@ import java.util.concurrent.atomic.AtomicInteger;
class TestNetworkService extends ITestNetworkManager.Stub {
class TestNetworkService extends ITestNetworkManager.Stub {
    @NonNull private static final String TAG = TestNetworkService.class.getSimpleName();
    @NonNull private static final String TAG = TestNetworkService.class.getSimpleName();
    @NonNull private static final String TEST_NETWORK_TYPE = "TEST_NETWORK";
    @NonNull private static final String TEST_NETWORK_TYPE = "TEST_NETWORK";
    @NonNull private static final String TEST_TUN_PREFIX = "testtun";
    @NonNull private static final String TEST_TAP_PREFIX = "testtap";
    @NonNull private static final AtomicInteger sTestTunIndex = new AtomicInteger();
    @NonNull private static final AtomicInteger sTestTunIndex = new AtomicInteger();


    @NonNull private final Context mContext;
    @NonNull private final Context mContext;