Merge "Allow WiFi components to manage interface up state" am: dfa6e6f186
am: b666aa899d
Change-Id: Ie58b51e7e0f04648d15b48beaf0883108dea649b
This commit is contained in:
@@ -80,6 +80,14 @@ public class InterfaceConfiguration implements Parcelable {
|
||||
mFlags.add(FLAG_DOWN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set flags so that no changes will be made to the up/down status.
|
||||
*/
|
||||
public void ignoreInterfaceUpDownStatus() {
|
||||
mFlags.remove(FLAG_UP);
|
||||
mFlags.remove(FLAG_DOWN);
|
||||
}
|
||||
|
||||
public LinkAddress getLinkAddress() {
|
||||
return mAddr;
|
||||
}
|
||||
|
||||
@@ -136,10 +136,17 @@ public class TetherInterfaceStateMachine extends StateMachine {
|
||||
if (ifcg != null) {
|
||||
InetAddress addr = NetworkUtils.numericToInetAddress(ipAsString);
|
||||
ifcg.setLinkAddress(new LinkAddress(addr, prefixLen));
|
||||
if (enabled) {
|
||||
ifcg.setInterfaceUp();
|
||||
if (mInterfaceType == ConnectivityManager.TETHERING_WIFI) {
|
||||
// The WiFi stack has ownership of the interface up/down state.
|
||||
// It is unclear whether the bluetooth or USB stacks will manage their own
|
||||
// state.
|
||||
ifcg.ignoreInterfaceUpDownStatus();
|
||||
} else {
|
||||
ifcg.setInterfaceDown();
|
||||
if (enabled) {
|
||||
ifcg.setInterfaceUp();
|
||||
} else {
|
||||
ifcg.setInterfaceDown();
|
||||
}
|
||||
}
|
||||
ifcg.clearFlag("running");
|
||||
mNMService.setInterfaceConfig(mIfaceName, ifcg);
|
||||
|
||||
Reference in New Issue
Block a user