[TL02]Remove hidden API usage of NetworkAgent
The connection service will become the mainline module.
Remove the hidden API usage of NetworkAgent.
Bug: 170598012
CTS-Coverage-Bug: 170598012
Test: atest FrameworksNetTests FrameworksTelephonyTests
atest FrameworksWifiTests
Change-Id: I4e4040ae7f94bdf479c7df9ec2ffabafbe06331c
This commit is contained in:
@@ -216,6 +216,7 @@ package android.net {
|
||||
method public void markConnected();
|
||||
method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
|
||||
method public void onAutomaticReconnectDisabled();
|
||||
method public void onBandwidthUpdateRequested();
|
||||
method public void onNetworkUnwanted();
|
||||
method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
|
||||
method public void onQosCallbackUnregistered(int);
|
||||
@@ -233,6 +234,7 @@ package android.net {
|
||||
method public final void sendQosSessionAvailable(int, int, @NonNull android.telephony.data.EpsBearerQosSessionAttributes);
|
||||
method public final void sendQosSessionLost(int, int);
|
||||
method public final void sendSocketKeepaliveEvent(int, int);
|
||||
method @Deprecated public void setLegacySubtype(int, @NonNull String);
|
||||
method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
|
||||
method public void unregister();
|
||||
field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
|
||||
@@ -253,7 +255,12 @@ package android.net {
|
||||
public static final class NetworkAgentConfig.Builder {
|
||||
ctor public NetworkAgentConfig.Builder();
|
||||
method @NonNull public android.net.NetworkAgentConfig build();
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder disableNat64Detection();
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder disableProvisioningNotification();
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
|
||||
method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
|
||||
@@ -388,6 +395,7 @@ package android.net {
|
||||
}
|
||||
|
||||
public abstract class SocketKeepalive implements java.lang.AutoCloseable {
|
||||
field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
|
||||
field public static final int SUCCESS = 0; // 0x0
|
||||
}
|
||||
|
||||
|
||||
@@ -362,9 +362,8 @@ public abstract class NetworkAgent {
|
||||
public static final int CMD_UNREGISTER_QOS_CALLBACK = BASE + 21;
|
||||
|
||||
private static NetworkInfo getLegacyNetworkInfo(final NetworkAgentConfig config) {
|
||||
// The subtype can be changed with (TODO) setLegacySubtype, but it starts
|
||||
// with 0 (TelephonyManager.NETWORK_TYPE_UNKNOWN) and an empty description.
|
||||
final NetworkInfo ni = new NetworkInfo(config.legacyType, 0, config.legacyTypeName, "");
|
||||
final NetworkInfo ni = new NetworkInfo(config.legacyType, config.legacySubType,
|
||||
config.legacyTypeName, config.legacySubTypeName);
|
||||
ni.setIsAvailable(true);
|
||||
ni.setDetailedState(NetworkInfo.DetailedState.CONNECTING, null /* reason */,
|
||||
config.getLegacyExtraInfo());
|
||||
@@ -829,6 +828,7 @@ public abstract class NetworkAgent {
|
||||
* @hide
|
||||
*/
|
||||
@Deprecated
|
||||
@SystemApi
|
||||
public void setLegacySubtype(final int legacySubtype, @NonNull final String legacySubtypeName) {
|
||||
mNetworkInfo.setSubtype(legacySubtype, legacySubtypeName);
|
||||
queueOrSendNetworkInfo(mNetworkInfo);
|
||||
@@ -962,6 +962,7 @@ public abstract class NetworkAgent {
|
||||
* shall try to overwrite this method and produce a bandwidth update if capable.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public void onBandwidthUpdateRequested() {
|
||||
pollLceData();
|
||||
}
|
||||
|
||||
@@ -164,6 +164,12 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
return legacyType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The legacy Sub type of this network agent, or TYPE_NONE if unset.
|
||||
* @hide
|
||||
*/
|
||||
public int legacySubType = ConnectivityManager.TYPE_NONE;
|
||||
|
||||
/**
|
||||
* Set to true if the PRIVATE_DNS_BROKEN notification has shown for this network.
|
||||
* Reset this bit when private DNS mode is changed from strict mode to opportunistic/off mode.
|
||||
@@ -189,6 +195,13 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
return legacyTypeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* The name of the legacy Sub network type. It's a free-form string.
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public String legacySubTypeName = "";
|
||||
|
||||
/**
|
||||
* The legacy extra info of the agent. The extra info should only be :
|
||||
* <ul>
|
||||
@@ -225,6 +238,8 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
skip464xlat = nac.skip464xlat;
|
||||
legacyType = nac.legacyType;
|
||||
legacyTypeName = nac.legacyTypeName;
|
||||
legacySubType = nac.legacySubType;
|
||||
legacySubTypeName = nac.legacySubTypeName;
|
||||
mLegacyExtraInfo = nac.mLegacyExtraInfo;
|
||||
}
|
||||
}
|
||||
@@ -290,7 +305,6 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
* and reduce idle traffic on networks that are known to be IPv6-only without a NAT64.
|
||||
*
|
||||
* @return this builder, to facilitate chaining.
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public Builder disableNat64Detection() {
|
||||
@@ -303,7 +317,6 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
* perform its own carrier-specific provisioning procedure.
|
||||
*
|
||||
* @return this builder, to facilitate chaining.
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public Builder disableProvisioningNotification() {
|
||||
@@ -323,6 +336,18 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the legacy sub-type for this network.
|
||||
*
|
||||
* @param legacySubType the type
|
||||
* @return this builder, to facilitate chaining.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setLegacySubType(final int legacySubType) {
|
||||
mConfig.legacySubType = legacySubType;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the legacy type of the agent. It's a free-form string used in logging.
|
||||
* @param legacyTypeName the name
|
||||
@@ -334,11 +359,21 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name of the legacy Sub-type of the agent. It's a free-form string.
|
||||
* @param legacySubTypeName the name
|
||||
* @return this builder, to facilitate chaining.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setLegacySubTypeName(@NonNull String legacySubTypeName) {
|
||||
mConfig.legacySubTypeName = legacySubTypeName;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the legacy extra info of the agent.
|
||||
* @param legacyExtraInfo the legacy extra info.
|
||||
* @return this builder, to facilitate chaining.
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setLegacyExtraInfo(@NonNull String legacyExtraInfo) {
|
||||
@@ -412,6 +447,8 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
out.writeInt(skip464xlat ? 1 : 0);
|
||||
out.writeInt(legacyType);
|
||||
out.writeString(legacyTypeName);
|
||||
out.writeInt(legacySubType);
|
||||
out.writeString(legacySubTypeName);
|
||||
out.writeString(mLegacyExtraInfo);
|
||||
}
|
||||
|
||||
@@ -429,6 +466,8 @@ public final class NetworkAgentConfig implements Parcelable {
|
||||
networkAgentConfig.skip464xlat = in.readInt() != 0;
|
||||
networkAgentConfig.legacyType = in.readInt();
|
||||
networkAgentConfig.legacyTypeName = in.readString();
|
||||
networkAgentConfig.legacySubType = in.readInt();
|
||||
networkAgentConfig.legacySubTypeName = in.readString();
|
||||
networkAgentConfig.mLegacyExtraInfo = in.readString();
|
||||
return networkAgentConfig;
|
||||
}
|
||||
|
||||
@@ -55,36 +55,68 @@ public abstract class SocketKeepalive implements AutoCloseable {
|
||||
static final String TAG = "SocketKeepalive";
|
||||
|
||||
/**
|
||||
* No errors.
|
||||
* Success. It indicates there is no error.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int SUCCESS = 0;
|
||||
|
||||
/** @hide */
|
||||
/**
|
||||
* No keepalive. This should only be internally as it indicates There is no keepalive.
|
||||
* It should not propagate to applications.
|
||||
* @hide
|
||||
*/
|
||||
public static final int NO_KEEPALIVE = -1;
|
||||
|
||||
/** @hide */
|
||||
/**
|
||||
* Data received.
|
||||
* @hide
|
||||
*/
|
||||
public static final int DATA_RECEIVED = -2;
|
||||
|
||||
/** @hide */
|
||||
/**
|
||||
* The binder died.
|
||||
* @hide
|
||||
*/
|
||||
public static final int BINDER_DIED = -10;
|
||||
|
||||
/** The specified {@code Network} is not connected. */
|
||||
/**
|
||||
* The invalid network. It indicates the specified {@code Network} is not connected.
|
||||
*/
|
||||
public static final int ERROR_INVALID_NETWORK = -20;
|
||||
/** The specified IP addresses are invalid. For example, the specified source IP address is
|
||||
* not configured on the specified {@code Network}. */
|
||||
|
||||
/**
|
||||
* The invalid IP addresses. Indicates the specified IP addresses are invalid.
|
||||
* For example, the specified source IP address is not configured on the
|
||||
* specified {@code Network}.
|
||||
*/
|
||||
public static final int ERROR_INVALID_IP_ADDRESS = -21;
|
||||
/** The requested port is invalid. */
|
||||
|
||||
/**
|
||||
* The port is invalid.
|
||||
*/
|
||||
public static final int ERROR_INVALID_PORT = -22;
|
||||
/** The packet length is invalid (e.g., too long). */
|
||||
|
||||
/**
|
||||
* The length is invalid (e.g. too long).
|
||||
*/
|
||||
public static final int ERROR_INVALID_LENGTH = -23;
|
||||
/** The packet transmission interval is invalid (e.g., too short). */
|
||||
|
||||
/**
|
||||
* The interval is invalid (e.g. too short).
|
||||
*/
|
||||
public static final int ERROR_INVALID_INTERVAL = -24;
|
||||
/** The target socket is invalid. */
|
||||
|
||||
/**
|
||||
* The socket is invalid.
|
||||
*/
|
||||
public static final int ERROR_INVALID_SOCKET = -25;
|
||||
/** The target socket is not idle. */
|
||||
|
||||
/**
|
||||
* The socket is not idle.
|
||||
*/
|
||||
public static final int ERROR_SOCKET_NOT_IDLE = -26;
|
||||
|
||||
/**
|
||||
* The stop reason is uninitialized. This should only be internally used as initial state
|
||||
* of stop reason, instead of propagating to application.
|
||||
@@ -92,15 +124,29 @@ public abstract class SocketKeepalive implements AutoCloseable {
|
||||
*/
|
||||
public static final int ERROR_STOP_REASON_UNINITIALIZED = -27;
|
||||
|
||||
/** The device does not support this request. */
|
||||
/**
|
||||
* The request is unsupported.
|
||||
*/
|
||||
public static final int ERROR_UNSUPPORTED = -30;
|
||||
/** @hide TODO: delete when telephony code has been updated. */
|
||||
public static final int ERROR_HARDWARE_UNSUPPORTED = ERROR_UNSUPPORTED;
|
||||
/** The hardware returned an error. */
|
||||
|
||||
/**
|
||||
* There was a hardware error.
|
||||
*/
|
||||
public static final int ERROR_HARDWARE_ERROR = -31;
|
||||
/** The limitation of resource is reached. */
|
||||
|
||||
/**
|
||||
* Resources are insufficient (e.g. all hardware slots are in use).
|
||||
*/
|
||||
public static final int ERROR_INSUFFICIENT_RESOURCES = -32;
|
||||
|
||||
/**
|
||||
* There was no such slot. This should only be internally as it indicates
|
||||
* a programming error in the system server. It should not propagate to
|
||||
* applications.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int ERROR_NO_SUCH_SLOT = -33;
|
||||
|
||||
/** @hide */
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@@ -111,7 +157,8 @@ public abstract class SocketKeepalive implements AutoCloseable {
|
||||
ERROR_INVALID_LENGTH,
|
||||
ERROR_INVALID_INTERVAL,
|
||||
ERROR_INVALID_SOCKET,
|
||||
ERROR_SOCKET_NOT_IDLE
|
||||
ERROR_SOCKET_NOT_IDLE,
|
||||
ERROR_NO_SUCH_SLOT
|
||||
})
|
||||
public @interface ErrorCode {}
|
||||
|
||||
@@ -122,7 +169,6 @@ public abstract class SocketKeepalive implements AutoCloseable {
|
||||
ERROR_INVALID_LENGTH,
|
||||
ERROR_UNSUPPORTED,
|
||||
ERROR_INSUFFICIENT_RESOURCES,
|
||||
ERROR_HARDWARE_UNSUPPORTED
|
||||
})
|
||||
public @interface KeepaliveEvent {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user