Merge "Improve annotation and javadoc for set/getTransportType APIs" into main

This commit is contained in:
Treehugger Robot 2025-06-12 04:34:11 -07:00 • committed by Android (Google) Code Review
commit da3cfacbf6
2 changed files with 40 additions and 2 deletions

View file

@ -24,6 +24,17 @@ import static android.net.ConnectivityManager.TYPE_PROXY;
import static android.net.ConnectivityManager.TYPE_WIFI;
import static android.net.ConnectivityManager.TYPE_WIFI_P2P;
import static android.net.ConnectivityManager.TYPE_WIMAX;
import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH;
import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_ETHERNET;
import static android.net.NetworkCapabilities.TRANSPORT_LOWPAN;
import static android.net.NetworkCapabilities.TRANSPORT_SATELLITE;
import static android.net.NetworkCapabilities.TRANSPORT_TEST;
import static android.net.NetworkCapabilities.TRANSPORT_THREAD;
import static android.net.NetworkCapabilities.TRANSPORT_USB;
import static android.net.NetworkCapabilities.TRANSPORT_VPN;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI_AWARE;
import static android.net.NetworkIdentity.OEM_NONE;
import static android.net.NetworkIdentity.OEM_PAID;
import static android.net.NetworkIdentity.OEM_PRIVATE;
@ -745,14 +756,34 @@ public final class NetworkTemplate implements Parcelable {
return mRatType;
}
/** @hide */
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = { "TRANSPORT_" }, value = {
TRANSPORT_CELLULAR,
TRANSPORT_WIFI,
TRANSPORT_BLUETOOTH,
TRANSPORT_ETHERNET,
TRANSPORT_VPN,
TRANSPORT_WIFI_AWARE,
TRANSPORT_LOWPAN,
TRANSPORT_TEST,
TRANSPORT_USB,
TRANSPORT_THREAD,
TRANSPORT_SATELLITE,
})
public @interface Transport { }
/**
* Get the transport type filter of the template.
*
* This is only valid when the template is constructed by using
* {@link NetworkTemplate.Builder}.
*
* @return The transport type filter.
* @throws IllegalStateException if the transport type was not set during template construction.
*/
@FlaggedApi(Flags.FLAG_NETSTATS_TRANSPORT_TYPE)
public int getTransportType() {
public @Transport int getTransportType() {
if (mTransportTypesBits == TRANSPORT_TYPES_ALL) {
throw new IllegalStateException("Transport was not set");
}
@ -1248,10 +1279,12 @@ public final class NetworkTemplate implements Parcelable {
*
* @param transportType {@code NetworkCapabilities#TRANSPORT_*} constant.
* @return This {@code Builder} for chaining.
* @throws IllegalArgumentException if the builder was not constructed with the default
* constructor {@link Builder#Builder()}.
*/
@FlaggedApi(Flags.FLAG_NETSTATS_TRANSPORT_TYPE)
@NonNull
public Builder setTransportType(int transportType) {
public Builder setTransportType(@Transport int transportType) {
if (mMatchRule != MATCH_ALL) {
throw new IllegalArgumentException("setTransportType is only supported for builder"
+ " built by default constructor.");
@ -1338,6 +1371,9 @@ public final class NetworkTemplate implements Parcelable {
* Builds the instance of the NetworkTemplate.
*
* @return the built instance of NetworkTemplate.
* @throws IllegalArgumentException if the parameters set in the builder are invalid
* (e.g., calling {@link #setTransportType} on a builder
* not created with {@link Builder#Builder()}).
*/
@NonNull
public NetworkTemplate build() {

View file

@ -1291,6 +1291,7 @@ public final class NetworkCapabilities implements Parcelable {
private long mTransportTypes;
/** @hide */
// LINT.IfChange
@Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = { "TRANSPORT_" }, value = {
TRANSPORT_CELLULAR,
@ -1306,6 +1307,7 @@ public final class NetworkCapabilities implements Parcelable {
TRANSPORT_SATELLITE,
})
public @interface Transport { }
// LINT.ThenChange(../../../../framework-t/src/android/net/NetworkTemplate.java)
/**
* Indicates this network uses a Cellular transport.