Loading Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,7 @@ java_defaults { "core/java/android/net/INetworkScoreService.aidl", "core/java/android/net/INetworkStatsService.aidl", "core/java/android/net/INetworkStatsSession.aidl", "core/java/android/net/ITestNetworkManager.aidl", "core/java/android/net/ITetheringStatsProvider.aidl", "core/java/android/net/nsd/INsdManager.aidl", "core/java/android/nfc/IAppCallback.aidl", Loading api/test-current.txt +15 −0 Original line number Diff line number Diff line Loading @@ -703,6 +703,21 @@ package android.net { field public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; } public final class TestNetworkInterface implements android.os.Parcelable { ctor public TestNetworkInterface(android.os.ParcelFileDescriptor, String); method public int describeContents(); method public android.os.ParcelFileDescriptor getFileDescriptor(); method public String getInterfaceName(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR; } public class TestNetworkManager { method public android.net.TestNetworkInterface createTunInterface(@NonNull android.net.LinkAddress[]); method public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder); method public void teardownTestNetwork(@NonNull android.net.Network); } public class TrafficStats { method public static long getLoopbackRxBytes(); method public static long getLoopbackRxPackets(); Loading core/java/android/net/ITestNetworkManager.aidl 0 → 100644 +36 −0 Original line number Diff line number Diff line /** * Copyright (c) 2018, 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 android.net; import android.net.LinkAddress; import android.net.TestNetworkInterface; import android.os.IBinder; import android.os.ParcelFileDescriptor; /** * Interface that allows for creation and management of test-only networks. * * @hide */ interface ITestNetworkManager { TestNetworkInterface createTunInterface(in LinkAddress[] linkAddrs); void setupTestNetwork(in String iface, in IBinder binder); void teardownTestNetwork(int netId); } core/java/android/net/TestNetworkInterface.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.net; /** @hide */ parcelable TestNetworkInterface; core/java/android/net/TestNetworkInterface.java 0 → 100644 +74 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.net; import android.annotation.TestApi; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.Parcelable; /** * This class is used to return the interface name and fd of the test interface * * @hide */ @TestApi public final class TestNetworkInterface implements Parcelable { private static final String TAG = "TestNetworkInterface"; private final ParcelFileDescriptor mFileDescriptor; private final String mInterfaceName; @Override public int describeContents() { return (mFileDescriptor != null) ? Parcelable.CONTENTS_FILE_DESCRIPTOR : 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeParcelable(mFileDescriptor, PARCELABLE_WRITE_RETURN_VALUE); out.writeString(mInterfaceName); } public TestNetworkInterface(ParcelFileDescriptor pfd, String intf) { mFileDescriptor = pfd; mInterfaceName = intf; } private TestNetworkInterface(Parcel in) { mFileDescriptor = in.readParcelable(ParcelFileDescriptor.class.getClassLoader()); mInterfaceName = in.readString(); } public ParcelFileDescriptor getFileDescriptor() { return mFileDescriptor; } public String getInterfaceName() { return mInterfaceName; } public static final Parcelable.Creator<TestNetworkInterface> CREATOR = new Parcelable.Creator<TestNetworkInterface>() { public TestNetworkInterface createFromParcel(Parcel in) { return new TestNetworkInterface(in); } public TestNetworkInterface[] newArray(int size) { return new TestNetworkInterface[size]; } }; } Loading
Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -201,6 +201,7 @@ java_defaults { "core/java/android/net/INetworkScoreService.aidl", "core/java/android/net/INetworkStatsService.aidl", "core/java/android/net/INetworkStatsSession.aidl", "core/java/android/net/ITestNetworkManager.aidl", "core/java/android/net/ITetheringStatsProvider.aidl", "core/java/android/net/nsd/INsdManager.aidl", "core/java/android/nfc/IAppCallback.aidl", Loading
api/test-current.txt +15 −0 Original line number Diff line number Diff line Loading @@ -703,6 +703,21 @@ package android.net { field public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; } public final class TestNetworkInterface implements android.os.Parcelable { ctor public TestNetworkInterface(android.os.ParcelFileDescriptor, String); method public int describeContents(); method public android.os.ParcelFileDescriptor getFileDescriptor(); method public String getInterfaceName(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR; } public class TestNetworkManager { method public android.net.TestNetworkInterface createTunInterface(@NonNull android.net.LinkAddress[]); method public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder); method public void teardownTestNetwork(@NonNull android.net.Network); } public class TrafficStats { method public static long getLoopbackRxBytes(); method public static long getLoopbackRxPackets(); Loading
core/java/android/net/ITestNetworkManager.aidl 0 → 100644 +36 −0 Original line number Diff line number Diff line /** * Copyright (c) 2018, 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 android.net; import android.net.LinkAddress; import android.net.TestNetworkInterface; import android.os.IBinder; import android.os.ParcelFileDescriptor; /** * Interface that allows for creation and management of test-only networks. * * @hide */ interface ITestNetworkManager { TestNetworkInterface createTunInterface(in LinkAddress[] linkAddrs); void setupTestNetwork(in String iface, in IBinder binder); void teardownTestNetwork(int netId); }
core/java/android/net/TestNetworkInterface.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.net; /** @hide */ parcelable TestNetworkInterface;
core/java/android/net/TestNetworkInterface.java 0 → 100644 +74 −0 Original line number Diff line number Diff line /* * Copyright (C) 2019 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 android.net; import android.annotation.TestApi; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.Parcelable; /** * This class is used to return the interface name and fd of the test interface * * @hide */ @TestApi public final class TestNetworkInterface implements Parcelable { private static final String TAG = "TestNetworkInterface"; private final ParcelFileDescriptor mFileDescriptor; private final String mInterfaceName; @Override public int describeContents() { return (mFileDescriptor != null) ? Parcelable.CONTENTS_FILE_DESCRIPTOR : 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeParcelable(mFileDescriptor, PARCELABLE_WRITE_RETURN_VALUE); out.writeString(mInterfaceName); } public TestNetworkInterface(ParcelFileDescriptor pfd, String intf) { mFileDescriptor = pfd; mInterfaceName = intf; } private TestNetworkInterface(Parcel in) { mFileDescriptor = in.readParcelable(ParcelFileDescriptor.class.getClassLoader()); mInterfaceName = in.readString(); } public ParcelFileDescriptor getFileDescriptor() { return mFileDescriptor; } public String getInterfaceName() { return mInterfaceName; } public static final Parcelable.Creator<TestNetworkInterface> CREATOR = new Parcelable.Creator<TestNetworkInterface>() { public TestNetworkInterface createFromParcel(Parcel in) { return new TestNetworkInterface(in); } public TestNetworkInterface[] newArray(int size) { return new TestNetworkInterface[size]; } }; }