diff options
| -rw-r--r-- | api/current.txt | 11 | ||||
| -rwxr-xr-x | api/system-current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/net/NetworkCapabilities.java | 38 |
3 files changed, 24 insertions, 27 deletions
diff --git a/api/current.txt b/api/current.txt index 058953712d95..cba0a3cdf4b0 100644 --- a/api/current.txt +++ b/api/current.txt @@ -29358,14 +29358,25 @@ package android.net { } public final class NetworkCapabilities implements android.os.Parcelable { + ctor public NetworkCapabilities(); ctor public NetworkCapabilities(android.net.NetworkCapabilities); + method @NonNull public android.net.NetworkCapabilities addCapability(int); + method @NonNull public android.net.NetworkCapabilities addTransportType(int); + method public void clearAll(); method public int describeContents(); method public int getLinkDownstreamBandwidthKbps(); method public int getLinkUpstreamBandwidthKbps(); + method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); method public int getSignalStrength(); method @Nullable public android.net.TransportInfo getTransportInfo(); method public boolean hasCapability(int); method public boolean hasTransport(int); + method @NonNull public android.net.NetworkCapabilities removeCapability(int); + method @NonNull public android.net.NetworkCapabilities setCapability(int, boolean); + method @NonNull public android.net.NetworkCapabilities setLinkDownstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities setLinkUpstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities setNetworkSpecifier(@NonNull android.net.NetworkSpecifier); + method @NonNull public android.net.NetworkCapabilities setSignalStrength(int); method public void writeToParcel(android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR; field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11 diff --git a/api/system-current.txt b/api/system-current.txt index c34f32086fb9..c90296ba1691 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4747,6 +4747,8 @@ package android.net { public final class NetworkCapabilities implements android.os.Parcelable { method @NonNull public int[] getTransportTypes(); method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities); + method @NonNull public android.net.NetworkCapabilities setSSID(@Nullable String); + method @NonNull public android.net.NetworkCapabilities setTransportInfo(@NonNull android.net.TransportInfo); field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16 field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18 } diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index db20dbd06340..4cee5f3e1fb3 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -60,10 +60,6 @@ public final class NetworkCapabilities implements Parcelable { // Set to true when private DNS is broken. private boolean mPrivateDnsBroken; - /** - * @hide - */ - @UnsupportedAppUsage public NetworkCapabilities() { clearAll(); mNetworkCapabilities = DEFAULT_CAPABILITIES; @@ -78,7 +74,6 @@ public final class NetworkCapabilities implements Parcelable { /** * Completely clears the contents of this object, removing even the capabilities that are set * by default when the object is constructed. - * @hide */ public void clearAll() { mNetworkCapabilities = mTransportTypes = mUnwantedNetworkCapabilities = 0; @@ -402,16 +397,15 @@ public final class NetworkCapabilities implements Parcelable { * Adds the given capability to this {@code NetworkCapability} instance. * Multiple capabilities may be applied sequentially. Note that when searching * for a network to satisfy a request, all capabilities requested must be satisfied. - * <p> - * If the given capability was previously added to the list of unwanted capabilities - * then the capability will also be removed from the list of unwanted capabilities. * * @param capability the capability to be added. * @return This NetworkCapabilities instance, to facilitate chaining. - * @hide */ - @UnsupportedAppUsage public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { + // If the given capability was previously added to the list of unwanted capabilities + // then the capability will also be removed from the list of unwanted capabilities. + // TODO: Consider adding unwanted capabilities to the public API and mention this + // in the documentation. checkValidCapability(capability); mNetworkCapabilities |= 1 << capability; mUnwantedNetworkCapabilities &= ~(1 << capability); // remove from unwanted capability list @@ -439,16 +433,13 @@ public final class NetworkCapabilities implements Parcelable { /** * Removes (if found) the given capability from this {@code NetworkCapability} instance. - * <p> - * Note that this method removes capabilities that were added via {@link #addCapability(int)}, - * {@link #addUnwantedCapability(int)} or {@link #setCapabilities(int[], int[])} . * * @param capability the capability to be removed. * @return This NetworkCapabilities instance, to facilitate chaining. - * @hide */ - @UnsupportedAppUsage public @NonNull NetworkCapabilities removeCapability(@NetCapability int capability) { + // Note that this method removes capabilities that were added via addCapability(int), + // addUnwantedCapability(int) or setCapabilities(int[], int[]). checkValidCapability(capability); final long mask = ~(1 << capability); mNetworkCapabilities &= mask; @@ -460,7 +451,6 @@ public final class NetworkCapabilities implements Parcelable { * Sets (or clears) the given capability on this {@link NetworkCapabilities} * instance. * - * @hide */ public @NonNull NetworkCapabilities setCapability(@NetCapability int capability, boolean value) { @@ -722,9 +712,7 @@ public final class NetworkCapabilities implements Parcelable { * * @param transportType the transport type to be added. * @return This NetworkCapabilities instance, to facilitate chaining. - * @hide */ - @UnsupportedAppUsage public @NonNull NetworkCapabilities addTransportType(@Transport int transportType) { checkValidTransportType(transportType); mTransportTypes |= 1 << transportType; @@ -863,7 +851,6 @@ public final class NetworkCapabilities implements Parcelable { * fast backhauls and slow backhauls. * * @param upKbps the estimated first hop upstream (device to network) bandwidth. - * @hide */ public @NonNull NetworkCapabilities setLinkUpstreamBandwidthKbps(int upKbps) { mLinkUpBandwidthKbps = upKbps; @@ -893,7 +880,6 @@ public final class NetworkCapabilities implements Parcelable { * fast backhauls and slow backhauls. * * @param downKbps the estimated first hop downstream (network to device) bandwidth. - * @hide */ public @NonNull NetworkCapabilities setLinkDownstreamBandwidthKbps(int downKbps) { mLinkDownBandwidthKbps = downKbps; @@ -952,9 +938,9 @@ public final class NetworkCapabilities implements Parcelable { * @param networkSpecifier A concrete, parcelable framework class that extends * NetworkSpecifier. * @return This NetworkCapabilities instance, to facilitate chaining. - * @hide */ - public @NonNull NetworkCapabilities setNetworkSpecifier(NetworkSpecifier networkSpecifier) { + public @NonNull NetworkCapabilities setNetworkSpecifier( + @NonNull NetworkSpecifier networkSpecifier) { if (networkSpecifier != null && Long.bitCount(mTransportTypes) != 1) { throw new IllegalStateException("Must have a single transport specified to use " + "setNetworkSpecifier"); @@ -973,7 +959,8 @@ public final class NetworkCapabilities implements Parcelable { * @return This NetworkCapabilities instance, to facilitate chaining. * @hide */ - public @NonNull NetworkCapabilities setTransportInfo(TransportInfo transportInfo) { + @SystemApi + public @NonNull NetworkCapabilities setTransportInfo(@NonNull TransportInfo transportInfo) { mTransportInfo = transportInfo; return this; } @@ -983,9 +970,7 @@ public final class NetworkCapabilities implements Parcelable { * * @return The optional {@link NetworkSpecifier} specifying the bearer specific network * specifier or {@code null}. See {@link #setNetworkSpecifier}. - * @hide */ - @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) public @Nullable NetworkSpecifier getNetworkSpecifier() { return mNetworkSpecifier; } @@ -1054,9 +1039,7 @@ public final class NetworkCapabilities implements Parcelable { * effect when requesting a callback. * * @param signalStrength the bearer-specific signal strength. - * @hide */ - @UnsupportedAppUsage public @NonNull NetworkCapabilities setSignalStrength(int signalStrength) { mSignalStrength = signalStrength; return this; @@ -1282,6 +1265,7 @@ public final class NetworkCapabilities implements Parcelable { * Sets the SSID of this network. * @hide */ + @SystemApi public @NonNull NetworkCapabilities setSSID(@Nullable String ssid) { mSSID = ssid; return this; |