Merge changes I6a48d4db,I6741c41c,Ifec6bde5,Icd0717c5
* changes: Remove unused variables Return offloaded traffic when querying from TrafficStats API Add hardware tethering traffic in testTethering test Remove unused getTetherStats
This commit is contained in:
@@ -35,7 +35,6 @@ import static android.net.NetworkStats.ROAMING_YES;
|
|||||||
import static android.net.NetworkStats.SET_ALL;
|
import static android.net.NetworkStats.SET_ALL;
|
||||||
import static android.net.NetworkStats.SET_DEFAULT;
|
import static android.net.NetworkStats.SET_DEFAULT;
|
||||||
import static android.net.NetworkStats.SET_FOREGROUND;
|
import static android.net.NetworkStats.SET_FOREGROUND;
|
||||||
import static android.net.NetworkStats.STATS_PER_IFACE;
|
|
||||||
import static android.net.NetworkStats.STATS_PER_UID;
|
import static android.net.NetworkStats.STATS_PER_UID;
|
||||||
import static android.net.NetworkStats.TAG_ALL;
|
import static android.net.NetworkStats.TAG_ALL;
|
||||||
import static android.net.NetworkStats.TAG_NONE;
|
import static android.net.NetworkStats.TAG_NONE;
|
||||||
@@ -994,7 +993,7 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
public void testTethering() throws Exception {
|
public void testTethering() throws Exception {
|
||||||
// pretend first mobile network comes online
|
// pretend first mobile network comes online
|
||||||
expectDefaultSettings();
|
expectDefaultSettings();
|
||||||
NetworkState[] states = new NetworkState[] {buildMobile3gState(IMSI_1)};
|
final NetworkState[] states = new NetworkState[]{buildMobile3gState(IMSI_1)};
|
||||||
expectNetworkStatsSummary(buildEmptyStats());
|
expectNetworkStatsSummary(buildEmptyStats());
|
||||||
expectNetworkStatsUidDetail(buildEmptyStats());
|
expectNetworkStatsUidDetail(buildEmptyStats());
|
||||||
|
|
||||||
@@ -1004,23 +1003,39 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
incrementCurrentTime(HOUR_IN_MILLIS);
|
incrementCurrentTime(HOUR_IN_MILLIS);
|
||||||
expectDefaultSettings();
|
expectDefaultSettings();
|
||||||
|
|
||||||
|
// Register custom provider and retrieve callback.
|
||||||
|
final TestableNetworkStatsProviderBinder provider =
|
||||||
|
new TestableNetworkStatsProviderBinder();
|
||||||
|
final INetworkStatsProviderCallback cb =
|
||||||
|
mService.registerNetworkStatsProvider("TEST-TETHERING-OFFLOAD", provider);
|
||||||
|
assertNotNull(cb);
|
||||||
|
final long now = getElapsedRealtime();
|
||||||
|
|
||||||
// Traffic seen by kernel counters (includes software tethering).
|
// Traffic seen by kernel counters (includes software tethering).
|
||||||
final NetworkStats ifaceStats = new NetworkStats(getElapsedRealtime(), 1)
|
final NetworkStats swIfaceStats = new NetworkStats(now, 1)
|
||||||
.insertEntry(TEST_IFACE, 1536L, 12L, 384L, 3L);
|
.insertEntry(TEST_IFACE, 1536L, 12L, 384L, 3L);
|
||||||
// Hardware tethering traffic, not seen by kernel counters.
|
// Hardware tethering traffic, not seen by kernel counters.
|
||||||
final NetworkStats tetherStatsHardware = new NetworkStats(getElapsedRealtime(), 1)
|
final NetworkStats tetherHwIfaceStats = new NetworkStats(now, 1)
|
||||||
.insertEntry(TEST_IFACE, 512L, 4L, 128L, 1L);
|
.insertEntry(new NetworkStats.Entry(TEST_IFACE, UID_ALL, SET_DEFAULT,
|
||||||
|
TAG_NONE, METERED_YES, ROAMING_NO, DEFAULT_NETWORK_YES,
|
||||||
|
512L, 4L, 128L, 1L, 0L));
|
||||||
|
final NetworkStats tetherHwUidStats = new NetworkStats(now, 1)
|
||||||
|
.insertEntry(new NetworkStats.Entry(TEST_IFACE, UID_TETHERING, SET_DEFAULT,
|
||||||
|
TAG_NONE, METERED_YES, ROAMING_NO, DEFAULT_NETWORK_YES,
|
||||||
|
512L, 4L, 128L, 1L, 0L));
|
||||||
|
cb.notifyStatsUpdated(0 /* unused */, tetherHwIfaceStats, tetherHwUidStats);
|
||||||
|
|
||||||
// Traffic for UID_RED.
|
// Fake some traffic done by apps on the device (as opposed to tethering), and record it
|
||||||
final NetworkStats uidStats = new NetworkStats(getElapsedRealtime(), 1)
|
// into UID stats (as opposed to iface stats).
|
||||||
|
final NetworkStats localUidStats = new NetworkStats(now, 1)
|
||||||
.insertEntry(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 128L, 2L, 128L, 2L, 0L);
|
.insertEntry(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 128L, 2L, 128L, 2L, 0L);
|
||||||
// All tethering traffic, both hardware and software.
|
// Software per-uid tethering traffic.
|
||||||
final NetworkStats tetherStats = new NetworkStats(getElapsedRealtime(), 1)
|
final NetworkStats tetherSwUidStats = new NetworkStats(now, 1)
|
||||||
.insertEntry(TEST_IFACE, UID_TETHERING, SET_DEFAULT, TAG_NONE, 1920L, 14L, 384L, 2L,
|
.insertEntry(TEST_IFACE, UID_TETHERING, SET_DEFAULT, TAG_NONE, 1408L, 10L, 256L, 1L,
|
||||||
0L);
|
0L);
|
||||||
|
|
||||||
expectNetworkStatsSummary(ifaceStats, tetherStatsHardware);
|
expectNetworkStatsSummary(swIfaceStats);
|
||||||
expectNetworkStatsUidDetail(uidStats, tetherStats);
|
expectNetworkStatsUidDetail(localUidStats, tetherSwUidStats);
|
||||||
forcePollAndWaitForIdle();
|
forcePollAndWaitForIdle();
|
||||||
|
|
||||||
// verify service recorded history
|
// verify service recorded history
|
||||||
@@ -1362,12 +1377,6 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void expectNetworkStatsSummary(NetworkStats summary) throws Exception {
|
private void expectNetworkStatsSummary(NetworkStats summary) throws Exception {
|
||||||
expectNetworkStatsSummary(summary, new NetworkStats(0L, 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void expectNetworkStatsSummary(NetworkStats summary, NetworkStats tetherStats)
|
|
||||||
throws Exception {
|
|
||||||
expectNetworkStatsTethering(STATS_PER_IFACE, tetherStats);
|
|
||||||
expectNetworkStatsSummaryDev(summary.clone());
|
expectNetworkStatsSummaryDev(summary.clone());
|
||||||
expectNetworkStatsSummaryXt(summary.clone());
|
expectNetworkStatsSummaryXt(summary.clone());
|
||||||
}
|
}
|
||||||
@@ -1380,11 +1389,6 @@ public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
|
|||||||
when(mStatsFactory.readNetworkStatsSummaryXt()).thenReturn(summary);
|
when(mStatsFactory.readNetworkStatsSummaryXt()).thenReturn(summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expectNetworkStatsTethering(int how, NetworkStats stats)
|
|
||||||
throws Exception {
|
|
||||||
when(mNetManager.getNetworkStatsTethering(how)).thenReturn(stats);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void expectNetworkStatsUidDetail(NetworkStats detail) throws Exception {
|
private void expectNetworkStatsUidDetail(NetworkStats detail) throws Exception {
|
||||||
expectNetworkStatsUidDetail(detail, new NetworkStats(0L, 0));
|
expectNetworkStatsUidDetail(detail, new NetworkStats(0L, 0));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user