am 06eabfcc: am 4c55639a: am 8c83be09: am bbfacbbc: resolved conflicts for merge of 2813d5ba to mnc-dr-dev
* commit '06eabfcc2d82833ec89bf92d087210bab18d78bb': Disable WiFi autojoin when user decides via "Stay connected?" dialog
This commit is contained in:
@@ -193,6 +193,13 @@ public abstract class NetworkAgent extends Handler {
|
|||||||
*/
|
*/
|
||||||
public static final int CMD_SET_SIGNAL_STRENGTH_THRESHOLDS = BASE + 14;
|
public static final int CMD_SET_SIGNAL_STRENGTH_THRESHOLDS = BASE + 14;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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 + 15;
|
||||||
|
|
||||||
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
|
public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni,
|
||||||
NetworkCapabilities nc, LinkProperties lp, int score) {
|
NetworkCapabilities nc, LinkProperties lp, int score) {
|
||||||
this(looper, context, logTag, ni, nc, lp, score, null);
|
this(looper, context, logTag, ni, nc, lp, score, null);
|
||||||
@@ -308,6 +315,10 @@ public abstract class NetworkAgent extends Handler {
|
|||||||
setSignalStrengthThresholds(intThresholds);
|
setSignalStrengthThresholds(intThresholds);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case CMD_PREVENT_AUTOMATIC_RECONNECT: {
|
||||||
|
preventAutomaticReconnect();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,6 +485,15 @@ public abstract class NetworkAgent extends Handler {
|
|||||||
protected void setSignalStrengthThresholds(int[] thresholds) {
|
protected void setSignalStrengthThresholds(int[] thresholds) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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) {
|
protected void log(String s) {
|
||||||
Log.d(LOG_TAG, "NetworkAgent: " + s);
|
Log.d(LOG_TAG, "NetworkAgent: " + s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2419,14 +2419,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!accept) {
|
if (!accept) {
|
||||||
// Tell the NetworkAgent that the network does not have Internet access (because that's
|
// Tell the NetworkAgent to not automatically reconnect to the network.
|
||||||
// what we just told the user). This will hint to Wi-Fi not to autojoin this network in
|
nai.asyncChannel.sendMessage(NetworkAgent.CMD_PREVENT_AUTOMATIC_RECONNECT);
|
||||||
// the future. We do this now because NetworkMonitor might not yet have finished
|
// Teardown the nework.
|
||||||
// validating and thus we might not yet have received an EVENT_NETWORK_TESTED.
|
teardownUnneededNetwork(nai);
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user