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

Commit f1b806e8 authored by Ayush Sharma's avatar Ayush Sharma
Browse files

Revert "Add VpnServiceBuilderShim for VpnService.Builder"

Revert submission 1551943-vpn-impl

Reason for revert: <DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=mainline_modules_x86_64-userdebug&lkgb=8007224&lkbb=8008168&fkbb=8007902 >, bug b/210979001
Reverted Changes:
I0e7aa077a:Add VpnServiceBuilderShim for VpnService.Builder
Ib12f5ab39:Suppress NewApi warnings for @SystemApi -> public ...
I59b9185cf:Unhide RouteInfo#getType and related fields
Ie5b62b2b2:Unhide IpPrefix(InetAddress, int)
I993a32d40:Add CTS tests for exclude VPN routes APIs
Ib24b2d3fb:Suppress NewApi warnings for @SystemApi -> public ...
Ic3b10464a:Add APIs that allow to exclude routes from VPN

Change-Id: I6c1c22d05486f06366de698c0d381de5680ab51e
BUG: 210979001
parent f4e3fdcd
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;
}