From e2e04f14d53a1190921474a3edbd74688651f5a4 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Fri, 19 Jan 2018 01:12:04 +0900 Subject: [PATCH] Track and persist in stats whether traffic is on the default network. This change adds the defaultNetwork to the ident based on current system networking state, and persists that value to flash. Bug: 35142602 Test: runtest frameworks-net Test: downloaded files using default/non-default networks while watching dumpsys netstats Change-Id: Id8776d149b2977548a9eb455ad4926af55e25aba --- .../net/NetworkStatsCollectionTest.java | 4 +- .../server/net/NetworkStatsObserversTest.java | 44 +++++++------------ 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java b/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java index 9c10264656..da0a48a8dd 100644 --- a/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java +++ b/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java @@ -195,7 +195,7 @@ public class NetworkStatsCollectionTest extends AndroidTestCase { final NetworkStats.Entry entry = new NetworkStats.Entry(); final NetworkIdentitySet identSet = new NetworkIdentitySet(); identSet.add(new NetworkIdentity(TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - TEST_IMSI, null, false, true)); + TEST_IMSI, null, false, true, true)); int myUid = Process.myUid(); int otherUidInSameUser = Process.myUid() + 1; @@ -447,7 +447,7 @@ public class NetworkStatsCollectionTest extends AndroidTestCase { final NetworkStatsCollection large = new NetworkStatsCollection(HOUR_IN_MILLIS); final NetworkIdentitySet ident = new NetworkIdentitySet(); ident.add(new NetworkIdentity(ConnectivityManager.TYPE_MOBILE, -1, TEST_IMSI, null, - false, true)); + false, true, true)); large.recordData(ident, UID_ALL, SET_ALL, TAG_NONE, TIME_A, TIME_B, new NetworkStats.Entry(12_730_893_164L, 1, 0, 0, 0)); diff --git a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java index b12cfd12ac..185c3ebfbc 100644 --- a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java +++ b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java @@ -226,6 +226,15 @@ public class NetworkStatsObserversTest { Mockito.verifyZeroInteractions(mockBinder); } + private NetworkIdentitySet makeTestIdentSet() { + NetworkIdentitySet identSet = new NetworkIdentitySet(); + identSet.add(new NetworkIdentity( + TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, + IMSI_1, null /* networkId */, false /* roaming */, true /* metered */, + true /* defaultNetwork */)); + return identSet; + } + @Test public void testUpdateStats_initialSample_doesNotNotify() throws Exception { DataUsageRequest inputRequest = new DataUsageRequest( @@ -237,10 +246,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveIfaces.put(TEST_IFACE, identSet); // Baseline @@ -265,10 +271,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveIfaces.put(TEST_IFACE, identSet); // Baseline @@ -300,10 +303,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveIfaces.put(TEST_IFACE, identSet); // Baseline @@ -336,10 +336,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveUidIfaces.put(TEST_IFACE, identSet); // Baseline @@ -374,10 +371,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveUidIfaces.put(TEST_IFACE, identSet); // Baseline @@ -411,10 +405,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveUidIfaces.put(TEST_IFACE, identSet); // Baseline @@ -449,10 +440,7 @@ public class NetworkStatsObserversTest { assertTrue(Objects.equals(sTemplateImsi1, request.template)); assertEquals(THRESHOLD_BYTES, request.thresholdInBytes); - NetworkIdentitySet identSet = new NetworkIdentitySet(); - identSet.add(new NetworkIdentity( - TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_UNKNOWN, - IMSI_1, null /* networkId */, false /* roaming */, true /* metered */)); + NetworkIdentitySet identSet = makeTestIdentSet(); mActiveUidIfaces.put(TEST_IFACE, identSet); // Baseline