Expose NET_CAPABILITY_LOCAL_NETWORK as public API
Apps that target an SDK before {@link Build.VERSION_CODES.VANILLA_ICE_CREAM}
will not see networks with this capability unless they explicitly set the
NET_CAPABILITY_LOCAL_NETWORK in their NetworkRequests.
In this way, `NET_CAPABILITY_LOCAL_NETWORK` should be public.
Bug: 313000440
Test: None
Change-Id: I44d9cf3ecf5da471a627696f3d2680f35d4b122d
This commit is contained in:
parent
d7773093ee
commit
21005edfdf
2 changed files with 9 additions and 12 deletions
|
|
@ -332,6 +332,7 @@ package android.net {
|
|||
field public static final int NET_CAPABILITY_IA = 7; // 0x7
|
||||
field public static final int NET_CAPABILITY_IMS = 4; // 0x4
|
||||
field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
|
||||
field @FlaggedApi("com.android.net.flags.net_capability_local_network") public static final int NET_CAPABILITY_LOCAL_NETWORK = 36; // 0x24
|
||||
field public static final int NET_CAPABILITY_MCX = 23; // 0x17
|
||||
field public static final int NET_CAPABILITY_MMS = 0; // 0x0
|
||||
field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIV
|
|||
import static com.android.net.module.util.BitUtils.appendStringRepresentationOfBitMaskToStringBuilder;
|
||||
import static com.android.net.module.util.BitUtils.describeDifferences;
|
||||
|
||||
import android.annotation.FlaggedApi;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.LongDef;
|
||||
import android.annotation.NonNull;
|
||||
|
|
@ -29,9 +30,6 @@ import android.annotation.SuppressLint;
|
|||
import android.annotation.SystemApi;
|
||||
import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.net.ConnectivityManager.NetworkCallback;
|
||||
// Can't be imported because aconfig tooling doesn't exist on udc-mainline-prod yet
|
||||
// See inner class Flags which mimics this for the time being
|
||||
// import android.net.flags.Flags;
|
||||
import android.os.Build;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
|
@ -130,6 +128,8 @@ public final class NetworkCapabilities implements Parcelable {
|
|||
public static class Flags {
|
||||
static final String FLAG_FORBIDDEN_CAPABILITY =
|
||||
"com.android.net.flags.forbidden_capability";
|
||||
static final String FLAG_NET_CAPABILITY_LOCAL_NETWORK =
|
||||
"com.android.net.flags.net_capability_local_network";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -716,17 +716,13 @@ public final class NetworkCapabilities implements Parcelable {
|
|||
public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35;
|
||||
|
||||
/**
|
||||
* This is a local network, e.g. a tethering downstream or a P2P direct network.
|
||||
* Indicates that this network is a local network, e.g. thread network
|
||||
*
|
||||
* <p>
|
||||
* Note that local networks are not sent to callbacks by default. To receive callbacks about
|
||||
* them, the {@link NetworkRequest} instance must be prepared to see them, either by
|
||||
* adding the capability with {@link NetworkRequest.Builder#addCapability}, by removing
|
||||
* this forbidden capability with {@link NetworkRequest.Builder#removeForbiddenCapability},
|
||||
* or by clearing all capabilites with {@link NetworkRequest.Builder#clearCapabilities()}.
|
||||
* </p>
|
||||
* @hide
|
||||
* Apps that target an SDK before {@link Build.VERSION_CODES.VANILLA_ICE_CREAM} will not see
|
||||
* networks with this capability unless they explicitly set the NET_CAPABILITY_LOCAL_NETWORK
|
||||
* in their NetworkRequests.
|
||||
*/
|
||||
@FlaggedApi(Flags.FLAG_NET_CAPABILITY_LOCAL_NETWORK)
|
||||
public static final int NET_CAPABILITY_LOCAL_NETWORK = 36;
|
||||
|
||||
private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_LOCAL_NETWORK;
|
||||
|
|
|
|||
Loading…
Reference in a new issue