From 9da3bf1fbc1bbab79821cd572857372df27af1cb Mon Sep 17 00:00:00 2001 From: Yan Yan Date: Mon, 12 Dec 2022 23:38:39 +0000 Subject: [PATCH] APIs to enable data stall handling in VCN This commit expose APIs to set VCN Gateway Options for additional VCN abilities, and the option to allow VCN to detect suspected data stall and recover with IKE mobility update. Bug: 261499808 Test: make update-api && make API-Coverage-Bug: 262297702 Change-Id: If8097d587e7099e9bb9a43328dad3cac3cfb9703 --- core/api/current.txt | 4 ++++ .../android/net/vcn/VcnGatewayConnectionConfig.java | 10 +++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 2ba2f5bd2c859..ca7025e160abf 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -27301,13 +27301,17 @@ package android.net.vcn { method @IntRange(from=0x500) public int getMaxMtu(); method @NonNull public long[] getRetryIntervalsMillis(); method @NonNull public java.util.List getVcnUnderlyingNetworkPriorities(); + method public boolean hasGatewayOption(int); + field public static final int VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY = 0; // 0x0 } public static final class VcnGatewayConnectionConfig.Builder { ctor public VcnGatewayConnectionConfig.Builder(@NonNull String, @NonNull android.net.ipsec.ike.IkeTunnelConnectionParams); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addExposedCapability(int); + method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addGatewayOption(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig build(); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int); + method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeGatewayOption(int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setMaxMtu(@IntRange(from=0x500) int); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setRetryIntervalsMillis(@NonNull long[]); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setVcnUnderlyingNetworkPriorities(@NonNull java.util.List); diff --git a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java index 7718053ddf7d9..b8850f427cfc8 100644 --- a/core/java/android/net/vcn/VcnGatewayConnectionConfig.java +++ b/core/java/android/net/vcn/VcnGatewayConnectionConfig.java @@ -137,8 +137,6 @@ public final class VcnGatewayConnectionConfig { *

If set, the gatway connection will monitor the data stall detection of the VCN network. * When there is a suspected data stall, the gateway connection will attempt recovery by * performing a mobility update on the underlying IKE session. - * - * @hide */ public static final int VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY = 0; @@ -147,8 +145,7 @@ public final class VcnGatewayConnectionConfig { @IntDef( prefix = {"VCN_GATEWAY_OPTION_"}, value = { - // TODO: b/261499808 Add VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY - // when it is exposed + VCN_GATEWAY_OPTION_ENABLE_DATA_STALL_RECOVERY_WITH_MOBILITY, }) public @interface VcnGatewayOption {} @@ -460,7 +457,8 @@ public final class VcnGatewayConnectionConfig { * * @param option the option to check. * @throws IllegalArgumentException if the provided option is invalid. - * @hide + * @see Builder#addGatewayOption(int) + * @see Builder#removeGatewayOption(int) */ public boolean hasGatewayOption(@VcnGatewayOption int option) { validateGatewayOption(option); @@ -711,7 +709,6 @@ public final class VcnGatewayConnectionConfig { * @param option the option to be enabled * @return this {@link Builder} instance, for chaining * @throws IllegalArgumentException if the provided option is invalid - * @hide */ @NonNull public Builder addGatewayOption(@VcnGatewayOption int option) { @@ -726,7 +723,6 @@ public final class VcnGatewayConnectionConfig { * @param option the option to be disabled * @return this {@link Builder} instance, for chaining * @throws IllegalArgumentException if the provided option is invalid - * @hide */ @NonNull public Builder removeGatewayOption(@VcnGatewayOption int option) {