Fix asymmetry in parceling/unparceling code for BatteryStats summary

Bug:24434303
Change-Id: I638979e54076004860035396738f6a1281e26c20
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 8cf2dab..64b7768 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -5704,6 +5704,8 @@
                                 cpuSpeeds[speed] = new LongSamplingCounter(mOnBatteryTimeBase, in);
                             }
                         }
+                    } else {
+                        mCpuClusterSpeed[cluster] = null;
                     }
                 }
             } else {
@@ -9382,13 +9384,14 @@
 
                 u.mCpuClusterSpeed = new LongSamplingCounter[numClusters][];
                 for (int cluster = 0; cluster < numClusters; cluster++) {
-                    int NSB = in.readInt();
-                    if (mPowerProfile != null &&
-                            mPowerProfile.getNumSpeedStepsInCpuCluster(cluster) != NSB) {
-                        throw new ParcelFormatException("File corrupt: too many speed bins " + NSB);
-                    }
-
                     if (in.readInt() != 0) {
+                        final int NSB = in.readInt();
+                        if (mPowerProfile != null &&
+                                mPowerProfile.getNumSpeedStepsInCpuCluster(cluster) != NSB) {
+                            throw new ParcelFormatException("File corrupt: too many speed bins " +
+                                    NSB);
+                        }
+
                         u.mCpuClusterSpeed[cluster] = new LongSamplingCounter[NSB];
                         for (int speed = 0; speed < NSB; speed++) {
                             if (in.readInt() != 0) {
@@ -9397,6 +9400,8 @@
                                 u.mCpuClusterSpeed[cluster][speed].readSummaryFromParcelLocked(in);
                             }
                         }
+                    } else {
+                        u.mCpuClusterSpeed[cluster] = null;
                     }
                 }
             } else {