Better error handling when NetworkManagementService#untetherInterface() fails.

am: 1f4278a67a

Change-Id: I4072169a768fb6a59487e5b149b558993671ca49
This commit is contained in:
Erik Kline
2016-08-17 17:53:30 +00:00
committed by android-build-merger
2 changed files with 6 additions and 4 deletions

View File

@@ -1310,8 +1310,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub
mConnector.execute("tether", "interface", "remove", iface);
} catch (NativeDaemonConnectorException e) {
throw e.rethrowAsParcelableException();
} finally {
removeInterfaceFromLocalNetwork(iface);
}
removeInterfaceFromLocalNetwork(iface);
}
@Override

View File

@@ -26,6 +26,7 @@ import android.net.RouteInfo;
import android.net.ip.RouterAdvertisementDaemon;
import android.net.ip.RouterAdvertisementDaemon.RaParams;
import android.os.INetworkManagementService;
import android.os.ServiceSpecificException;
import android.os.RemoteException;
import android.util.Log;
import android.util.Slog;
@@ -205,7 +206,7 @@ class IPv6TetheringInterfaceServices {
final String dnsString = dns.getHostAddress();
try {
netd.interfaceDelAddress(mIfName, dnsString, RFC7421_IP_PREFIX_LENGTH);
} catch (RemoteException e) {
} catch (ServiceSpecificException | RemoteException e) {
Log.e(TAG, "Failed to remove local dns IP: " + dnsString, e);
}
}
@@ -222,7 +223,7 @@ class IPv6TetheringInterfaceServices {
final String dnsString = dns.getHostAddress();
try {
netd.interfaceAddAddress(mIfName, dnsString, RFC7421_IP_PREFIX_LENGTH);
} catch (RemoteException e) {
} catch (ServiceSpecificException | RemoteException e) {
Log.e(TAG, "Failed to add local dns IP: " + dnsString, e);
newDnses.remove(dns);
}
@@ -231,7 +232,7 @@ class IPv6TetheringInterfaceServices {
try {
netd.tetherApplyDnsInterfaces();
} catch (RemoteException e) {
} catch (ServiceSpecificException | RemoteException e) {
Log.e(TAG, "Failed to update local DNS caching server");
if (newDnses != null) newDnses.clear();
}