Merge "[FUI03] No-op refactoring of VpnInfo" am: f9dbe61693
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547637 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Iae15ffcf1fbf31ab004a36eb662f39e4439146d0
This commit is contained in:
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -14,6 +14,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.internal.net;
|
||||
package android.net;
|
||||
|
||||
parcelable VpnInfo;
|
||||
@@ -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];
|
||||
@@ -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]));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -70,6 +70,7 @@ import android.net.NetworkRequest;
|
||||
import android.net.RouteInfo;
|
||||
import android.net.UidRange;
|
||||
import android.net.UidRangeParcel;
|
||||
import android.net.VpnInfo;
|
||||
import android.net.VpnManager;
|
||||
import android.net.VpnService;
|
||||
import android.net.ipsec.ike.ChildSessionCallback;
|
||||
@@ -109,7 +110,6 @@ import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
|
||||
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.server.DeviceIdleInternal;
|
||||
import com.android.server.LocalServices;
|
||||
@@ -1816,18 +1816,15 @@ public class Vpn {
|
||||
}
|
||||
|
||||
/**
|
||||
* This method should only be called by ConnectivityService because it doesn't
|
||||
* have enough data to fill VpnInfo.primaryUnderlyingIface field.
|
||||
* This method should not be called if underlying interfaces field is needed, because it doesn't
|
||||
* have enough data to fill VpnInfo.underlyingIfaces field.
|
||||
*/
|
||||
public synchronized VpnInfo getVpnInfo() {
|
||||
if (!isRunningLocked()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
VpnInfo info = new VpnInfo();
|
||||
info.ownerUid = mOwnerUID;
|
||||
info.vpnIface = mInterface;
|
||||
return info;
|
||||
return new VpnInfo(mOwnerUID, mInterface, null);
|
||||
}
|
||||
|
||||
public synchronized boolean appliesToUid(int uid) {
|
||||
|
||||
@@ -27,6 +27,7 @@ import static com.android.server.NetworkManagementSocketTagger.kernelToTag;
|
||||
import android.annotation.Nullable;
|
||||
import android.net.INetd;
|
||||
import android.net.NetworkStats;
|
||||
import android.net.VpnInfo;
|
||||
import android.net.util.NetdService;
|
||||
import android.os.RemoteException;
|
||||
import android.os.StrictMode;
|
||||
@@ -34,7 +35,6 @@ import android.os.SystemClock;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.net.VpnInfo;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.internal.util.ProcFileReader;
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@ import android.net.NetworkStatsHistory;
|
||||
import android.net.NetworkTemplate;
|
||||
import android.net.TrafficStats;
|
||||
import android.net.Uri;
|
||||
import android.net.VpnInfo;
|
||||
import android.net.netstats.provider.INetworkStatsProvider;
|
||||
import android.net.netstats.provider.INetworkStatsProviderCallback;
|
||||
import android.net.netstats.provider.NetworkStatsProvider;
|
||||
@@ -143,7 +144,6 @@ import android.util.proto.ProtoOutputStream;
|
||||
|
||||
import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.net.VpnInfo;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.internal.util.DumpUtils;
|
||||
import com.android.internal.util.FileRotator;
|
||||
|
||||
@@ -201,6 +201,7 @@ import android.net.SocketKeepalive;
|
||||
import android.net.UidRange;
|
||||
import android.net.UidRangeParcel;
|
||||
import android.net.Uri;
|
||||
import android.net.VpnInfo;
|
||||
import android.net.VpnManager;
|
||||
import android.net.metrics.IpConnectivityLog;
|
||||
import android.net.shared.NetworkMonitorUtils;
|
||||
@@ -245,7 +246,6 @@ import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.internal.app.IBatteryStats;
|
||||
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.WakeupMessage;
|
||||
@@ -8323,8 +8323,7 @@ public class ConnectivityServiceTest {
|
||||
assertVpnUidRangesUpdated(true, vpnRange, vpnOwnerUid);
|
||||
mMockVpn.setVpnType(vpnType);
|
||||
|
||||
final VpnInfo vpnInfo = new VpnInfo();
|
||||
vpnInfo.ownerUid = vpnOwnerUid;
|
||||
final VpnInfo vpnInfo = new VpnInfo(vpnOwnerUid, null, null);
|
||||
mMockVpn.setVpnInfo(vpnInfo);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,8 +33,7 @@ import static android.net.NetworkStats.TAG_NONE;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.net.NetworkStats;
|
||||
|
||||
import com.android.internal.net.VpnInfo;
|
||||
import android.net.VpnInfo;
|
||||
|
||||
/** Superclass with utilities for NetworkStats(Service|Factory)Test */
|
||||
abstract class NetworkStatsBaseTest {
|
||||
@@ -113,10 +112,6 @@ abstract class NetworkStatsBaseTest {
|
||||
}
|
||||
|
||||
static VpnInfo createVpnInfo(String vpnIface, String[] underlyingIfaces) {
|
||||
VpnInfo info = new VpnInfo();
|
||||
info.ownerUid = UID_VPN;
|
||||
info.vpnIface = vpnIface;
|
||||
info.underlyingIfaces = underlyingIfaces;
|
||||
return info;
|
||||
return new VpnInfo(UID_VPN, vpnIface, underlyingIfaces);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,13 +36,13 @@ import static org.junit.Assert.fail;
|
||||
import android.content.res.Resources;
|
||||
import android.net.NetworkStats;
|
||||
import android.net.TrafficStats;
|
||||
import android.net.VpnInfo;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.filters.SmallTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.frameworks.tests.net.R;
|
||||
import com.android.internal.net.VpnInfo;
|
||||
|
||||
import libcore.io.IoUtils;
|
||||
import libcore.io.Streams;
|
||||
|
||||
@@ -86,6 +86,7 @@ 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.INetworkStatsProviderCallback;
|
||||
import android.os.ConditionVariable;
|
||||
import android.os.Handler;
|
||||
@@ -104,7 +105,6 @@ import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.filters.SmallTest;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.android.internal.net.VpnInfo;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.internal.util.test.BroadcastInterceptingContext;
|
||||
import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
|
||||
|
||||
Reference in New Issue
Block a user