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

Commit c2a74fcf authored by Chalard Jean's avatar Chalard Jean Committed by Automerger Merge Worker
Browse files

Merge "[NS04.7] Reinstate a necessary change" into sc-dev am: c2093d9d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13975118

Change-Id: Iac86bf6b969f798f66f9676955667f782664fb5c
parents cf2d0136 c2093d9d
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -6467,6 +6467,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }
    }

    private boolean isNetworkProviderWithIdRegistered(final int providerId) {
        for (final NetworkProviderInfo npi : mNetworkProviderInfos.values()) {
            if (npi.providerId == providerId) return true;
        }
        return false;
    }

    /**
     * Register or update a network offer.
     * @param newOffer The new offer. If the callback member is the same as an existing
@@ -6474,7 +6481,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
     */
    private void handleRegisterNetworkOffer(@NonNull final NetworkOffer newOffer) {
        ensureRunningOnConnectivityServiceThread();

        if (!isNetworkProviderWithIdRegistered(newOffer.providerId)) {
            // This may actually happen if a provider updates its score or registers and then
            // immediately unregisters. The offer would still be in the handler queue, but the
            // provider would have been removed.
            if (DBG) log("Received offer from an unregistered provider");
            return;
        }
        final NetworkOfferInfo existingOffer = findNetworkOfferInfoByCallback(newOffer.callback);
        if (null != existingOffer) {
            handleUnregisterNetworkOffer(existingOffer);