Loading core/java/android/net/NetworkAgent.java +21 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,13 @@ public abstract class NetworkAgent extends Handler { */ public static final int CMD_REQUEST_BANDWIDTH_UPDATE = BASE + 10; /** * Sent by ConnectivityService to the NeworkAgent to inform the agent to avoid * automatically reconnecting to this network (e.g. via autojoin). Happens * when user selects "No" option on the "Stay connected?" dialog box. */ public static final int CMD_PREVENT_AUTOMATIC_RECONNECT = BASE + 11; 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); Loading Loading @@ -240,6 +247,11 @@ public abstract class NetworkAgent extends Handler { } case CMD_SAVE_ACCEPT_UNVALIDATED: { saveAcceptUnvalidated(msg.arg1 != 0); break; } case CMD_PREVENT_AUTOMATIC_RECONNECT: { preventAutomaticReconnect(); break; } } } Loading Loading @@ -365,6 +377,15 @@ public abstract class NetworkAgent extends Handler { protected void saveAcceptUnvalidated(boolean accept) { } /** * Called when the user asks to not stay connected to this network because it was found to not * provide Internet access. Usually followed by call to {@code unwanted}. The transport is * responsible for making sure the device does not automatically reconnect to the same network * after the {@code unwanted} call. */ protected void preventAutomaticReconnect() { } protected void log(String s) { Log.d(LOG_TAG, "NetworkAgent: " + s); } Loading services/core/java/com/android/server/ConnectivityService.java +4 −8 Original line number Diff line number Diff line Loading @@ -2378,14 +2378,10 @@ public class ConnectivityService extends IConnectivityManager.Stub } if (!accept) { // Tell the NetworkAgent that the network does not have Internet access (because that's // what we just told the user). This will hint to Wi-Fi not to autojoin this network in // the future. We do this now because NetworkMonitor might not yet have finished // validating and thus we might not yet have received an EVENT_NETWORK_TESTED. nai.asyncChannel.sendMessage(NetworkAgent.CMD_REPORT_NETWORK_STATUS, NetworkAgent.INVALID_NETWORK, 0, null); // TODO: Tear the network down once we have determined how to tell WifiStateMachine not // to reconnect to it immediately. http://b/20739299 // Tell the NetworkAgent to not automatically reconnect to the network. nai.asyncChannel.sendMessage(NetworkAgent.CMD_PREVENT_AUTOMATIC_RECONNECT); // Teardown the nework. teardownUnneededNetwork(nai); } } Loading Loading
core/java/android/net/NetworkAgent.java +21 −0 Original line number Diff line number Diff line Loading @@ -148,6 +148,13 @@ public abstract class NetworkAgent extends Handler { */ public static final int CMD_REQUEST_BANDWIDTH_UPDATE = BASE + 10; /** * Sent by ConnectivityService to the NeworkAgent to inform the agent to avoid * automatically reconnecting to this network (e.g. via autojoin). Happens * when user selects "No" option on the "Stay connected?" dialog box. */ public static final int CMD_PREVENT_AUTOMATIC_RECONNECT = BASE + 11; 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); Loading Loading @@ -240,6 +247,11 @@ public abstract class NetworkAgent extends Handler { } case CMD_SAVE_ACCEPT_UNVALIDATED: { saveAcceptUnvalidated(msg.arg1 != 0); break; } case CMD_PREVENT_AUTOMATIC_RECONNECT: { preventAutomaticReconnect(); break; } } } Loading Loading @@ -365,6 +377,15 @@ public abstract class NetworkAgent extends Handler { protected void saveAcceptUnvalidated(boolean accept) { } /** * Called when the user asks to not stay connected to this network because it was found to not * provide Internet access. Usually followed by call to {@code unwanted}. The transport is * responsible for making sure the device does not automatically reconnect to the same network * after the {@code unwanted} call. */ protected void preventAutomaticReconnect() { } protected void log(String s) { Log.d(LOG_TAG, "NetworkAgent: " + s); } Loading
services/core/java/com/android/server/ConnectivityService.java +4 −8 Original line number Diff line number Diff line Loading @@ -2378,14 +2378,10 @@ public class ConnectivityService extends IConnectivityManager.Stub } if (!accept) { // Tell the NetworkAgent that the network does not have Internet access (because that's // what we just told the user). This will hint to Wi-Fi not to autojoin this network in // the future. We do this now because NetworkMonitor might not yet have finished // validating and thus we might not yet have received an EVENT_NETWORK_TESTED. nai.asyncChannel.sendMessage(NetworkAgent.CMD_REPORT_NETWORK_STATUS, NetworkAgent.INVALID_NETWORK, 0, null); // TODO: Tear the network down once we have determined how to tell WifiStateMachine not // to reconnect to it immediately. http://b/20739299 // Tell the NetworkAgent to not automatically reconnect to the network. nai.asyncChannel.sendMessage(NetworkAgent.CMD_PREVENT_AUTOMATIC_RECONNECT); // Teardown the nework. teardownUnneededNetwork(nai); } } Loading