Revert "Don't crash Tethering service when WiFi feature is missing" am: 199641d451 am: b329062b20

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1575305

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I56f5136bd9cc4f7527c3600b9a307bcd7ec9f33c
This commit is contained in:
Martin Stjernholm
2021-02-05 15:01:25 +00:00
committed by Automerger Merge Worker

View File

@@ -1689,14 +1689,12 @@ public class Tethering {
// 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. // or the inactive serving state.
if (who.interfaceType() == TETHERING_WIFI) { if (who.interfaceType() == TETHERING_WIFI) {
final WifiManager mgr = getWifiManager(); if (who.lastError() != TETHER_ERROR_NO_ERROR) {
final String iface = who.interfaceName(); getWifiManager().updateInterfaceIpState(
if (mgr == null) { who.interfaceName(), IFACE_IP_MODE_CONFIGURATION_ERROR);
Log.wtf(TAG, "Skipping WifiManager notification about inactive tethering");
} else if (who.lastError() != TETHER_ERROR_NO_ERROR) {
mgr.updateInterfaceIpState(iface, IFACE_IP_MODE_CONFIGURATION_ERROR);
} else { } else {
mgr.updateInterfaceIpState(iface, IFACE_IP_MODE_UNSPECIFIED); getWifiManager().updateInterfaceIpState(
who.interfaceName(), IFACE_IP_MODE_UNSPECIFIED);
} }
} }
} }
@@ -2423,19 +2421,6 @@ public class Tethering {
mLog.log(iface + " is not a tetherable iface, ignoring"); mLog.log(iface + " is not a tetherable iface, ignoring");
return; return;
} }
final PackageManager pm = mContext.getPackageManager();
if ((interfaceType == TETHERING_WIFI || interfaceType == TETHERING_WIGIG)
&& !pm.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
mLog.log(iface + " is not tetherable, because WiFi feature is disabled");
return;
}
if (interfaceType == TETHERING_WIFI_P2P
&& !pm.hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT)) {
mLog.log(iface + " is not tetherable, because WiFi Direct feature is disabled");
return;
}
maybeTrackNewInterfaceLocked(iface, interfaceType); maybeTrackNewInterfaceLocked(iface, interfaceType);
} }