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

Commit e30fc89f authored by Lucas Lin's avatar Lucas Lin Committed by android-build-merger
Browse files

Merge "Update LinkProperties to NetworkAgentInfo only when it's changed" am:...

Merge "Update LinkProperties to NetworkAgentInfo only when it's changed" am: 4ca1b61a am: ac872672
am: d637e9e4

Change-Id: Ica702f2bee03e300f1a451fc4a58dbb7ad5100a3
parents cb9be467 d637e9e4
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -2099,12 +2099,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return new MockableSystemProperties();
    }

    private void updateTcpBufferSizes(NetworkAgentInfo nai) {
    // TODO: Replace nai and newLp with TcpBufferSizes and check default network before calling
    // this method.
    private void updateTcpBufferSizes(NetworkAgentInfo nai, LinkProperties newLp) {
        if (isDefaultNetwork(nai) == false) {
            return;
        }

        String tcpBufferSizes = nai.linkProperties.getTcpBufferSizes();
        String tcpBufferSizes = newLp.getTcpBufferSizes();
        String[] values = null;
        if (tcpBufferSizes != null) {
            values = tcpBufferSizes.split(",");
@@ -4780,8 +4782,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
        updateUids(nai, null, nai.networkCapabilities);
    }

    private void updateLinkProperties(NetworkAgentInfo networkAgent, LinkProperties oldLp) {
        LinkProperties newLp = new LinkProperties(networkAgent.linkProperties);
    private void updateLinkProperties(NetworkAgentInfo networkAgent, LinkProperties newLp,
            LinkProperties oldLp) {
        int netId = networkAgent.network.netId;

        // The NetworkAgentInfo does not know whether clatd is running on its network or not. Before
@@ -4796,7 +4798,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
//        for (LinkProperties lp : newLp.getStackedLinks()) {
//            updateMtu(lp, null);
//        }
        updateTcpBufferSizes(networkAgent);
        updateTcpBufferSizes(networkAgent, newLp);

        updateRoutes(newLp, oldLp, netId);
        updateDnses(newLp, oldLp, netId);
@@ -4806,8 +4808,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
        // updateDnses will fetch the private DNS configuration from DnsManager.
        mDnsManager.updatePrivateDnsStatus(netId, newLp);

        // Start or stop clat accordingly to network state.
        networkAgent.updateClat(mNMS);
        if (isDefaultNetwork(networkAgent)) {
            handleApplyDefaultProxy(newLp.getHttpProxy());
        } else {
@@ -4818,9 +4818,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
            synchronized (networkAgent) {
                networkAgent.linkProperties = newLp;
            }
            // Start or stop clat accordingly to network state.
            networkAgent.updateClat(mNMS);
            notifyIfacesChangedForNetworkStats();
            if (networkAgent.everConnected) {
                notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
            }
        }

        mKeepaliveTracker.handleCheckKeepalivesStillValid(networkAgent);
    }
@@ -5124,13 +5128,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
                    "; created=" + nai.created +
                    "; everConnected=" + nai.everConnected);
        }
        LinkProperties oldLp = nai.linkProperties;
        synchronized (nai) {
            nai.linkProperties = newLp;
        }
        if (nai.everConnected) {
            updateLinkProperties(nai, oldLp);
        }
        updateLinkProperties(nai, newLp, new LinkProperties(nai.linkProperties));
    }

    private void sendUpdatedScoreToFactories(NetworkAgentInfo nai) {
@@ -5291,7 +5289,7 @@ public class ConnectivityService extends IConnectivityManager.Stub

        notifyLockdownVpn(newNetwork);
        handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
        updateTcpBufferSizes(newNetwork);
        updateTcpBufferSizes(newNetwork, new LinkProperties(newNetwork.linkProperties));
        mDnsManager.setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
        notifyIfacesChangedForNetworkStats();
    }
@@ -5706,7 +5704,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
            }

            handlePerNetworkPrivateDnsConfig(networkAgent, mDnsManager.getPrivateDnsConfig());
            updateLinkProperties(networkAgent, null);
            updateLinkProperties(networkAgent, new LinkProperties(networkAgent.linkProperties),
                    null);

            networkAgent.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
            scheduleUnvalidatedPrompt(networkAgent);