Loading api/system-current.txt +17 −0 Original line number Diff line number Diff line Loading @@ -4290,6 +4290,14 @@ package android.net { method public void onUpstreamChanged(@Nullable android.net.Network); } public class InvalidPacketException extends java.lang.Exception { ctor public InvalidPacketException(int); field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea field public final int error; } public final class IpConfiguration implements android.os.Parcelable { ctor public IpConfiguration(); ctor public IpConfiguration(@NonNull android.net.IpConfiguration); Loading Loading @@ -4340,6 +4348,15 @@ package android.net { method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; } public class KeepalivePacketData { ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException; method @NonNull public byte[] getPacket(); field @NonNull public final java.net.InetAddress dstAddress; field public final int dstPort; field @NonNull public final java.net.InetAddress srcAddress; field public final int srcPort; } public class LinkAddress implements android.os.Parcelable { ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int); ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); Loading core/java/android/net/InvalidPacketException.java 0 → 100644 +61 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.net; import android.annotation.IntDef; import android.annotation.SystemApi; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * Thrown when a packet is invalid. * @hide */ @SystemApi public class InvalidPacketException extends Exception { public final int error; // Must match SocketKeepalive#ERROR_INVALID_IP_ADDRESS. /** Invalid IP address. */ public static final int ERROR_INVALID_IP_ADDRESS = -21; // Must match SocketKeepalive#ERROR_INVALID_PORT. /** Invalid port number. */ public static final int ERROR_INVALID_PORT = -22; // Must match SocketKeepalive#ERROR_INVALID_LENGTH. /** Invalid packet length. */ public static final int ERROR_INVALID_LENGTH = -23; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = { "ERROR_" }, value = { ERROR_INVALID_IP_ADDRESS, ERROR_INVALID_PORT, ERROR_INVALID_LENGTH }) public @interface ErrorCode {} /** * This packet is invalid. * See the error code for details. */ public InvalidPacketException(@ErrorCode final int error) { this.error = error; } } core/java/android/net/KeepalivePacketData.java +18 −30 Original line number Diff line number Diff line Loading @@ -16,13 +16,13 @@ package android.net; import static android.net.SocketKeepalive.ERROR_INVALID_IP_ADDRESS; import static android.net.SocketKeepalive.ERROR_INVALID_PORT; import static android.net.InvalidPacketException.ERROR_INVALID_IP_ADDRESS; import static android.net.InvalidPacketException.ERROR_INVALID_PORT; import android.net.SocketKeepalive.InvalidPacketException; import android.annotation.NonNull; import android.annotation.SystemApi; import android.net.util.IpUtils; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; import java.net.InetAddress; Loading @@ -33,13 +33,16 @@ import java.net.InetAddress; * * @hide */ public class KeepalivePacketData implements Parcelable { @SystemApi public class KeepalivePacketData { private static final String TAG = "KeepalivePacketData"; /** Source IP address */ @NonNull public final InetAddress srcAddress; /** Destination IP address */ @NonNull public final InetAddress dstAddress; /** Source port */ Loading @@ -51,13 +54,14 @@ public class KeepalivePacketData implements Parcelable { /** Packet data. A raw byte string of packet data, not including the link-layer header. */ private final byte[] mPacket; protected static final int IPV4_HEADER_LENGTH = 20; protected static final int UDP_HEADER_LENGTH = 8; // This should only be constructed via static factory methods, such as // nattKeepalivePacket protected KeepalivePacketData(InetAddress srcAddress, int srcPort, InetAddress dstAddress, int dstPort, byte[] data) throws InvalidPacketException { // nattKeepalivePacket. /** * A holding class for data necessary to build a keepalive packet. */ protected KeepalivePacketData(@NonNull InetAddress srcAddress, int srcPort, @NonNull InetAddress dstAddress, int dstPort, @NonNull byte[] data) throws InvalidPacketException { this.srcAddress = srcAddress; this.dstAddress = dstAddress; this.srcPort = srcPort; Loading @@ -78,16 +82,12 @@ public class KeepalivePacketData implements Parcelable { } } @NonNull public byte[] getPacket() { return mPacket.clone(); } /* Parcelable Implementation */ public int describeContents() { return 0; } /** Write to parcel */ /** @hide */ public void writeToParcel(Parcel out, int flags) { out.writeString(srcAddress.getHostAddress()); out.writeString(dstAddress.getHostAddress()); Loading @@ -96,6 +96,7 @@ public class KeepalivePacketData implements Parcelable { out.writeByteArray(mPacket); } /** @hide */ protected KeepalivePacketData(Parcel in) { srcAddress = NetworkUtils.numericToInetAddress(in.readString()); dstAddress = NetworkUtils.numericToInetAddress(in.readString()); Loading @@ -103,17 +104,4 @@ public class KeepalivePacketData implements Parcelable { dstPort = in.readInt(); mPacket = in.createByteArray(); } /** Parcelable Creator */ public static final @android.annotation.NonNull Parcelable.Creator<KeepalivePacketData> CREATOR = new Parcelable.Creator<KeepalivePacketData>() { public KeepalivePacketData createFromParcel(Parcel in) { return new KeepalivePacketData(in); } public KeepalivePacketData[] newArray(int size) { return new KeepalivePacketData[size]; } }; } core/java/android/net/NattKeepalivePacketData.java +3 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package android.net; import static android.net.SocketKeepalive.ERROR_INVALID_IP_ADDRESS; import static android.net.SocketKeepalive.ERROR_INVALID_PORT; import android.net.SocketKeepalive.InvalidPacketException; import android.net.util.IpUtils; import android.os.Parcel; import android.os.Parcelable; Loading @@ -32,6 +31,9 @@ import java.nio.ByteOrder; /** @hide */ public final class NattKeepalivePacketData extends KeepalivePacketData implements Parcelable { private static final int IPV4_HEADER_LENGTH = 20; private static final int UDP_HEADER_LENGTH = 8; // This should only be constructed via static factory methods, such as // nattKeepalivePacket private NattKeepalivePacketData(InetAddress srcAddress, int srcPort, Loading core/java/android/net/SocketKeepalive.java +0 −11 Original line number Diff line number Diff line Loading @@ -147,17 +147,6 @@ public abstract class SocketKeepalive implements AutoCloseable { } } /** * This packet is invalid. * See the error code for details. * @hide */ public static class InvalidPacketException extends ErrorCodeException { public InvalidPacketException(final int error) { super(error); } } @NonNull final IConnectivityManager mService; @NonNull final Network mNetwork; @NonNull final ParcelFileDescriptor mPfd; Loading Loading
api/system-current.txt +17 −0 Original line number Diff line number Diff line Loading @@ -4290,6 +4290,14 @@ package android.net { method public void onUpstreamChanged(@Nullable android.net.Network); } public class InvalidPacketException extends java.lang.Exception { ctor public InvalidPacketException(int); field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea field public final int error; } public final class IpConfiguration implements android.os.Parcelable { ctor public IpConfiguration(); ctor public IpConfiguration(@NonNull android.net.IpConfiguration); Loading Loading @@ -4340,6 +4348,15 @@ package android.net { method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; } public class KeepalivePacketData { ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException; method @NonNull public byte[] getPacket(); field @NonNull public final java.net.InetAddress dstAddress; field public final int dstPort; field @NonNull public final java.net.InetAddress srcAddress; field public final int srcPort; } public class LinkAddress implements android.os.Parcelable { ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int); ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); Loading
core/java/android/net/InvalidPacketException.java 0 → 100644 +61 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.net; import android.annotation.IntDef; import android.annotation.SystemApi; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * Thrown when a packet is invalid. * @hide */ @SystemApi public class InvalidPacketException extends Exception { public final int error; // Must match SocketKeepalive#ERROR_INVALID_IP_ADDRESS. /** Invalid IP address. */ public static final int ERROR_INVALID_IP_ADDRESS = -21; // Must match SocketKeepalive#ERROR_INVALID_PORT. /** Invalid port number. */ public static final int ERROR_INVALID_PORT = -22; // Must match SocketKeepalive#ERROR_INVALID_LENGTH. /** Invalid packet length. */ public static final int ERROR_INVALID_LENGTH = -23; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = { "ERROR_" }, value = { ERROR_INVALID_IP_ADDRESS, ERROR_INVALID_PORT, ERROR_INVALID_LENGTH }) public @interface ErrorCode {} /** * This packet is invalid. * See the error code for details. */ public InvalidPacketException(@ErrorCode final int error) { this.error = error; } }
core/java/android/net/KeepalivePacketData.java +18 −30 Original line number Diff line number Diff line Loading @@ -16,13 +16,13 @@ package android.net; import static android.net.SocketKeepalive.ERROR_INVALID_IP_ADDRESS; import static android.net.SocketKeepalive.ERROR_INVALID_PORT; import static android.net.InvalidPacketException.ERROR_INVALID_IP_ADDRESS; import static android.net.InvalidPacketException.ERROR_INVALID_PORT; import android.net.SocketKeepalive.InvalidPacketException; import android.annotation.NonNull; import android.annotation.SystemApi; import android.net.util.IpUtils; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; import java.net.InetAddress; Loading @@ -33,13 +33,16 @@ import java.net.InetAddress; * * @hide */ public class KeepalivePacketData implements Parcelable { @SystemApi public class KeepalivePacketData { private static final String TAG = "KeepalivePacketData"; /** Source IP address */ @NonNull public final InetAddress srcAddress; /** Destination IP address */ @NonNull public final InetAddress dstAddress; /** Source port */ Loading @@ -51,13 +54,14 @@ public class KeepalivePacketData implements Parcelable { /** Packet data. A raw byte string of packet data, not including the link-layer header. */ private final byte[] mPacket; protected static final int IPV4_HEADER_LENGTH = 20; protected static final int UDP_HEADER_LENGTH = 8; // This should only be constructed via static factory methods, such as // nattKeepalivePacket protected KeepalivePacketData(InetAddress srcAddress, int srcPort, InetAddress dstAddress, int dstPort, byte[] data) throws InvalidPacketException { // nattKeepalivePacket. /** * A holding class for data necessary to build a keepalive packet. */ protected KeepalivePacketData(@NonNull InetAddress srcAddress, int srcPort, @NonNull InetAddress dstAddress, int dstPort, @NonNull byte[] data) throws InvalidPacketException { this.srcAddress = srcAddress; this.dstAddress = dstAddress; this.srcPort = srcPort; Loading @@ -78,16 +82,12 @@ public class KeepalivePacketData implements Parcelable { } } @NonNull public byte[] getPacket() { return mPacket.clone(); } /* Parcelable Implementation */ public int describeContents() { return 0; } /** Write to parcel */ /** @hide */ public void writeToParcel(Parcel out, int flags) { out.writeString(srcAddress.getHostAddress()); out.writeString(dstAddress.getHostAddress()); Loading @@ -96,6 +96,7 @@ public class KeepalivePacketData implements Parcelable { out.writeByteArray(mPacket); } /** @hide */ protected KeepalivePacketData(Parcel in) { srcAddress = NetworkUtils.numericToInetAddress(in.readString()); dstAddress = NetworkUtils.numericToInetAddress(in.readString()); Loading @@ -103,17 +104,4 @@ public class KeepalivePacketData implements Parcelable { dstPort = in.readInt(); mPacket = in.createByteArray(); } /** Parcelable Creator */ public static final @android.annotation.NonNull Parcelable.Creator<KeepalivePacketData> CREATOR = new Parcelable.Creator<KeepalivePacketData>() { public KeepalivePacketData createFromParcel(Parcel in) { return new KeepalivePacketData(in); } public KeepalivePacketData[] newArray(int size) { return new KeepalivePacketData[size]; } }; }
core/java/android/net/NattKeepalivePacketData.java +3 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package android.net; import static android.net.SocketKeepalive.ERROR_INVALID_IP_ADDRESS; import static android.net.SocketKeepalive.ERROR_INVALID_PORT; import android.net.SocketKeepalive.InvalidPacketException; import android.net.util.IpUtils; import android.os.Parcel; import android.os.Parcelable; Loading @@ -32,6 +31,9 @@ import java.nio.ByteOrder; /** @hide */ public final class NattKeepalivePacketData extends KeepalivePacketData implements Parcelable { private static final int IPV4_HEADER_LENGTH = 20; private static final int UDP_HEADER_LENGTH = 8; // This should only be constructed via static factory methods, such as // nattKeepalivePacket private NattKeepalivePacketData(InetAddress srcAddress, int srcPort, Loading
core/java/android/net/SocketKeepalive.java +0 −11 Original line number Diff line number Diff line Loading @@ -147,17 +147,6 @@ public abstract class SocketKeepalive implements AutoCloseable { } } /** * This packet is invalid. * See the error code for details. * @hide */ public static class InvalidPacketException extends ErrorCodeException { public InvalidPacketException(final int error) { super(error); } } @NonNull final IConnectivityManager mService; @NonNull final Network mNetwork; @NonNull final ParcelFileDescriptor mPfd; Loading