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

Commit 7ad268bf authored by Matt Buckley's avatar Matt Buckley
Browse files

Revert "Revert "Revert "Add VpnServiceBuilderShim for VpnService..."

Revert submission 1931760-reland-vpn-impl-part-2

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=test_suites_x86_64&lkgb=8053795&lkbb=8053908&fkbb=8053828, bug b/213588956.
BUG: b/213588956
Reverted Changes:
Ic8ed8fce7:Revert "Revert "Add CTS tests for exclude VPN rout...
I07104340a:Revert "Revert "Add VpnServiceBuilderShim for VpnS...
I7c69b7244:Revert "Revert "Add APIs that allow to exclude rou...

Change-Id: I53802190aafcc445fdc097410bf9cab345060418
parent 399a9a97
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -191,7 +191,6 @@ java_library {
    visibility: [
        "//packages/modules/Connectivity/Tethering",
        "//packages/modules/Connectivity/tests/cts/net",
        "//packages/modules/Connectivity/tests/cts/hostside/app",
    ],
}

@@ -212,7 +211,6 @@ java_library {
    visibility: [
        "//packages/modules/Connectivity/Tethering",
        "//packages/modules/Connectivity/tests/cts/net",
        "//packages/modules/Connectivity/tests/cts/hostside/app",
    ],
}

+0 −48
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 com.android.networkstack.apishim.api29;

import android.net.IpPrefix;
import android.net.VpnService;

import com.android.networkstack.apishim.common.UnsupportedApiLevelException;
import com.android.networkstack.apishim.common.VpnServiceBuilderShim;

/**
 * Implementation of {@link com.android.networkstack.apishim.common.VpnServiceBuilderShim}.
 */
public class VpnServiceBuilderShimImpl implements VpnServiceBuilderShim {

    /**
     * Get a new instance of {@link VpnServiceBuilderShim}.
     */
    public static VpnServiceBuilderShim newInstance() {
        return new VpnServiceBuilderShimImpl();
    }

    @Override
    public VpnService.Builder excludeRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException {
        throw new UnsupportedApiLevelException("Only supported after API level 31.");
    }

    @Override
    public VpnService.Builder addRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException {
        throw new UnsupportedApiLevelException("Only supported after API level 31.");
    }
}
+0 −24
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 com.android.networkstack.apishim.api31;

/**
 * Implementation of {@link com.android.networkstack.apishim.common.VpnServiceBuilderShim}.
 */
public class VpnServiceBuilderShimImpl extends
        com.android.networkstack.apishim.api29.VpnServiceBuilderShimImpl {
}
+0 −59
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 com.android.networkstack.apishim;

import android.net.IpPrefix;
import android.net.VpnService;
import android.os.Build;

import androidx.annotation.RequiresApi;

import com.android.modules.utils.build.SdkLevel;
import com.android.networkstack.apishim.common.UnsupportedApiLevelException;
import com.android.networkstack.apishim.common.VpnServiceBuilderShim;

/**
 * Implementation of {@link com.android.networkstack.apishim.common.VpnServiceBuilderShim}.
 */
@RequiresApi(32) // Change to Build.VERSION_CODES.T when it is available, and adding T methods
public class VpnServiceBuilderShimImpl extends
        com.android.networkstack.apishim.api31.VpnServiceBuilderShimImpl {

    /**
     * Get a new instance of {@link VpnServiceBuilderShim}.
     */
    @RequiresApi(Build.VERSION_CODES.Q)
    public static VpnServiceBuilderShim newInstance() {
        if (SdkLevel.isAtLeastT()) {
            return new VpnServiceBuilderShimImpl();
        } else {
            return new com.android.networkstack.apishim.api31.VpnServiceBuilderShimImpl();
        }
    }

    @Override
    public VpnService.Builder excludeRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException {
        return builder.excludeRoute(prefix);
    }

    @Override
    public VpnService.Builder addRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException {
        return builder.addRoute(prefix);
    }
}
+0 −35
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 com.android.networkstack.apishim.common;

import android.net.IpPrefix;
import android.net.VpnService;

/** Shim for {@link VpnService.Builder}. */
public interface VpnServiceBuilderShim {
    /**
     * @see VpnService.Builder#excludeRoute(IpPrefix)
     */
    VpnService.Builder excludeRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException;

    /**
     * @see VpnService.Builder#addRoute(IpPrefix)
     */
    VpnService.Builder addRoute(VpnService.Builder builder, IpPrefix prefix)
            throws UnsupportedApiLevelException;
}