Merge "Update wifi interface ip state upon receiving ap disable event" am: 25d4c75c26 am: 8e27bc49d4 am: aedb232cb8
am: aba3b5770a
Change-Id: Ia2732340d4825b52a1e4c2184d51f83a9688574c
This commit is contained in:
@@ -1314,11 +1314,15 @@ public class Tethering extends BaseNetworkObserver {
|
||||
mOffload.excludeDownstreamInterface(who.interfaceName());
|
||||
mForwardedDownstreams.remove(who);
|
||||
|
||||
// If this is a Wi-Fi interface, tell WifiManager of any errors.
|
||||
// If this is a Wi-Fi interface, tell WifiManager of any errors
|
||||
// or the inactive serving state.
|
||||
if (who.interfaceType() == TETHERING_WIFI) {
|
||||
if (who.lastError() != TETHER_ERROR_NO_ERROR) {
|
||||
getWifiManager().updateInterfaceIpState(
|
||||
who.interfaceName(), IFACE_IP_MODE_CONFIGURATION_ERROR);
|
||||
} else {
|
||||
getWifiManager().updateInterfaceIpState(
|
||||
who.interfaceName(), IFACE_IP_MODE_UNSPECIFIED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -469,6 +469,8 @@ public class TetheringTest {
|
||||
if (emulateInterfaceStatusChanged) {
|
||||
assertEquals(1, mTetheringDependencies.isTetheringSupportedCalls);
|
||||
verifyTetheringBroadcast(TEST_WLAN_IFNAME, EXTRA_AVAILABLE_TETHER);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
}
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
@@ -533,6 +535,8 @@ public class TetheringTest {
|
||||
verify(mNMService, times(1)).setIpForwardingEnabled(true);
|
||||
verify(mNMService, times(1)).startTethering(any(String[].class));
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_LOCAL_ONLY);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
@@ -554,6 +558,8 @@ public class TetheringTest {
|
||||
.setInterfaceConfig(eq(TEST_WLAN_IFNAME), any(InterfaceConfiguration.class));
|
||||
verify(mNMService, times(1)).stopTethering();
|
||||
verify(mNMService, times(1)).setIpForwardingEnabled(false);
|
||||
verify(mWifiManager, times(3)).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
// Asking for the last error after the per-interface state machine
|
||||
@@ -739,6 +745,8 @@ public class TetheringTest {
|
||||
|
||||
assertEquals(1, mTetheringDependencies.isTetheringSupportedCalls);
|
||||
verifyTetheringBroadcast(TEST_WLAN_IFNAME, EXTRA_AVAILABLE_TETHER);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
}
|
||||
@@ -767,6 +775,8 @@ public class TetheringTest {
|
||||
verify(mNMService, times(1)).setIpForwardingEnabled(true);
|
||||
verify(mNMService, times(1)).startTethering(any(String[].class));
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_TETHERED);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
@@ -805,6 +815,8 @@ public class TetheringTest {
|
||||
.setInterfaceConfig(eq(TEST_WLAN_IFNAME), any(InterfaceConfiguration.class));
|
||||
verify(mNMService, times(1)).stopTethering();
|
||||
verify(mNMService, times(1)).setIpForwardingEnabled(false);
|
||||
verify(mWifiManager, times(3)).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verifyNoMoreInteractions(mNMService);
|
||||
verifyNoMoreInteractions(mWifiManager);
|
||||
// Asking for the last error after the per-interface state machine
|
||||
@@ -841,6 +853,8 @@ public class TetheringTest {
|
||||
.setInterfaceConfig(eq(TEST_WLAN_IFNAME), any(InterfaceConfiguration.class));
|
||||
verify(mNetd, times(1)).interfaceSetCfg(argThat(p -> TEST_WLAN_IFNAME.equals(p.ifName)));
|
||||
verify(mNMService, times(1)).tetherInterface(TEST_WLAN_IFNAME);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_UNSPECIFIED);
|
||||
verify(mWifiManager).updateInterfaceIpState(
|
||||
TEST_WLAN_IFNAME, WifiManager.IFACE_IP_MODE_TETHERED);
|
||||
// TODO: Figure out why this isn't exactly once, for sendTetherStateChangedBroadcast().
|
||||
|
||||
Reference in New Issue
Block a user