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

Commit 5110a1f9 authored by Junyu Lai's avatar Junyu Lai Committed by Automerger Merge Worker
Browse files

Merge "Fix nascent timer never get removed" into sc-dev am: ea3d7170

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

Change-Id: I1ea9133133dadb7a4c2f271e551336f003121417
parents 092e5a66 ea3d7170
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7769,6 +7769,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            // all networks except in the case of an underlying network for a VCN.
            if (newSatisfier.isNascent()) {
                newSatisfier.unlingerRequest(NetworkRequest.REQUEST_ID_NONE);
                newSatisfier.unsetInactive();
            }

            // if newSatisfier is not null, then newRequest may not be null.
@@ -8273,6 +8274,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            // But it will be removed as soon as the network satisfies a request for the first time.
            networkAgent.lingerRequest(NetworkRequest.REQUEST_ID_NONE,
                    SystemClock.elapsedRealtime(), mNascentDelayMs);
            networkAgent.setInactive();

            // Consider network even though it is not yet validated.
            rematchAllNetworksAndRequests();
+9 −4
Original line number Diff line number Diff line
@@ -4555,9 +4555,8 @@ public class ConnectivityServiceTest {
            expectNoRequestChanged(testFactory);
            testFactory.assertRequestCountEquals(0);
            assertFalse(testFactory.getMyStartRequested());
            // ...  and cell data to be torn down after nascent network timeout.
            cellNetworkCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent,
                    mService.mNascentDelayMs + TEST_CALLBACK_TIMEOUT_MS);
            // ...  and cell data to be torn down immediately since it is no longer nascent.
            cellNetworkCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent);
            waitForIdle();
            assertLength(1, mCm.getAllNetworks());
        } finally {
@@ -11778,6 +11777,11 @@ public class ConnectivityServiceTest {
        internetFactory.expectRequestRemove();
        internetFactory.assertRequestCountEquals(0);
        // Create a request that holds the upcoming wifi network.
        final TestNetworkCallback wifiCallback = new TestNetworkCallback();
        mCm.requestNetwork(new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build(),
                wifiCallback);
        // Now WiFi connects and it's unmetered, but it's weaker than cell.
        mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
        mWiFiNetworkAgent.addCapability(NET_CAPABILITY_NOT_METERED);
@@ -11786,7 +11790,7 @@ public class ConnectivityServiceTest {
        mWiFiNetworkAgent.connect(true);
        // The OEM_PAID preference prefers an unmetered network to an OEM_PAID network, so
        // the oemPaidFactory can't beat this no matter how high its score.
        // the oemPaidFactory can't beat wifi no matter how high its score.
        oemPaidFactory.expectRequestRemove();
        expectNoRequestChanged(internetFactory);
@@ -11797,6 +11801,7 @@ public class ConnectivityServiceTest {
        // unmetered network, so the oemPaidNetworkFactory still can't beat this.
        expectNoRequestChanged(oemPaidFactory);
        internetFactory.expectRequestAdd();
        mCm.unregisterNetworkCallback(wifiCallback);
    }
    /**