Splice operations before collapsing ifaces.

Bug: 6241038
Change-Id: Ide9058703f7305df8fb070af149ddce0653a0abf
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index 7a1ef66..c58725d 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -352,10 +352,9 @@
      * on matching {@link #uid} and {@link #tag} rows. Ignores {@link #iface},
      * since operation counts are at data layer.
      */
-    @Deprecated
     public void spliceOperationsFrom(NetworkStats stats) {
         for (int i = 0; i < size; i++) {
-            final int j = stats.findIndex(IFACE_ALL, uid[i], set[i], tag[i]);
+            final int j = stats.findIndex(iface[i], uid[i], set[i], tag[i]);
             if (j == -1) {
                 operations[i] = 0;
             } else {
diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java
index f7ba329..519d58e 100644
--- a/services/java/com/android/server/net/NetworkStatsService.java
+++ b/services/java/com/android/server/net/NetworkStatsService.java
@@ -500,6 +500,9 @@
             Binder.restoreCallingIdentity(token);
         }
 
+        // splice in operation counts
+        networkLayer.spliceOperationsFrom(mUidOperations);
+
         final NetworkStats dataLayer = new NetworkStats(
                 networkLayer.getElapsedRealtime(), networkLayer.size());
 
@@ -510,8 +513,6 @@
             dataLayer.combineValues(entry);
         }
 
-        // splice in operation counts
-        dataLayer.spliceOperationsFrom(mUidOperations);
         return dataLayer;
     }