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

Commit 6f9fb31b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Prepare to delete useless loop in handleReleaseNetworkRequest." into nyc-mr1-dev

parents b5b2c196 446598c0
Loading
Loading
Loading
Loading
+24 −20
Original line number Diff line number Diff line
@@ -2445,13 +2445,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
            }
            mNetworkRequestInfoLogs.log("RELEASE " + nri);
            if (nri.request.isRequest()) {
                // Find all networks that are satisfying this request and remove the request
                // from their request lists.
                // TODO - it's my understanding that for a request there is only a single
                // network satisfying it, so this loop is wasteful
                boolean wasKept = false;
                for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
                    if (nai.isSatisfyingRequest(nri.request.requestId)) {
                NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
                if (nai != null) {
                    nai.removeRequest(nri.request.requestId);
                    if (VDBG) {
                        log(" Removing from current network " + nai.name() +
@@ -2461,17 +2457,25 @@ public class ConnectivityService extends IConnectivityManager.Stub
                        if (DBG) log("no live requests for " + nai.name() + "; disconnecting");
                        teardownUnneededNetwork(nai);
                    } else {
                            // suspect there should only be one pass through here
                            // but if any were kept do the check below
                            wasKept |= true;
                        }
                        wasKept = true;
                    }
                    mNetworkForRequestId.remove(nri.request.requestId);
                }

                NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId);
                if (nai != null) {
                    mNetworkForRequestId.remove(nri.request.requestId);
                // TODO: remove this code once we know that the Slog.wtf is never hit.
                //
                // Find all networks that are satisfying this request and remove the request
                // from their request lists.
                // TODO - it's my understanding that for a request there is only a single
                // network satisfying it, so this loop is wasteful
                for (NetworkAgentInfo otherNai : mNetworkAgentInfos.values()) {
                    if (otherNai.isSatisfyingRequest(nri.request.requestId) && otherNai != nai) {
                        Slog.wtf(TAG, "Request " + nri.request + " satisfied by " +
                                otherNai.name() + ", but mNetworkAgentInfos says " +
                                (nai != null ? nai.name() : "null"));
                    }
                }

                // Maintain the illusion.  When this request arrived, we might have pretended
                // that a network connected to serve it, even though the network was already
                // connected.  Now that this request has gone away, we might have to pretend