Loading core/java/android/net/InterfaceConfiguration.java +18 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,24 @@ public class InterfaceConfiguration implements Parcelable { append(addr & 0xff); } /** * This function determines if the interface is up and has a valid IP * configuration (IP address has a non zero octet). * * Note: It is supposed to be quick and hence should not initiate * any network activity */ public boolean isActive() { try { if(interfaceFlags.contains("up")) { if (ipAddr != 0) return true; } } catch (NullPointerException e) { return false; } return false; } /** Implement the Parcelable interface {@hide} */ public int describeContents() { return 0; Loading services/java/com/android/server/connectivity/Tethering.java +4 −4 Original line number Diff line number Diff line Loading @@ -1173,18 +1173,18 @@ public class Tethering extends INetworkManagementEventObserver.Stub { for (String iface : ifaces) { for (String regex : mUpstreamIfaceRegexs) { if (iface.matches(regex)) { // verify it is up! // verify it is active InterfaceConfiguration ifcg = null; try { ifcg = service.getInterfaceConfig(iface); if (ifcg.isActive()) { return iface; } } catch (Exception e) { Log.e(TAG, "Error getting iface config :" + e); // ignore - try next continue; } if (ifcg.interfaceFlags.contains("up")) { return iface; } } } } Loading Loading
core/java/android/net/InterfaceConfiguration.java +18 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,24 @@ public class InterfaceConfiguration implements Parcelable { append(addr & 0xff); } /** * This function determines if the interface is up and has a valid IP * configuration (IP address has a non zero octet). * * Note: It is supposed to be quick and hence should not initiate * any network activity */ public boolean isActive() { try { if(interfaceFlags.contains("up")) { if (ipAddr != 0) return true; } } catch (NullPointerException e) { return false; } return false; } /** Implement the Parcelable interface {@hide} */ public int describeContents() { return 0; Loading
services/java/com/android/server/connectivity/Tethering.java +4 −4 Original line number Diff line number Diff line Loading @@ -1173,18 +1173,18 @@ public class Tethering extends INetworkManagementEventObserver.Stub { for (String iface : ifaces) { for (String regex : mUpstreamIfaceRegexs) { if (iface.matches(regex)) { // verify it is up! // verify it is active InterfaceConfiguration ifcg = null; try { ifcg = service.getInterfaceConfig(iface); if (ifcg.isActive()) { return iface; } } catch (Exception e) { Log.e(TAG, "Error getting iface config :" + e); // ignore - try next continue; } if (ifcg.interfaceFlags.contains("up")) { return iface; } } } } Loading