Loading core/java/android/net/IConnectivityManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; /** Loading core/java/android/net/INetworkStatsService.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading core/java/com/android/internal/net/VpnInfo.aidl→core/java/android/net/VpnInfo.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,6 @@ * limitations under the License. */ package com.android.internal.net; package android.net; parcelable VpnInfo; core/java/com/android/internal/net/VpnInfo.java→core/java/android/net/VpnInfo.java +28 −13 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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() { Loading @@ -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]; Loading services/core/java/com/android/server/ConnectivityService.java +5 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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 Loading
core/java/android/net/IConnectivityManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; /** Loading
core/java/android/net/INetworkStatsService.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading
core/java/com/android/internal/net/VpnInfo.aidl→core/java/android/net/VpnInfo.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,6 @@ * limitations under the License. */ package com.android.internal.net; package android.net; parcelable VpnInfo;
core/java/com/android/internal/net/VpnInfo.java→core/java/android/net/VpnInfo.java +28 −13 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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() { Loading @@ -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]; Loading
services/core/java/com/android/server/ConnectivityService.java +5 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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