am 51420c63: am bfd9a30f: Merge "NetworkStats always needs arrays." into lmp-dev

* commit '51420c63918de8db44084b04c155448c3fd25362':
  NetworkStats always needs arrays.
This commit is contained in:
Jeff Sharkey
2014-09-17 19:25:08 +00:00
committed by Android Git Automerger
2 changed files with 21 additions and 0 deletions

View File

@@ -24,6 +24,8 @@ import android.util.SparseBooleanArray;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.ArrayUtils;
import libcore.util.EmptyArray;
import java.io.CharArrayWriter;
import java.io.PrintWriter;
import java.util.Arrays;
@@ -169,6 +171,15 @@ public class NetworkStats implements Parcelable {
} else {
// Special case for use by NetworkStatsFactory to start out *really* empty.
this.capacity = 0;
this.iface = EmptyArray.STRING;
this.uid = EmptyArray.INT;
this.set = EmptyArray.INT;
this.tag = EmptyArray.INT;
this.rxBytes = EmptyArray.LONG;
this.rxPackets = EmptyArray.LONG;
this.txBytes = EmptyArray.LONG;
this.txPackets = EmptyArray.LONG;
this.operations = EmptyArray.LONG;
}
}

View File

@@ -310,6 +310,16 @@ public class NetworkStatsTest extends TestCase {
assertEquals(128L + 512L, clone.getTotalBytes());
}
public void testAddWhenEmpty() throws Exception {
final NetworkStats red = new NetworkStats(TEST_START, -1);
final NetworkStats blue = new NetworkStats(TEST_START, 5)
.addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 128L, 8L, 0L, 2L, 20L)
.addValues(TEST_IFACE2, 100, SET_DEFAULT, TAG_NONE, 512L, 32L, 0L, 0L, 0L);
// We're mostly checking that we don't crash
red.combineAllValues(blue);
}
private static void assertValues(NetworkStats stats, int index, String iface, int uid, int set,
int tag, long rxBytes, long rxPackets, long txBytes, long txPackets, long operations) {
final NetworkStats.Entry entry = stats.getValues(index, null);