Merge "Expose NetworkCapabilities methods to system/public APIs"

am: 9290dc1179

Change-Id: Icb3d0559475a14130dea64a5ca49a6259d5a2eb9
This commit is contained in:
Aaron Huang
2019-12-27 00:38:46 -08:00
committed by android-build-merger

View File

@@ -60,10 +60,6 @@ public final class NetworkCapabilities implements Parcelable {
// Set to true when private DNS is broken. // Set to true when private DNS is broken.
private boolean mPrivateDnsBroken; private boolean mPrivateDnsBroken;
/**
* @hide
*/
@UnsupportedAppUsage
public NetworkCapabilities() { public NetworkCapabilities() {
clearAll(); clearAll();
mNetworkCapabilities = DEFAULT_CAPABILITIES; 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 * Completely clears the contents of this object, removing even the capabilities that are set
* by default when the object is constructed. * by default when the object is constructed.
* @hide
*/ */
public void clearAll() { public void clearAll() {
mNetworkCapabilities = mTransportTypes = mUnwantedNetworkCapabilities = 0; mNetworkCapabilities = mTransportTypes = mUnwantedNetworkCapabilities = 0;
@@ -402,16 +397,15 @@ public final class NetworkCapabilities implements Parcelable {
* Adds the given capability to this {@code NetworkCapability} instance. * Adds the given capability to this {@code NetworkCapability} instance.
* Multiple capabilities may be applied sequentially. Note that when searching * Multiple capabilities may be applied sequentially. Note that when searching
* for a network to satisfy a request, all capabilities requested must be satisfied. * 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. * @param capability the capability to be added.
* @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining.
* @hide
*/ */
@UnsupportedAppUsage
public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { 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); checkValidCapability(capability);
mNetworkCapabilities |= 1 << capability; mNetworkCapabilities |= 1 << capability;
mUnwantedNetworkCapabilities &= ~(1 << capability); // remove from unwanted capability list 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. * 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. * @param capability the capability to be removed.
* @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining.
* @hide
*/ */
@UnsupportedAppUsage
public @NonNull NetworkCapabilities removeCapability(@NetCapability int capability) { 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); checkValidCapability(capability);
final long mask = ~(1 << capability); final long mask = ~(1 << capability);
mNetworkCapabilities &= mask; mNetworkCapabilities &= mask;
@@ -460,7 +451,6 @@ public final class NetworkCapabilities implements Parcelable {
* Sets (or clears) the given capability on this {@link NetworkCapabilities} * Sets (or clears) the given capability on this {@link NetworkCapabilities}
* instance. * instance.
* *
* @hide
*/ */
public @NonNull NetworkCapabilities setCapability(@NetCapability int capability, public @NonNull NetworkCapabilities setCapability(@NetCapability int capability,
boolean value) { boolean value) {
@@ -722,9 +712,7 @@ public final class NetworkCapabilities implements Parcelable {
* *
* @param transportType the transport type to be added. * @param transportType the transport type to be added.
* @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining.
* @hide
*/ */
@UnsupportedAppUsage
public @NonNull NetworkCapabilities addTransportType(@Transport int transportType) { public @NonNull NetworkCapabilities addTransportType(@Transport int transportType) {
checkValidTransportType(transportType); checkValidTransportType(transportType);
mTransportTypes |= 1 << transportType; mTransportTypes |= 1 << transportType;
@@ -863,7 +851,6 @@ public final class NetworkCapabilities implements Parcelable {
* fast backhauls and slow backhauls. * fast backhauls and slow backhauls.
* *
* @param upKbps the estimated first hop upstream (device to network) bandwidth. * @param upKbps the estimated first hop upstream (device to network) bandwidth.
* @hide
*/ */
public @NonNull NetworkCapabilities setLinkUpstreamBandwidthKbps(int upKbps) { public @NonNull NetworkCapabilities setLinkUpstreamBandwidthKbps(int upKbps) {
mLinkUpBandwidthKbps = upKbps; mLinkUpBandwidthKbps = upKbps;
@@ -893,7 +880,6 @@ public final class NetworkCapabilities implements Parcelable {
* fast backhauls and slow backhauls. * fast backhauls and slow backhauls.
* *
* @param downKbps the estimated first hop downstream (network to device) bandwidth. * @param downKbps the estimated first hop downstream (network to device) bandwidth.
* @hide
*/ */
public @NonNull NetworkCapabilities setLinkDownstreamBandwidthKbps(int downKbps) { public @NonNull NetworkCapabilities setLinkDownstreamBandwidthKbps(int downKbps) {
mLinkDownBandwidthKbps = downKbps; mLinkDownBandwidthKbps = downKbps;
@@ -952,9 +938,9 @@ public final class NetworkCapabilities implements Parcelable {
* @param networkSpecifier A concrete, parcelable framework class that extends * @param networkSpecifier A concrete, parcelable framework class that extends
* NetworkSpecifier. * NetworkSpecifier.
* @return This NetworkCapabilities instance, to facilitate chaining. * @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) { if (networkSpecifier != null && Long.bitCount(mTransportTypes) != 1) {
throw new IllegalStateException("Must have a single transport specified to use " + throw new IllegalStateException("Must have a single transport specified to use " +
"setNetworkSpecifier"); "setNetworkSpecifier");
@@ -973,7 +959,8 @@ public final class NetworkCapabilities implements Parcelable {
* @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining.
* @hide * @hide
*/ */
public @NonNull NetworkCapabilities setTransportInfo(TransportInfo transportInfo) { @SystemApi
public @NonNull NetworkCapabilities setTransportInfo(@NonNull TransportInfo transportInfo) {
mTransportInfo = transportInfo; mTransportInfo = transportInfo;
return this; return this;
} }
@@ -983,9 +970,7 @@ public final class NetworkCapabilities implements Parcelable {
* *
* @return The optional {@link NetworkSpecifier} specifying the bearer specific network * @return The optional {@link NetworkSpecifier} specifying the bearer specific network
* specifier or {@code null}. See {@link #setNetworkSpecifier}. * specifier or {@code null}. See {@link #setNetworkSpecifier}.
* @hide
*/ */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
public @Nullable NetworkSpecifier getNetworkSpecifier() { public @Nullable NetworkSpecifier getNetworkSpecifier() {
return mNetworkSpecifier; return mNetworkSpecifier;
} }
@@ -1054,9 +1039,7 @@ public final class NetworkCapabilities implements Parcelable {
* effect when requesting a callback. * effect when requesting a callback.
* *
* @param signalStrength the bearer-specific signal strength. * @param signalStrength the bearer-specific signal strength.
* @hide
*/ */
@UnsupportedAppUsage
public @NonNull NetworkCapabilities setSignalStrength(int signalStrength) { public @NonNull NetworkCapabilities setSignalStrength(int signalStrength) {
mSignalStrength = signalStrength; mSignalStrength = signalStrength;
return this; return this;
@@ -1282,6 +1265,7 @@ public final class NetworkCapabilities implements Parcelable {
* Sets the SSID of this network. * Sets the SSID of this network.
* @hide * @hide
*/ */
@SystemApi
public @NonNull NetworkCapabilities setSSID(@Nullable String ssid) { public @NonNull NetworkCapabilities setSSID(@Nullable String ssid) {
mSSID = ssid; mSSID = ssid;
return this; return this;