Expose APIs to query the state of an IpSecTransform
Bug: 308011229
Test: make update-api
Change-Id: I5ca6278305f814dbce6a7c41a4f4e491b1389b31
diff --git a/framework-t/api/current.txt b/framework-t/api/current.txt
index 86745d4..fb46ee7 100644
--- a/framework-t/api/current.txt
+++ b/framework-t/api/current.txt
@@ -127,6 +127,7 @@
public final class IpSecTransform implements java.lang.AutoCloseable {
method public void close();
+ method @FlaggedApi("com.android.net.flags.ipsec_transform_state") public void getIpSecTransformState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.IpSecTransformState,java.lang.RuntimeException>);
}
public static class IpSecTransform.Builder {
@@ -138,6 +139,29 @@
method @NonNull public android.net.IpSecTransform.Builder setIpv4Encapsulation(@NonNull android.net.IpSecManager.UdpEncapsulationSocket, int);
}
+ @FlaggedApi("com.android.net.flags.ipsec_transform_state") public final class IpSecTransformState implements android.os.Parcelable {
+ method public int describeContents();
+ method public long getByteCount();
+ method public long getPacketCount();
+ method @NonNull public byte[] getReplayBitmap();
+ method public long getRxHighestSequenceNumber();
+ method public long getTimestamp();
+ method public long getTxHighestSequenceNumber();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecTransformState> CREATOR;
+ }
+
+ @FlaggedApi("com.android.net.flags.ipsec_transform_state") public static final class IpSecTransformState.Builder {
+ ctor public IpSecTransformState.Builder();
+ method @NonNull public android.net.IpSecTransformState build();
+ method @NonNull public android.net.IpSecTransformState.Builder setByteCount(long);
+ method @NonNull public android.net.IpSecTransformState.Builder setPacketCount(long);
+ method @NonNull public android.net.IpSecTransformState.Builder setReplayBitmap(@NonNull byte[]);
+ method @NonNull public android.net.IpSecTransformState.Builder setRxHighestSequenceNumber(long);
+ method @NonNull public android.net.IpSecTransformState.Builder setTimestamp(long);
+ method @NonNull public android.net.IpSecTransformState.Builder setTxHighestSequenceNumber(long);
+ }
+
public class TrafficStats {
ctor public TrafficStats();
method public static void clearThreadStatsTag();
diff --git a/framework-t/src/android/net/IpSecTransform.java b/framework-t/src/android/net/IpSecTransform.java
index 0412a76..246a2dd 100644
--- a/framework-t/src/android/net/IpSecTransform.java
+++ b/framework-t/src/android/net/IpSecTransform.java
@@ -213,7 +213,6 @@
* @param callback Callback that's called after the transform state is ready or when an error
* occurs.
* @see IpSecTransformState
- * @hide
*/
@FlaggedApi(IPSEC_TRANSFORM_STATE)
public void getIpSecTransformState(
diff --git a/framework-t/src/android/net/IpSecTransformState.java b/framework-t/src/android/net/IpSecTransformState.java
index daebbc4..b575dd5 100644
--- a/framework-t/src/android/net/IpSecTransformState.java
+++ b/framework-t/src/android/net/IpSecTransformState.java
@@ -37,8 +37,6 @@
* well as observing out-of-order delivery by checking the bitmap. Additionally, callers can query
* IpSecTransformStates at two timestamps. By comparing the changes in packet counts and sequence
* numbers, callers can estimate IPsec data loss in the inbound direction.
- *
- * @hide
*/
@FlaggedApi(IPSEC_TRANSFORM_STATE)
public final class IpSecTransformState implements Parcelable {
@@ -125,7 +123,6 @@
* Retrieve the epoch timestamp (milliseconds) for when this state was created
*
* @see Builder#setTimestamp(long)
- * @hide
*/
public long getTimestamp() {
return mTimeStamp;
@@ -135,7 +132,6 @@
* Retrieve the highest sequence number sent so far
*
* @see Builder#setTxHighestSequenceNumber(long)
- * @hide
*/
public long getTxHighestSequenceNumber() {
return mTxHighestSequenceNumber;
@@ -145,7 +141,6 @@
* Retrieve the highest sequence number received so far
*
* @see Builder#setRxHighestSequenceNumber(long)
- * @hide
*/
public long getRxHighestSequenceNumber() {
return mRxHighestSequenceNumber;
@@ -155,7 +150,6 @@
* Retrieve the number of packets received AND sent so far
*
* @see Builder#setPacketCount(long)
- * @hide
*/
public long getPacketCount() {
return mPacketCount;
@@ -165,7 +159,6 @@
* Retrieve the number of bytes received AND sent so far
*
* @see Builder#setByteCount(long)
- * @hide
*/
public long getByteCount() {
return mByteCount;
@@ -184,18 +177,13 @@
* IpSecTransforms, all bits will be unchecked.
*
* @see Builder#setReplayBitmap(byte[])
- * @hide
*/
@NonNull
public byte[] getReplayBitmap() {
return mReplayBitmap.clone();
}
- /**
- * Builder class for testing purposes
- *
- * @hide
- */
+ /** Builder class for testing purposes */
@FlaggedApi(IPSEC_TRANSFORM_STATE)
public static final class Builder {
private long mTimeStamp;
@@ -205,7 +193,6 @@
private long mByteCount;
private byte[] mReplayBitmap;
- /** @hide */
public Builder() {
mTimeStamp = System.currentTimeMillis();
}
@@ -214,7 +201,6 @@
* Set the epoch timestamp (milliseconds) for when this state was created
*
* @see IpSecTransformState#getTimestamp()
- * @hide
*/
@NonNull
public Builder setTimestamp(long timeStamp) {
@@ -226,7 +212,6 @@
* Set the highest sequence number sent so far
*
* @see IpSecTransformState#getTxHighestSequenceNumber()
- * @hide
*/
@NonNull
public Builder setTxHighestSequenceNumber(long seqNum) {
@@ -238,7 +223,6 @@
* Set the highest sequence number received so far
*
* @see IpSecTransformState#getRxHighestSequenceNumber()
- * @hide
*/
@NonNull
public Builder setRxHighestSequenceNumber(long seqNum) {
@@ -250,7 +234,6 @@
* Set the number of packets received AND sent so far
*
* @see IpSecTransformState#getPacketCount()
- * @hide
*/
@NonNull
public Builder setPacketCount(long packetCount) {
@@ -262,7 +245,6 @@
* Set the number of bytes received AND sent so far
*
* @see IpSecTransformState#getByteCount()
- * @hide
*/
@NonNull
public Builder setByteCount(long byteCount) {
@@ -274,7 +256,6 @@
* Set the replay bitmap
*
* @see IpSecTransformState#getReplayBitmap()
- * @hide
*/
@NonNull
public Builder setReplayBitmap(@NonNull byte[] bitMap) {
@@ -286,7 +267,6 @@
* Build and validate the IpSecTransformState
*
* @return an immutable IpSecTransformState instance
- * @hide
*/
@NonNull
public IpSecTransformState build() {