Addressing comments for http://ag/7700679.
Note, that its in a separate CL so we could cherry-pick this CL to aosp. http://ag/7700679 is already in aosp. Bug: 113122541 Bug: 120145746 Test: atest FrameworksNetTests Change-Id: I7cfda226b4ed11b67002b83b38fba0f5caf96718
This commit is contained in:
committed by
Lorenzo Colitti
parent
8481d9d55d
commit
81e79803de
@@ -1300,7 +1300,8 @@ public class NetworkStats implements Parcelable {
|
||||
}
|
||||
|
||||
final Entry tmpEntry = new Entry();
|
||||
for (int i = 0; i < size; i++) {
|
||||
final int origSize = size;
|
||||
for (int i = 0; i < origSize; i++) {
|
||||
if (!Objects.equals(iface[i], tunIface)) {
|
||||
// Consider only entries that go onto the VPN interface.
|
||||
continue;
|
||||
@@ -1316,8 +1317,9 @@ public class NetworkStats implements Parcelable {
|
||||
tmpEntry.roaming = roaming[i];
|
||||
tmpEntry.defaultNetwork = defaultNetwork[i];
|
||||
|
||||
// In a first pass, compute each UID's total share of data across all underlyingIfaces.
|
||||
// This is computed on the basis of the share of each UID's usage over tunIface.
|
||||
// In a first pass, compute this entry's total share of data across all
|
||||
// underlyingIfaces. This is computed on the basis of the share of this entry's usage
|
||||
// over tunIface.
|
||||
// TODO: Consider refactoring first pass into a separate helper method.
|
||||
long totalRxBytes = 0;
|
||||
if (tunIfaceTotal.rxBytes > 0) {
|
||||
@@ -1394,9 +1396,11 @@ public class NetworkStats implements Parcelable {
|
||||
* perInterfaceTotal[j].operations
|
||||
/ underlyingIfacesTotal.operations;
|
||||
}
|
||||
|
||||
// tmpEntry now contains the migrated data of the i-th entry for the j-th underlying
|
||||
// interface. Add that data usage to this object.
|
||||
combineValues(tmpEntry);
|
||||
if (tag[i] == TAG_NONE) {
|
||||
// Add the migrated data to moved so it is deducted from the VPN app later.
|
||||
moved[j].add(tmpEntry);
|
||||
// Add debug info
|
||||
tmpEntry.set = SET_DBG_VPN_IN;
|
||||
@@ -1412,8 +1416,8 @@ public class NetworkStats implements Parcelable {
|
||||
@NonNull String[] underlyingIfaces,
|
||||
@NonNull Entry[] moved) {
|
||||
for (int i = 0; i < underlyingIfaces.length; i++) {
|
||||
// Add debug info
|
||||
moved[i].uid = tunUid;
|
||||
// Add debug info
|
||||
moved[i].set = SET_DBG_VPN_OUT;
|
||||
moved[i].tag = TAG_NONE;
|
||||
moved[i].iface = underlyingIfaces[i];
|
||||
|
||||
Reference in New Issue
Block a user