Loading core/java/android/net/NetworkStats.java +22 −25 Original line number Original line Diff line number Diff line Loading @@ -677,27 +677,25 @@ public class NetworkStats implements Parcelable { entry.tag = left.tag[i]; entry.tag = left.tag[i]; entry.metered = left.metered[i]; entry.metered = left.metered[i]; entry.roaming = left.roaming[i]; entry.roaming = left.roaming[i]; // find remote row that matches, and subtract final int j = right.findIndexHinted(entry.iface, entry.uid, entry.set, entry.tag, entry.metered, entry.roaming, i); if (j == -1) { // newly appearing row, return entire value entry.rxBytes = left.rxBytes[i]; entry.rxBytes = left.rxBytes[i]; entry.rxPackets = left.rxPackets[i]; entry.rxPackets = left.rxPackets[i]; entry.txBytes = left.txBytes[i]; entry.txBytes = left.txBytes[i]; entry.txPackets = left.txPackets[i]; entry.txPackets = left.txPackets[i]; entry.operations = left.operations[i]; entry.operations = left.operations[i]; } else { // existing row, subtract remote value // find remote row that matches, and subtract entry.rxBytes = left.rxBytes[i] - right.rxBytes[j]; final int j = right.findIndexHinted(entry.iface, entry.uid, entry.set, entry.tag, entry.rxPackets = left.rxPackets[i] - right.rxPackets[j]; entry.metered, entry.roaming, i); entry.txBytes = left.txBytes[i] - right.txBytes[j]; if (j != -1) { entry.txPackets = left.txPackets[i] - right.txPackets[j]; // Found matching row, subtract remote value. entry.operations = left.operations[i] - right.operations[j]; entry.rxBytes -= right.rxBytes[j]; entry.rxPackets -= right.rxPackets[j]; if (entry.rxBytes < 0 || entry.rxPackets < 0 || entry.txBytes < 0 entry.txBytes -= right.txBytes[j]; || entry.txPackets < 0 || entry.operations < 0) { entry.txPackets -= right.txPackets[j]; entry.operations -= right.operations[j]; } if (entry.isNegative()) { if (observer != null) { if (observer != null) { observer.foundNonMonotonic(left, i, right, j, cookie); observer.foundNonMonotonic(left, i, right, j, cookie); } } Loading @@ -707,7 +705,6 @@ public class NetworkStats implements Parcelable { entry.txPackets = Math.max(entry.txPackets, 0); entry.txPackets = Math.max(entry.txPackets, 0); entry.operations = Math.max(entry.operations, 0); entry.operations = Math.max(entry.operations, 0); } } } result.addValues(entry); result.addValues(entry); } } Loading Loading
core/java/android/net/NetworkStats.java +22 −25 Original line number Original line Diff line number Diff line Loading @@ -677,27 +677,25 @@ public class NetworkStats implements Parcelable { entry.tag = left.tag[i]; entry.tag = left.tag[i]; entry.metered = left.metered[i]; entry.metered = left.metered[i]; entry.roaming = left.roaming[i]; entry.roaming = left.roaming[i]; // find remote row that matches, and subtract final int j = right.findIndexHinted(entry.iface, entry.uid, entry.set, entry.tag, entry.metered, entry.roaming, i); if (j == -1) { // newly appearing row, return entire value entry.rxBytes = left.rxBytes[i]; entry.rxBytes = left.rxBytes[i]; entry.rxPackets = left.rxPackets[i]; entry.rxPackets = left.rxPackets[i]; entry.txBytes = left.txBytes[i]; entry.txBytes = left.txBytes[i]; entry.txPackets = left.txPackets[i]; entry.txPackets = left.txPackets[i]; entry.operations = left.operations[i]; entry.operations = left.operations[i]; } else { // existing row, subtract remote value // find remote row that matches, and subtract entry.rxBytes = left.rxBytes[i] - right.rxBytes[j]; final int j = right.findIndexHinted(entry.iface, entry.uid, entry.set, entry.tag, entry.rxPackets = left.rxPackets[i] - right.rxPackets[j]; entry.metered, entry.roaming, i); entry.txBytes = left.txBytes[i] - right.txBytes[j]; if (j != -1) { entry.txPackets = left.txPackets[i] - right.txPackets[j]; // Found matching row, subtract remote value. entry.operations = left.operations[i] - right.operations[j]; entry.rxBytes -= right.rxBytes[j]; entry.rxPackets -= right.rxPackets[j]; if (entry.rxBytes < 0 || entry.rxPackets < 0 || entry.txBytes < 0 entry.txBytes -= right.txBytes[j]; || entry.txPackets < 0 || entry.operations < 0) { entry.txPackets -= right.txPackets[j]; entry.operations -= right.operations[j]; } if (entry.isNegative()) { if (observer != null) { if (observer != null) { observer.foundNonMonotonic(left, i, right, j, cookie); observer.foundNonMonotonic(left, i, right, j, cookie); } } Loading @@ -707,7 +705,6 @@ public class NetworkStats implements Parcelable { entry.txPackets = Math.max(entry.txPackets, 0); entry.txPackets = Math.max(entry.txPackets, 0); entry.operations = Math.max(entry.operations, 0); entry.operations = Math.max(entry.operations, 0); } } } result.addValues(entry); result.addValues(entry); } } Loading