Update NetworkInfo public API.

Wifi needs to create these objects so it can include them
in the broadcasts.

Bug: 135998869
Test: FrameworksWifiTests
Change-Id: Ic50d9b5c65e8771708620badc3bc242a8ffbb5cc
This commit is contained in:
Chalard Jean
2020-01-22 22:52:03 +09:00
committed by Roshan Pius
parent dc259e5e99
commit 04a2e63ed8

View File

@@ -17,9 +17,11 @@
package android.net;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.Annotation.NetworkType;
import com.android.internal.annotations.VisibleForTesting;
@@ -150,10 +152,19 @@ public class NetworkInfo implements Parcelable {
private boolean mIsRoaming;
/**
* @hide
* Create a new instance of NetworkInfo.
*
* This may be useful for apps to write unit tests.
*
* @param type the legacy type of the network, as one of the ConnectivityManager.TYPE_*
* constants.
* @param subtype the subtype if applicable, as one of the TelephonyManager.NETWORK_TYPE_*
* constants.
* @param typeName a human-readable string for the network type, or an empty string or null.
* @param subtypeName a human-readable string for the subtype, or an empty string or null.
*/
@UnsupportedAppUsage
public NetworkInfo(int type, int subtype, String typeName, String subtypeName) {
public NetworkInfo(int type, @NetworkType int subtype,
@Nullable String typeName, @Nullable String subtypeName) {
if (!ConnectivityManager.isNetworkTypeValid(type)
&& type != ConnectivityManager.TYPE_NONE) {
throw new IllegalArgumentException("Invalid network type: " + type);
@@ -462,17 +473,19 @@ public class NetworkInfo implements Parcelable {
/**
* Sets the fine-grained state of the network.
*
* This is only useful for testing.
*
* @param detailedState the {@link DetailedState}.
* @param reason a {@code String} indicating the reason for the state change,
* if one was supplied. May be {@code null}.
* @param extraInfo an optional {@code String} providing addditional network state
* information passed up from the lower networking layers.
* @deprecated Use {@link NetworkCapabilities} instead.
* @hide
*/
@Deprecated
@UnsupportedAppUsage
public void setDetailedState(DetailedState detailedState, String reason, String extraInfo) {
public void setDetailedState(@NonNull DetailedState detailedState, @Nullable String reason,
@Nullable String extraInfo) {
synchronized (this) {
this.mDetailedState = detailedState;
this.mState = stateMap.get(detailedState);