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

Commit 4d4e926a authored by Roshan Pius's avatar Roshan Pius Committed by Android (Google) Code Review
Browse files

Merge changes from topic "services.net-wifi" into rvc-dev

* changes:
  services.net: Add a static library needed by wifi module
  services.net: Use the new ModuleNetworkStackClient
parents 5bb02f08 b6361f94
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -693,6 +693,7 @@ filegroup {
        "core/java/android/annotation/CallbackExecutor.java",
        "core/java/android/annotation/CheckResult.java",
        "core/java/android/annotation/CurrentTimeMillisLong.java",
        "core/java/android/annotation/Hide.java",
        "core/java/android/annotation/IntDef.java",
        "core/java/android/annotation/IntRange.java",
        "core/java/android/annotation/LongDef.java",
@@ -752,6 +753,18 @@ filegroup {
    ],
}

filegroup {
    name: "framework-services-net-module-wifi-shared-srcs",
    srcs: [
        "core/java/android/net/DhcpResults.java",
        "core/java/android/net/shared/Inet4AddressUtils.java",
        "core/java/android/net/shared/InetAddressUtils.java",
        "core/java/android/net/util/IpUtils.java",
        "core/java/android/util/LocalLog.java",
        "core/java/com/android/internal/util/Preconditions.java",
    ],
}

// keep these files in sync with the package/Tethering/jarjar-rules.txt for the tethering module.
filegroup {
    name: "framework-tethering-shared-srcs",
@@ -1240,7 +1253,6 @@ filegroup {
        "core/java/android/net/InterfaceConfiguration.java",
        "core/java/android/os/BasicShellCommandHandler.java",
        "core/java/android/util/BackupUtils.java",
        "core/java/android/util/LocalLog.java",
        "core/java/android/util/Rational.java",
        "core/java/com/android/internal/util/FastXmlSerializer.java",
        "core/java/com/android/internal/util/HexDump.java",
+3 −19
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import static android.net.InvalidPacketException.ERROR_INVALID_PORT;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.net.util.IpUtils;
import android.os.Parcel;
import android.util.Log;

import java.net.InetAddress;
@@ -30,7 +29,6 @@ import java.net.InetAddress;
/**
 * Represents the actual packets that are sent by the
 * {@link android.net.SocketKeepalive} API.
 *
 * @hide
 */
@SystemApi
@@ -54,6 +52,9 @@ public class KeepalivePacketData {
    /** Packet data. A raw byte string of packet data, not including the link-layer header. */
    private final byte[] mPacket;

    // Note: If you add new fields, please modify the parcelling code in the child classes.


    // This should only be constructed via static factory methods, such as
    // nattKeepalivePacket.
    /**
@@ -87,21 +88,4 @@ public class KeepalivePacketData {
        return mPacket.clone();
    }

    /** @hide */
    public void writeToParcel(Parcel out, int flags) {
        out.writeString(srcAddress.getHostAddress());
        out.writeString(dstAddress.getHostAddress());
        out.writeInt(srcPort);
        out.writeInt(dstPort);
        out.writeByteArray(mPacket);
    }

    /** @hide */
    protected KeepalivePacketData(Parcel in) {
        srcAddress = NetworkUtils.numericToInetAddress(in.readString());
        dstAddress = NetworkUtils.numericToInetAddress(in.readString());
        srcPort = in.readInt();
        dstPort = in.readInt();
        mPacket = in.createByteArray();
    }
}
+38 −0
Original line number Diff line number Diff line
@@ -20,6 +20,44 @@ java_library_static {
    ],
}

// Version of services.net for usage by the wifi mainline module.
// Note: This is compiled against module_current.
// TODO(b/145825329): This should be moved to networkstack-client,
// with dependencies moved to frameworks/libs/net right.
java_library {
    name: "services.net-module-wifi",
    srcs: [
        ":framework-services-net-module-wifi-shared-srcs",
        ":net-module-utils-srcs",
        "java/android/net/ip/IpClientCallbacks.java",
        "java/android/net/ip/IpClientManager.java",
        "java/android/net/ip/IpClientUtil.java",
        "java/android/net/util/KeepalivePacketDataUtil.java",
        "java/android/net/util/NetworkConstants.java",
        "java/android/net/IpMemoryStore.java",
        "java/android/net/NetworkMonitorManager.java",
        "java/android/net/TcpKeepalivePacketData.java",
    ],
    sdk_version: "module_current",
    libs: [
        "unsupportedappusage",
    ],
    static_libs: [
        "dnsresolver_aidl_interface-V2-java",
        "netd_aidl_interface-unstable-java",
        "netlink-client",
        "networkstack-client",
        "net-utils-services-common",
    ],
    apex_available: [
        "com.android.wifi",
    ],
    visibility: [
        "//frameworks/opt/net/wifi/service",
        "//frameworks/opt/net/wifi/tests/wifitests",
    ],
}

filegroup {
    name: "services-tethering-shared-srcs",
    srcs: [
+4 −3
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.net;

import android.annotation.NonNull;
import android.content.Context;
import android.net.networkstack.ModuleNetworkStackClient;
import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
@@ -41,7 +42,7 @@ public class IpMemoryStore extends IpMemoryStoreClient {
        super(context);
        mService = new CompletableFuture<>();
        mTailNode = new AtomicReference<CompletableFuture<IIpMemoryStore>>(mService);
        getNetworkStackClient().fetchIpMemoryStore(
        getModuleNetworkStackClient(context).fetchIpMemoryStore(
                new IIpMemoryStoreCallbacks.Stub() {
                    @Override
                    public void onIpMemoryStoreFetched(@NonNull final IIpMemoryStore memoryStore) {
@@ -85,8 +86,8 @@ public class IpMemoryStore extends IpMemoryStoreClient {
    }

    @VisibleForTesting
    protected NetworkStackClient getNetworkStackClient() {
        return NetworkStackClient.getInstance();
    protected ModuleNetworkStackClient getModuleNetworkStackClient(Context context) {
        return ModuleNetworkStackClient.getInstance(context);
    }

    /** Gets an instance of the memory store */
+38 −10
Original line number Diff line number Diff line
@@ -74,6 +74,19 @@ public class TcpKeepalivePacketData extends KeepalivePacketData implements Parce
        ipTtl = tcpDetails.ttl;
    }

    private TcpKeepalivePacketData(final InetAddress srcAddress, int srcPort,
            final InetAddress dstAddress, int dstPort, final byte[] data, int tcpSeq,
            int tcpAck, int tcpWnd, int tcpWndScale, int ipTos, int ipTtl)
            throws InvalidPacketException {
        super(srcAddress, srcPort, dstAddress, dstPort, data);
        this.tcpSeq = tcpSeq;
        this.tcpAck = tcpAck;
        this.tcpWnd = tcpWnd;
        this.tcpWndScale = tcpWndScale;
        this.ipTos = ipTos;
        this.ipTtl = ipTtl;
    }

    /**
     * Factory method to create tcp keepalive packet structure.
     */
@@ -169,7 +182,11 @@ public class TcpKeepalivePacketData extends KeepalivePacketData implements Parce

    /** Write to parcel. */
    public void writeToParcel(Parcel out, int flags) {
        super.writeToParcel(out, flags);
        out.writeString(srcAddress.getHostAddress());
        out.writeString(dstAddress.getHostAddress());
        out.writeInt(srcPort);
        out.writeInt(dstPort);
        out.writeByteArray(getPacket());
        out.writeInt(tcpSeq);
        out.writeInt(tcpAck);
        out.writeInt(tcpWnd);
@@ -178,21 +195,32 @@ public class TcpKeepalivePacketData extends KeepalivePacketData implements Parce
        out.writeInt(ipTtl);
    }

    private TcpKeepalivePacketData(Parcel in) {
        super(in);
        tcpSeq = in.readInt();
        tcpAck = in.readInt();
        tcpWnd = in.readInt();
        tcpWndScale = in.readInt();
        ipTos = in.readInt();
        ipTtl = in.readInt();
    private static TcpKeepalivePacketData readFromParcel(Parcel in) throws InvalidPacketException {
        InetAddress srcAddress = InetAddresses.parseNumericAddress(in.readString());
        InetAddress dstAddress = InetAddresses.parseNumericAddress(in.readString());
        int srcPort = in.readInt();
        int dstPort = in.readInt();
        byte[] packet = in.createByteArray();
        int tcpSeq = in.readInt();
        int tcpAck = in.readInt();
        int tcpWnd = in.readInt();
        int tcpWndScale = in.readInt();
        int ipTos = in.readInt();
        int ipTtl = in.readInt();
        return new TcpKeepalivePacketData(srcAddress, srcPort, dstAddress, dstPort, packet, tcpSeq,
                tcpAck, tcpWnd, tcpWndScale, ipTos, ipTtl);
    }

    /** Parcelable Creator. */
    public static final @NonNull Parcelable.Creator<TcpKeepalivePacketData> CREATOR =
            new Parcelable.Creator<TcpKeepalivePacketData>() {
                public TcpKeepalivePacketData createFromParcel(Parcel in) {
                    return new TcpKeepalivePacketData(in);
                    try {
                        return readFromParcel(in);
                    } catch (InvalidPacketException e) {
                        throw new IllegalArgumentException(
                                "Invalid NAT-T keepalive data: " + e.error);
                    }
                }

                public TcpKeepalivePacketData[] newArray(int size) {
Loading