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

Commit c4a51aa6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[FUI03] No-op refactoring of VpnInfo" am: f9dbe616 am: b0989fd2 am:...

Merge "[FUI03] No-op refactoring of VpnInfo" am: f9dbe616 am: b0989fd2 am: 046ebf41 am: f5c35bcf am: 17115b0a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547637

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifa69c4e834cc53ec174ec2e98c3a3517eb39a405
parents 1f9d4974 17115b0a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.net.NetworkRequest;
import android.net.NetworkState;
import android.net.ProxyInfo;
import android.net.UidRange;
import android.net.VpnInfo;
import android.net.QosSocketInfo;
import android.os.Bundle;
import android.os.IBinder;
@@ -43,7 +44,6 @@ import android.os.ResultReceiver;
import com.android.connectivity.aidl.INetworkAgent;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnInfo;
import com.android.internal.net.VpnProfile;

/**
+1 −1
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ import android.net.NetworkState;
import android.net.NetworkStats;
import android.net.NetworkStatsHistory;
import android.net.NetworkTemplate;
import android.net.VpnInfo;
import android.net.netstats.provider.INetworkStatsProvider;
import android.net.netstats.provider.INetworkStatsProviderCallback;
import android.os.IBinder;
import android.os.Messenger;
import com.android.internal.net.VpnInfo;

/** {@hide} */
interface INetworkStatsService {
+1 −1
Original line number Diff line number Diff line
@@ -14,6 +14,6 @@
 * limitations under the License.
 */

package com.android.internal.net;
package android.net;

parcelable VpnInfo;
+28 −13
Original line number Diff line number Diff line
@@ -11,11 +11,13 @@
 * 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
 * limitations under the License.
 */

package com.android.internal.net;
package android.net;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
import android.os.Parcelable;

@@ -23,14 +25,28 @@ import java.util.Arrays;

/**
 * A lightweight container used to carry information of the ongoing VPN.
 * Internal use only..
 * Internal use only.
 *
 * @hide
 */
public class VpnInfo implements Parcelable {
    public int ownerUid;
    public String vpnIface;
    public String[] underlyingIfaces;
    public final int ownerUid;
    @Nullable
    public final String vpnIface;
    @Nullable
    public final String[] underlyingIfaces;

    public VpnInfo(int ownerUid, @Nullable String vpnIface, @Nullable String[] underlyingIfaces) {
        this.ownerUid = ownerUid;
        this.vpnIface = vpnIface;
        this.underlyingIfaces = underlyingIfaces;
    }

    private VpnInfo(@NonNull Parcel in) {
        this.ownerUid = in.readInt();
        this.vpnIface = in.readString();
        this.underlyingIfaces = in.createStringArray();
    }

    @Override
    public String toString() {
@@ -47,22 +63,21 @@ public class VpnInfo implements Parcelable {
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeInt(ownerUid);
        dest.writeString(vpnIface);
        dest.writeStringArray(underlyingIfaces);
    }

    @NonNull
    public static final Parcelable.Creator<VpnInfo> CREATOR = new Parcelable.Creator<VpnInfo>() {
        @NonNull
        @Override
        public VpnInfo createFromParcel(Parcel source) {
            VpnInfo info = new VpnInfo();
            info.ownerUid = source.readInt();
            info.vpnIface = source.readString();
            info.underlyingIfaces = source.readStringArray();
            return info;
        public VpnInfo createFromParcel(@NonNull Parcel in) {
            return new VpnInfo(in);
        }

        @NonNull
        @Override
        public VpnInfo[] newArray(int size) {
            return new VpnInfo[size];
+5 −7
Original line number Diff line number Diff line
@@ -133,6 +133,7 @@ import android.net.TetheringManager;
import android.net.UidRange;
import android.net.UidRangeParcel;
import android.net.Uri;
import android.net.VpnInfo;
import android.net.VpnManager;
import android.net.VpnService;
import android.net.metrics.INetdEventListener;
@@ -184,7 +185,6 @@ import com.android.internal.app.IBatteryStats;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnInfo;
import com.android.internal.net.VpnProfile;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.AsyncChannel;
@@ -4904,16 +4904,14 @@ public class ConnectivityService extends IConnectivityManager.Stub

        if (interfaces.isEmpty()) return null;

        VpnInfo info = new VpnInfo();
        info.ownerUid = nai.networkCapabilities.getOwnerUid();
        info.vpnIface = nai.linkProperties.getInterfaceName();
        // Must be non-null or NetworkStatsService will crash.
        // Cannot happen in production code because Vpn only registers the NetworkAgent after the
        // tun or ipsec interface is created.
        if (info.vpnIface == null) return null;
        info.underlyingIfaces = interfaces.toArray(new String[0]);
        if (nai.linkProperties.getInterfaceName() == null) return null;

        return info;
        return new VpnInfo(nai.networkCapabilities.getOwnerUid(),
                nai.linkProperties.getInterfaceName(),
                interfaces.toArray(new String[0]));
    }

    /**
Loading