DO NOT MERGE fix some linkproperties configs missing
In handleUpdateLinkProperties(), it will always assign newLp
to nai first. Then, the copied newLp would add some configurations
ex: private dns/clatd. This updated newLp wouldn't be assigned back to
nai when linkproperties is not changed.
Bug: 113637648
Test: - build, flash, booted
- atest FrameworksNetTests
- run CtsNetTestCases
Change-Id: I9e25e46718e076d4afa784ee5e1d3abbe0f11911
This commit is contained in:
@@ -4731,11 +4731,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
} else {
|
||||
updateProxy(newLp, oldLp, networkAgent);
|
||||
}
|
||||
|
||||
synchronized (networkAgent) {
|
||||
networkAgent.linkProperties = newLp;
|
||||
}
|
||||
// TODO - move this check to cover the whole function
|
||||
if (!Objects.equals(newLp, oldLp)) {
|
||||
synchronized (networkAgent) {
|
||||
networkAgent.linkProperties = newLp;
|
||||
}
|
||||
notifyIfacesChangedForNetworkStats();
|
||||
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
||||
}
|
||||
|
||||
@@ -4024,6 +4024,14 @@ public class ConnectivityServiceTest {
|
||||
cellNetworkCallback.assertNoCallback();
|
||||
assertTrue(((LinkProperties)cbi.arg).isPrivateDnsActive());
|
||||
assertEquals("strict.example.com", ((LinkProperties)cbi.arg).getPrivateDnsServerName());
|
||||
|
||||
// Send the same LinkProperties and expect getting the same result including private dns.
|
||||
// b/118518971
|
||||
LinkProperties oldLp = (LinkProperties) cbi.arg;
|
||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||
waitForIdle();
|
||||
LinkProperties newLp = mCm.getLinkProperties(cbi.network);
|
||||
assertEquals(oldLp, newLp);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user