Loading core/api/current.txt +1 −4 Original line number Diff line number Diff line Loading @@ -25146,9 +25146,6 @@ package android.net { field public static final int UNSUPPORTED = -1; // 0xffffffff } public interface TunnelConnectionParams { } public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable { method public abstract android.net.Uri.Builder buildUpon(); method public int compareTo(android.net.Uri); Loading Loading @@ -25717,7 +25714,7 @@ package android.net.vcn { } public static final class VcnGatewayConnectionConfig.Builder { ctor public VcnGatewayConnectionConfig.Builder(@NonNull String, @NonNull android.net.TunnelConnectionParams); 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 build(); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int); core/java/android/net/TunnelConnectionParams.javadeleted 100644 → 0 +0 −29 Original line number Diff line number Diff line /* * Copyright (C) 2021 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; /** * TunnelConnectionParams represents a configuration to set up a tunnel connection. * * <p>Concrete implementations for a control plane protocol should implement this interface. * Subclasses should be immutable data classes containing connection, authentication and * authorization parameters required to establish a tunnel connection. * * @see android.net.ipsec.ike.IkeTunnelConnectionParams */ // TODO:b/186071626 Remove TunnelConnectionParams when non-updatable API stub can resolve // IkeTunnelConnectionParams public interface TunnelConnectionParams {} core/java/android/net/vcn/VcnGatewayConnectionConfig.java +8 −8 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import android.annotation.Nullable; import android.annotation.SuppressLint; import android.net.Network; import android.net.NetworkCapabilities; import android.net.TunnelConnectionParams; import android.net.ipsec.ike.IkeTunnelConnectionParams; import android.net.vcn.persistablebundleutils.TunnelConnectionParamsUtils; import android.os.PersistableBundle; import android.util.ArraySet; Loading Loading @@ -154,7 +154,7 @@ public final class VcnGatewayConnectionConfig { @NonNull private final String mGatewayConnectionName; private static final String TUNNEL_CONNECTION_PARAMS_KEY = "mTunnelConnectionParams"; @NonNull private TunnelConnectionParams mTunnelConnectionParams; @NonNull private IkeTunnelConnectionParams mTunnelConnectionParams; private static final String EXPOSED_CAPABILITIES_KEY = "mExposedCapabilities"; @NonNull private final SortedSet<Integer> mExposedCapabilities; Loading @@ -171,7 +171,7 @@ public final class VcnGatewayConnectionConfig { /** Builds a VcnGatewayConnectionConfig with the specified parameters. */ private VcnGatewayConnectionConfig( @NonNull String gatewayConnectionName, @NonNull TunnelConnectionParams tunnelConnectionParams, @NonNull IkeTunnelConnectionParams tunnelConnectionParams, @NonNull Set<Integer> exposedCapabilities, @NonNull Set<Integer> underlyingCapabilities, @NonNull long[] retryIntervalsMs, Loading Loading @@ -271,7 +271,7 @@ public final class VcnGatewayConnectionConfig { * @hide */ @NonNull public TunnelConnectionParams getTunnelConnectionParams() { public IkeTunnelConnectionParams getTunnelConnectionParams() { return mTunnelConnectionParams; } Loading Loading @@ -414,7 +414,7 @@ public final class VcnGatewayConnectionConfig { */ public static final class Builder { @NonNull private final String mGatewayConnectionName; @NonNull private final TunnelConnectionParams mTunnelConnectionParams; @NonNull private final IkeTunnelConnectionParams mTunnelConnectionParams; @NonNull private final Set<Integer> mExposedCapabilities = new ArraySet(); @NonNull private final Set<Integer> mUnderlyingCapabilities = new ArraySet(); @NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS; Loading @@ -432,13 +432,13 @@ public final class VcnGatewayConnectionConfig { * VcnConfig} must be given a unique name. This name is used by the caller to * distinguish between VcnGatewayConnectionConfigs configured on a single {@link * VcnConfig}. This will be used as the identifier in VcnStatusCallback invocations. * @param tunnelConnectionParams the tunnel connection configuration * @see TunnelConnectionParams * @param tunnelConnectionParams the IKE tunnel connection configuration * @see IkeTunnelConnectionParams * @see VcnManager.VcnStatusCallback#onGatewayConnectionError */ public Builder( @NonNull String gatewayConnectionName, @NonNull TunnelConnectionParams tunnelConnectionParams) { @NonNull IkeTunnelConnectionParams tunnelConnectionParams) { Objects.requireNonNull(gatewayConnectionName, "gatewayConnectionName was null"); Objects.requireNonNull(tunnelConnectionParams, "tunnelConnectionParams was null"); Loading core/java/android/net/vcn/persistablebundleutils/TunnelConnectionParamsUtils.java +14 −17 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.net.vcn.persistablebundleutils; import android.annotation.NonNull; import android.net.TunnelConnectionParams; import android.net.ipsec.ike.IkeSessionParams; import android.net.ipsec.ike.IkeTunnelConnectionParams; import android.net.ipsec.ike.TunnelModeChildSessionParams; Loading @@ -34,30 +33,28 @@ public final class TunnelConnectionParamsUtils { private static final String PARAMS_TYPE_IKE = "IKE"; /** Serializes an TunnelConnectionParams to a PersistableBundle. */ /** Serializes an IkeTunnelConnectionParams to a PersistableBundle. */ @NonNull public static PersistableBundle toPersistableBundle(@NonNull TunnelConnectionParams params) { public static PersistableBundle toPersistableBundle(@NonNull IkeTunnelConnectionParams params) { final PersistableBundle result = new PersistableBundle(); if (params instanceof IkeTunnelConnectionParams) { result.putPersistableBundle( PARAMS_TYPE_IKE, IkeTunnelConnectionParamsUtils.serializeIkeParams( (IkeTunnelConnectionParams) params)); return result; } else { throw new UnsupportedOperationException("Invalid TunnelConnectionParams type"); } } /** Constructs an TunnelConnectionParams by deserializing a PersistableBundle. */ /** Constructs an IkeTunnelConnectionParams by deserializing a PersistableBundle. */ @NonNull public static TunnelConnectionParams fromPersistableBundle(@NonNull PersistableBundle in) { public static IkeTunnelConnectionParams fromPersistableBundle(@NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle was null"); if (in.keySet().size() != EXPECTED_BUNDLE_KEY_CNT) { throw new IllegalArgumentException( "Expect PersistableBundle to have one element but found: " + in.keySet()); String.format( "Expect PersistableBundle to have %d element but found: %d", EXPECTED_BUNDLE_KEY_CNT, in.keySet())); } if (in.get(PARAMS_TYPE_IKE) != null) { Loading services/core/java/com/android/server/vcn/VcnGatewayConnection.java +7 −30 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import android.net.NetworkProvider; import android.net.NetworkScore; import android.net.RouteInfo; import android.net.TelephonyNetworkSpecifier; import android.net.TunnelConnectionParams; import android.net.Uri; import android.net.annotations.PolicyDirection; import android.net.ipsec.ike.ChildSessionCallback; Loading Loading @@ -1924,14 +1923,8 @@ public class VcnGatewayConnection extends StateMachine { @NonNull IpSecTunnelInterface tunnelIface, @NonNull VcnChildSessionConfiguration childConfig, @Nullable UnderlyingNetworkRecord underlying) { final TunnelConnectionParams tunnelParams = final IkeTunnelConnectionParams ikeTunnelParams = gatewayConnectionConfig.getTunnelConnectionParams(); if (!(tunnelParams instanceof IkeTunnelConnectionParams)) { throw new IllegalStateException( "TunnelConnectionParams is not IkeTunnelConnectionParams"); } final IkeTunnelConnectionParams ikeTunnelParams = (IkeTunnelConnectionParams) tunnelParams; final LinkProperties lp = new LinkProperties(); lp.setInterfaceName(tunnelIface.getInterfaceName()); Loading Loading @@ -2138,32 +2131,16 @@ public class VcnGatewayConnection extends StateMachine { } private IkeSessionParams buildIkeParams(@NonNull Network network) { final TunnelConnectionParams tunnelConnectionParams = mConnectionConfig.getTunnelConnectionParams(); if (tunnelConnectionParams instanceof IkeTunnelConnectionParams) { final IkeTunnelConnectionParams ikeTunnelConnectionParams = (IkeTunnelConnectionParams) tunnelConnectionParams; mConnectionConfig.getTunnelConnectionParams(); final IkeSessionParams.Builder builder = new IkeSessionParams.Builder(ikeTunnelConnectionParams.getIkeSessionParams()); builder.setNetwork(network); return builder.build(); } throw new IllegalStateException("TunnelConnectionParams is not IkeTunnelConnectionParams"); } private ChildSessionParams buildChildParams() { final TunnelConnectionParams tunnelConnectionParams = mConnectionConfig.getTunnelConnectionParams(); if (tunnelConnectionParams instanceof IkeTunnelConnectionParams) { return ((IkeTunnelConnectionParams) tunnelConnectionParams) .getTunnelModeChildSessionParams(); } throw new IllegalStateException("TunnelConnectionParams is not IkeTunnelConnectionParams"); return mConnectionConfig.getTunnelConnectionParams().getTunnelModeChildSessionParams(); } @VisibleForTesting(visibility = Visibility.PRIVATE) Loading Loading
core/api/current.txt +1 −4 Original line number Diff line number Diff line Loading @@ -25146,9 +25146,6 @@ package android.net { field public static final int UNSUPPORTED = -1; // 0xffffffff } public interface TunnelConnectionParams { } public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable { method public abstract android.net.Uri.Builder buildUpon(); method public int compareTo(android.net.Uri); Loading Loading @@ -25717,7 +25714,7 @@ package android.net.vcn { } public static final class VcnGatewayConnectionConfig.Builder { ctor public VcnGatewayConnectionConfig.Builder(@NonNull String, @NonNull android.net.TunnelConnectionParams); 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 build(); method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int);
core/java/android/net/TunnelConnectionParams.javadeleted 100644 → 0 +0 −29 Original line number Diff line number Diff line /* * Copyright (C) 2021 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; /** * TunnelConnectionParams represents a configuration to set up a tunnel connection. * * <p>Concrete implementations for a control plane protocol should implement this interface. * Subclasses should be immutable data classes containing connection, authentication and * authorization parameters required to establish a tunnel connection. * * @see android.net.ipsec.ike.IkeTunnelConnectionParams */ // TODO:b/186071626 Remove TunnelConnectionParams when non-updatable API stub can resolve // IkeTunnelConnectionParams public interface TunnelConnectionParams {}
core/java/android/net/vcn/VcnGatewayConnectionConfig.java +8 −8 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import android.annotation.Nullable; import android.annotation.SuppressLint; import android.net.Network; import android.net.NetworkCapabilities; import android.net.TunnelConnectionParams; import android.net.ipsec.ike.IkeTunnelConnectionParams; import android.net.vcn.persistablebundleutils.TunnelConnectionParamsUtils; import android.os.PersistableBundle; import android.util.ArraySet; Loading Loading @@ -154,7 +154,7 @@ public final class VcnGatewayConnectionConfig { @NonNull private final String mGatewayConnectionName; private static final String TUNNEL_CONNECTION_PARAMS_KEY = "mTunnelConnectionParams"; @NonNull private TunnelConnectionParams mTunnelConnectionParams; @NonNull private IkeTunnelConnectionParams mTunnelConnectionParams; private static final String EXPOSED_CAPABILITIES_KEY = "mExposedCapabilities"; @NonNull private final SortedSet<Integer> mExposedCapabilities; Loading @@ -171,7 +171,7 @@ public final class VcnGatewayConnectionConfig { /** Builds a VcnGatewayConnectionConfig with the specified parameters. */ private VcnGatewayConnectionConfig( @NonNull String gatewayConnectionName, @NonNull TunnelConnectionParams tunnelConnectionParams, @NonNull IkeTunnelConnectionParams tunnelConnectionParams, @NonNull Set<Integer> exposedCapabilities, @NonNull Set<Integer> underlyingCapabilities, @NonNull long[] retryIntervalsMs, Loading Loading @@ -271,7 +271,7 @@ public final class VcnGatewayConnectionConfig { * @hide */ @NonNull public TunnelConnectionParams getTunnelConnectionParams() { public IkeTunnelConnectionParams getTunnelConnectionParams() { return mTunnelConnectionParams; } Loading Loading @@ -414,7 +414,7 @@ public final class VcnGatewayConnectionConfig { */ public static final class Builder { @NonNull private final String mGatewayConnectionName; @NonNull private final TunnelConnectionParams mTunnelConnectionParams; @NonNull private final IkeTunnelConnectionParams mTunnelConnectionParams; @NonNull private final Set<Integer> mExposedCapabilities = new ArraySet(); @NonNull private final Set<Integer> mUnderlyingCapabilities = new ArraySet(); @NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS; Loading @@ -432,13 +432,13 @@ public final class VcnGatewayConnectionConfig { * VcnConfig} must be given a unique name. This name is used by the caller to * distinguish between VcnGatewayConnectionConfigs configured on a single {@link * VcnConfig}. This will be used as the identifier in VcnStatusCallback invocations. * @param tunnelConnectionParams the tunnel connection configuration * @see TunnelConnectionParams * @param tunnelConnectionParams the IKE tunnel connection configuration * @see IkeTunnelConnectionParams * @see VcnManager.VcnStatusCallback#onGatewayConnectionError */ public Builder( @NonNull String gatewayConnectionName, @NonNull TunnelConnectionParams tunnelConnectionParams) { @NonNull IkeTunnelConnectionParams tunnelConnectionParams) { Objects.requireNonNull(gatewayConnectionName, "gatewayConnectionName was null"); Objects.requireNonNull(tunnelConnectionParams, "tunnelConnectionParams was null"); Loading
core/java/android/net/vcn/persistablebundleutils/TunnelConnectionParamsUtils.java +14 −17 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package android.net.vcn.persistablebundleutils; import android.annotation.NonNull; import android.net.TunnelConnectionParams; import android.net.ipsec.ike.IkeSessionParams; import android.net.ipsec.ike.IkeTunnelConnectionParams; import android.net.ipsec.ike.TunnelModeChildSessionParams; Loading @@ -34,30 +33,28 @@ public final class TunnelConnectionParamsUtils { private static final String PARAMS_TYPE_IKE = "IKE"; /** Serializes an TunnelConnectionParams to a PersistableBundle. */ /** Serializes an IkeTunnelConnectionParams to a PersistableBundle. */ @NonNull public static PersistableBundle toPersistableBundle(@NonNull TunnelConnectionParams params) { public static PersistableBundle toPersistableBundle(@NonNull IkeTunnelConnectionParams params) { final PersistableBundle result = new PersistableBundle(); if (params instanceof IkeTunnelConnectionParams) { result.putPersistableBundle( PARAMS_TYPE_IKE, IkeTunnelConnectionParamsUtils.serializeIkeParams( (IkeTunnelConnectionParams) params)); return result; } else { throw new UnsupportedOperationException("Invalid TunnelConnectionParams type"); } } /** Constructs an TunnelConnectionParams by deserializing a PersistableBundle. */ /** Constructs an IkeTunnelConnectionParams by deserializing a PersistableBundle. */ @NonNull public static TunnelConnectionParams fromPersistableBundle(@NonNull PersistableBundle in) { public static IkeTunnelConnectionParams fromPersistableBundle(@NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle was null"); if (in.keySet().size() != EXPECTED_BUNDLE_KEY_CNT) { throw new IllegalArgumentException( "Expect PersistableBundle to have one element but found: " + in.keySet()); String.format( "Expect PersistableBundle to have %d element but found: %d", EXPECTED_BUNDLE_KEY_CNT, in.keySet())); } if (in.get(PARAMS_TYPE_IKE) != null) { Loading
services/core/java/com/android/server/vcn/VcnGatewayConnection.java +7 −30 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import android.net.NetworkProvider; import android.net.NetworkScore; import android.net.RouteInfo; import android.net.TelephonyNetworkSpecifier; import android.net.TunnelConnectionParams; import android.net.Uri; import android.net.annotations.PolicyDirection; import android.net.ipsec.ike.ChildSessionCallback; Loading Loading @@ -1924,14 +1923,8 @@ public class VcnGatewayConnection extends StateMachine { @NonNull IpSecTunnelInterface tunnelIface, @NonNull VcnChildSessionConfiguration childConfig, @Nullable UnderlyingNetworkRecord underlying) { final TunnelConnectionParams tunnelParams = final IkeTunnelConnectionParams ikeTunnelParams = gatewayConnectionConfig.getTunnelConnectionParams(); if (!(tunnelParams instanceof IkeTunnelConnectionParams)) { throw new IllegalStateException( "TunnelConnectionParams is not IkeTunnelConnectionParams"); } final IkeTunnelConnectionParams ikeTunnelParams = (IkeTunnelConnectionParams) tunnelParams; final LinkProperties lp = new LinkProperties(); lp.setInterfaceName(tunnelIface.getInterfaceName()); Loading Loading @@ -2138,32 +2131,16 @@ public class VcnGatewayConnection extends StateMachine { } private IkeSessionParams buildIkeParams(@NonNull Network network) { final TunnelConnectionParams tunnelConnectionParams = mConnectionConfig.getTunnelConnectionParams(); if (tunnelConnectionParams instanceof IkeTunnelConnectionParams) { final IkeTunnelConnectionParams ikeTunnelConnectionParams = (IkeTunnelConnectionParams) tunnelConnectionParams; mConnectionConfig.getTunnelConnectionParams(); final IkeSessionParams.Builder builder = new IkeSessionParams.Builder(ikeTunnelConnectionParams.getIkeSessionParams()); builder.setNetwork(network); return builder.build(); } throw new IllegalStateException("TunnelConnectionParams is not IkeTunnelConnectionParams"); } private ChildSessionParams buildChildParams() { final TunnelConnectionParams tunnelConnectionParams = mConnectionConfig.getTunnelConnectionParams(); if (tunnelConnectionParams instanceof IkeTunnelConnectionParams) { return ((IkeTunnelConnectionParams) tunnelConnectionParams) .getTunnelModeChildSessionParams(); } throw new IllegalStateException("TunnelConnectionParams is not IkeTunnelConnectionParams"); return mConnectionConfig.getTunnelConnectionParams().getTunnelModeChildSessionParams(); } @VisibleForTesting(visibility = Visibility.PRIVATE) Loading