Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11ebb6f5 authored by Irfan Sheriff's avatar Irfan Sheriff Committed by Android Git Automerger
Browse files

am 05f14e2b: Merge "DO NOT MERGE Pick upstream intf with valid IP conf" into gingerbread

* commit '05f14e2b':
  DO NOT MERGE Pick upstream intf with valid IP conf
parents ce6766ea 05f14e2b
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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;
+4 −4
Original line number Diff line number Diff line
@@ -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;
                            }
                        }
                    }
                }