From 649e3a28dd11439f0aa5d8fd605e6695da93d255 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Tue, 12 Jan 2021 18:40:04 +0900 Subject: [PATCH] Mark connectivity test utilities as module API The API surface is planned to move to the Connectivity module, meaning that it will be maintained across multiple Android releases. This is incompatible with TestApi semantics, which are designed to be removable across releases. Effectively the APIs become SystemApi, so mark them as such considering that TestApi is not supported by modules. Remove the NetworkCapabilities.getCapabilities test API that is not essential for tests, and mark other APIs as module API. Test: m Bug: 174436414 Change-Id: Ic04551a9874b3d756cf5e6c77ceabfc7c85d52a6 --- core/api/module-lib-current.txt | 8 ++++++++ core/api/test-current.txt | 9 --------- core/java/android/net/ConnectivityManager.java | 5 +++-- core/java/android/net/NetworkCapabilities.java | 4 +--- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index c19dd4ca4a8ee..67eee6253235a 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -10,6 +10,14 @@ package android.app { package android.net { + public class ConnectivityManager { + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle); + } + + public final class NetworkCapabilities implements android.os.Parcelable { + field public static final int TRANSPORT_TEST = 7; // 0x7 + } + public final class TcpRepairWindow { ctor public TcpRepairWindow(int, int, int, int, int, int); field public final int maxWindow; diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 715a099fca4fb..ea9e9268d06d9 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -980,10 +980,6 @@ package android.media.tv { package android.net { - public class ConnectivityManager { - method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle); - } - public class EthernetManager { method public void setIncludeTestInterfaces(boolean); } @@ -992,11 +988,6 @@ package android.net { field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0 } - public final class NetworkCapabilities implements android.os.Parcelable { - method public int[] getCapabilities(); - field public static final int TRANSPORT_TEST = 7; // 0x7 - } - public class NetworkStack { method public static void setServiceForTest(@Nullable android.os.IBinder); } diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index ce0ed5bc0553e..9e3918ebab822 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -29,7 +29,6 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; -import android.annotation.TestApi; import android.app.PendingIntent; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; @@ -4823,6 +4822,8 @@ public class ConnectivityManager { /** * Simulates a Data Stall for the specified Network. * + *

This method should only be used for tests. + * *

The caller must be the owner of the specified Network. * * @param detectionMethod The detection method used to identify the Data Stall. @@ -4832,7 +4833,7 @@ public class ConnectivityManager { * @throws SecurityException if the caller is not the owner of the given network. * @hide */ - @TestApi + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int detectionMethod, long timestampMillis, diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index 2d9f6d806f314..0a895b98f9fd0 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -23,7 +23,6 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; -import android.annotation.TestApi; import android.compat.annotation.UnsupportedAppUsage; import android.net.ConnectivityManager.NetworkCallback; import android.os.Build; @@ -576,7 +575,6 @@ public final class NetworkCapabilities implements Parcelable { * @hide */ @UnsupportedAppUsage - @TestApi public @NetCapability int[] getCapabilities() { return BitUtils.unpackBits(mNetworkCapabilities); } @@ -821,7 +819,7 @@ public final class NetworkCapabilities implements Parcelable { * * @hide */ - @TestApi + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public static final int TRANSPORT_TEST = 7; /** @hide */