Loading api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -4600,6 +4600,7 @@ package android.net { } public abstract class NetworkAgent { ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData); method public void onAutomaticReconnectDisabled(); method public void onBandwidthUpdateRequested(); Loading @@ -4622,6 +4623,8 @@ package android.net { public final class NetworkAgentConfig implements android.os.Parcelable { method public int describeContents(); method public int getLegacyType(); method @NonNull public String getLegacyTypeName(); method @Nullable public String getSubscriberId(); method public boolean isNat64DetectionEnabled(); method public boolean isProvisioningNotificationEnabled(); Loading @@ -4634,6 +4637,8 @@ package android.net { 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 setLegacyType(int); method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String); method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String); } Loading core/java/android/net/NetworkAgent.java +36 −8 Original line number Diff line number Diff line Loading @@ -262,32 +262,60 @@ public abstract class NetworkAgent { */ public static final int CMD_REMOVE_KEEPALIVE_PACKET_FILTER = BASE + 17; // TODO : remove these two constructors. They are a stopgap measure to help sheperding a number // of dependent changes that would conflict throughout the automerger graph. Having these // temporarily helps with the process of going through with all these dependent changes across // the entire tree. /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score) { this(looper, context, logTag, ni, nc, lp, score, null, NetworkProvider.ID_NONE); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config) { this(looper, context, logTag, ni, nc, lp, score, config, NetworkProvider.ID_NONE); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, int providerId) { this(looper, context, logTag, ni, nc, lp, score, null, providerId); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config, int providerId) { this(looper, context, logTag, nc, lp, score, config, providerId, ni); } private static NetworkInfo getLegacyNetworkInfo(final NetworkAgentConfig config) { // The subtype can be changed with (TODO) setLegacySubtype, but it starts // with the type and an empty description. return new NetworkInfo(config.legacyType, config.legacyType, config.legacyTypeName, ""); } /** * Create a new network agent. * @param context a {@link Context} to get system services from. * @param looper the {@link Looper} on which to invoke the callbacks. * @param logTag the tag for logs * @param nc the initial {@link NetworkCapabilities} of this network. Update with * sendNetworkCapabilities. * @param lp the initial {@link LinkProperties} of this network. Update with sendLinkProperties. * @param score the initial score of this network. Update with sendNetworkScore. * @param config an immutable {@link NetworkAgentConfig} for this agent. * @param provider the {@link NetworkProvider} managing this agent. */ public NetworkAgent(@NonNull Context context, @NonNull Looper looper, @NonNull String logTag, @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score, @NonNull NetworkAgentConfig config, @Nullable NetworkProvider provider) { this(looper, context, logTag, nc, lp, score, config, provider == null ? NetworkProvider.ID_NONE : provider.getProviderId(), getLegacyNetworkInfo(config)); } private NetworkAgent(Looper looper, Context context, String logTag, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config, int providerId, NetworkInfo ni) { mHandler = new NetworkAgentHandler(looper); LOG_TAG = logTag; mContext = context; Loading core/java/android/net/NetworkAgentConfig.java +54 −3 Original line number Diff line number Diff line Loading @@ -21,12 +21,10 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; /** * Allows a network transport to provide the system with policy and configuration information about * a particular network when registering a {@link NetworkAgent}. This information cannot change once * the agent is registered. * a particular network when registering a {@link NetworkAgent}. This information cannot change once the agent is registered. * * @hide */ Loading Loading @@ -119,6 +117,19 @@ public final class NetworkAgentConfig implements Parcelable { return !skip464xlat; } /** * The legacy type of this network agent, or TYPE_NONE if unset. * @hide */ public int legacyType = ConnectivityManager.TYPE_NONE; /** * @return the legacy type */ public int getLegacyType() { return legacyType; } /** * 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. Loading @@ -127,6 +138,21 @@ public final class NetworkAgentConfig implements Parcelable { */ public boolean hasShownBroken; /** * The name of the legacy network type. It's a free-form string used in logging. * @hide */ @NonNull public String legacyTypeName = ""; /** * @return the name of the legacy network type. It's a free-form string used in logging. */ @NonNull public String getLegacyTypeName() { return legacyTypeName; } /** @hide */ public NetworkAgentConfig() { } Loading @@ -140,6 +166,8 @@ public final class NetworkAgentConfig implements Parcelable { subscriberId = nac.subscriberId; provisioningNotificationDisabled = nac.provisioningNotificationDisabled; skip464xlat = nac.skip464xlat; legacyType = nac.legacyType; legacyTypeName = nac.legacyTypeName; } } Loading Loading @@ -184,6 +212,29 @@ public final class NetworkAgentConfig implements Parcelable { return this; } /** * Sets the legacy type for this network. * * @param legacyType the type * @return this builder, to facilitate chaining. */ @NonNull public Builder setLegacyType(int legacyType) { mConfig.legacyType = legacyType; 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 * @return this builder, to facilitate chaining. */ @NonNull public Builder setLegacyTypeName(@NonNull String legacyTypeName) { mConfig.legacyTypeName = legacyTypeName; return this; } /** * Returns the constructed {@link NetworkAgentConfig} object. */ Loading Loading
api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -4600,6 +4600,7 @@ package android.net { } public abstract class NetworkAgent { ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData); method public void onAutomaticReconnectDisabled(); method public void onBandwidthUpdateRequested(); Loading @@ -4622,6 +4623,8 @@ package android.net { public final class NetworkAgentConfig implements android.os.Parcelable { method public int describeContents(); method public int getLegacyType(); method @NonNull public String getLegacyTypeName(); method @Nullable public String getSubscriberId(); method public boolean isNat64DetectionEnabled(); method public boolean isProvisioningNotificationEnabled(); Loading @@ -4634,6 +4637,8 @@ package android.net { 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 setLegacyType(int); method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String); method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String); } Loading
core/java/android/net/NetworkAgent.java +36 −8 Original line number Diff line number Diff line Loading @@ -262,32 +262,60 @@ public abstract class NetworkAgent { */ public static final int CMD_REMOVE_KEEPALIVE_PACKET_FILTER = BASE + 17; // TODO : remove these two constructors. They are a stopgap measure to help sheperding a number // of dependent changes that would conflict throughout the automerger graph. Having these // temporarily helps with the process of going through with all these dependent changes across // the entire tree. /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score) { this(looper, context, logTag, ni, nc, lp, score, null, NetworkProvider.ID_NONE); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config) { this(looper, context, logTag, ni, nc, lp, score, config, NetworkProvider.ID_NONE); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, int providerId) { this(looper, context, logTag, ni, nc, lp, score, null, providerId); } /** @hide TODO: decide which of these to expose. */ /** @hide TODO: remove and replace usage with the public constructor. */ public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config, int providerId) { this(looper, context, logTag, nc, lp, score, config, providerId, ni); } private static NetworkInfo getLegacyNetworkInfo(final NetworkAgentConfig config) { // The subtype can be changed with (TODO) setLegacySubtype, but it starts // with the type and an empty description. return new NetworkInfo(config.legacyType, config.legacyType, config.legacyTypeName, ""); } /** * Create a new network agent. * @param context a {@link Context} to get system services from. * @param looper the {@link Looper} on which to invoke the callbacks. * @param logTag the tag for logs * @param nc the initial {@link NetworkCapabilities} of this network. Update with * sendNetworkCapabilities. * @param lp the initial {@link LinkProperties} of this network. Update with sendLinkProperties. * @param score the initial score of this network. Update with sendNetworkScore. * @param config an immutable {@link NetworkAgentConfig} for this agent. * @param provider the {@link NetworkProvider} managing this agent. */ public NetworkAgent(@NonNull Context context, @NonNull Looper looper, @NonNull String logTag, @NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score, @NonNull NetworkAgentConfig config, @Nullable NetworkProvider provider) { this(looper, context, logTag, nc, lp, score, config, provider == null ? NetworkProvider.ID_NONE : provider.getProviderId(), getLegacyNetworkInfo(config)); } private NetworkAgent(Looper looper, Context context, String logTag, NetworkCapabilities nc, LinkProperties lp, int score, NetworkAgentConfig config, int providerId, NetworkInfo ni) { mHandler = new NetworkAgentHandler(looper); LOG_TAG = logTag; mContext = context; Loading
core/java/android/net/NetworkAgentConfig.java +54 −3 Original line number Diff line number Diff line Loading @@ -21,12 +21,10 @@ import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; /** * Allows a network transport to provide the system with policy and configuration information about * a particular network when registering a {@link NetworkAgent}. This information cannot change once * the agent is registered. * a particular network when registering a {@link NetworkAgent}. This information cannot change once the agent is registered. * * @hide */ Loading Loading @@ -119,6 +117,19 @@ public final class NetworkAgentConfig implements Parcelable { return !skip464xlat; } /** * The legacy type of this network agent, or TYPE_NONE if unset. * @hide */ public int legacyType = ConnectivityManager.TYPE_NONE; /** * @return the legacy type */ public int getLegacyType() { return legacyType; } /** * 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. Loading @@ -127,6 +138,21 @@ public final class NetworkAgentConfig implements Parcelable { */ public boolean hasShownBroken; /** * The name of the legacy network type. It's a free-form string used in logging. * @hide */ @NonNull public String legacyTypeName = ""; /** * @return the name of the legacy network type. It's a free-form string used in logging. */ @NonNull public String getLegacyTypeName() { return legacyTypeName; } /** @hide */ public NetworkAgentConfig() { } Loading @@ -140,6 +166,8 @@ public final class NetworkAgentConfig implements Parcelable { subscriberId = nac.subscriberId; provisioningNotificationDisabled = nac.provisioningNotificationDisabled; skip464xlat = nac.skip464xlat; legacyType = nac.legacyType; legacyTypeName = nac.legacyTypeName; } } Loading Loading @@ -184,6 +212,29 @@ public final class NetworkAgentConfig implements Parcelable { return this; } /** * Sets the legacy type for this network. * * @param legacyType the type * @return this builder, to facilitate chaining. */ @NonNull public Builder setLegacyType(int legacyType) { mConfig.legacyType = legacyType; 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 * @return this builder, to facilitate chaining. */ @NonNull public Builder setLegacyTypeName(@NonNull String legacyTypeName) { mConfig.legacyTypeName = legacyTypeName; return this; } /** * Returns the constructed {@link NetworkAgentConfig} object. */ Loading