Fix default network validation overcounting
When switching from a validated default network to a new validated default network (typically because of a better score), DefaultNetworkMetrics would not reset the last validation timestamp. This would cause the new default network to have a total recorded validation time overcounted by the validation time of the previous default network. The following fix should be applied downstream for consumers of previously recorded data: validation_time = min validation_time, duration_time); Test: runtest -x frameworks/base/tests/net/../IpConnectivityMetricsTest Change-Id: I303d11023527c19435f5f5e796a0295ae3f76d9f
This commit is contained in:
@@ -66,7 +66,6 @@ import org.mockito.ArgumentCaptor;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
@@ -175,7 +174,6 @@ public class IpConnectivityMetricsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testDefaultNetworkEvents() throws Exception {
|
public void testDefaultNetworkEvents() throws Exception {
|
||||||
final long cell = BitUtils.packBits(new int[]{NetworkCapabilities.TRANSPORT_CELLULAR});
|
final long cell = BitUtils.packBits(new int[]{NetworkCapabilities.TRANSPORT_CELLULAR});
|
||||||
final long wifi = BitUtils.packBits(new int[]{NetworkCapabilities.TRANSPORT_WIFI});
|
final long wifi = BitUtils.packBits(new int[]{NetworkCapabilities.TRANSPORT_WIFI});
|
||||||
@@ -294,7 +292,6 @@ public class IpConnectivityMetricsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testEndToEndLogging() throws Exception {
|
public void testEndToEndLogging() throws Exception {
|
||||||
// TODO: instead of comparing textpb to textpb, parse textpb and compare proto to proto.
|
// TODO: instead of comparing textpb to textpb, parse textpb and compare proto to proto.
|
||||||
IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
|
IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
|
||||||
@@ -635,6 +632,7 @@ public class IpConnectivityMetricsTest {
|
|||||||
when(nai.getCurrentScore()).thenReturn(score);
|
when(nai.getCurrentScore()).thenReturn(score);
|
||||||
nai.linkProperties = new LinkProperties();
|
nai.linkProperties = new LinkProperties();
|
||||||
nai.networkCapabilities = new NetworkCapabilities();
|
nai.networkCapabilities = new NetworkCapabilities();
|
||||||
|
nai.lastValidated = true;
|
||||||
for (int t : BitUtils.unpackBits(transports)) {
|
for (int t : BitUtils.unpackBits(transports)) {
|
||||||
nai.networkCapabilities.addTransportType(t);
|
nai.networkCapabilities.addTransportType(t);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user