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

Commit 05f14e2b authored by Irfan Sheriff's avatar Irfan Sheriff Committed by Android (Google) Code Review
Browse files

Merge "DO NOT MERGE Pick upstream intf with valid IP conf" into gingerbread

parents 568845a7 c0e0dbb4
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;
                            }
                        }
                    }
                }