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

Commit 2ae8c05f authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by android-build-merger
Browse files

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

am: 6f9fb31b

Change-Id: I8cd95575e7758ee94417ec15e407f396434f4c04
parents be22429b 6f9fb31b
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