in metrics/src/main/java/com/facebook/battery/metrics/cpu/CpuFrequencyMetrics.java [42:71]
public CpuFrequencyMetrics sum(
@Nullable CpuFrequencyMetrics b, @Nullable CpuFrequencyMetrics output) {
if (output == null) {
output = new CpuFrequencyMetrics();
}
if (b == null) {
output.set(this);
} else {
for (int i = 0; i < timeInStateS.length; i++) {
SparseIntArray aCore = timeInStateS[i];
SparseIntArray bCore = b.timeInStateS[i];
SparseIntArray outputCore = output.timeInStateS[i];
for (int j = 0; j < aCore.size(); j++) {
int frequency = aCore.keyAt(j);
outputCore.put(frequency, aCore.valueAt(j) + bCore.get(frequency, 0));
}
for (int j = 0; j < bCore.size(); j++) {
int frequency = bCore.keyAt(j);
if (aCore.indexOfKey(frequency) < 0) {
outputCore.put(frequency, bCore.valueAt(j));
}
}
}
}
return output;
}