in metrics/src/main/java/com/facebook/battery/metrics/healthstats/HealthStatsMetrics.java [205:226]
static <K, V> ArrayMap<K, V> opArrayMaps(int op, ArrayMap<K, V> a, @Nullable ArrayMap<K, V> b) {
int aSize = a.size();
ArrayMap<K, V> output = new ArrayMap<>();
for (int i = 0; i < aSize; i++) {
K key = a.keyAt(i);
V bValue = b == null ? null : b.get(key);
output.put(key, bValue == null ? a.valueAt(i) : (V) opValues(op, a.valueAt(i), bValue));
}
if (op == OP_SUM) {
int bSize = b == null ? 0 : b.size();
for (int i = 0; i < bSize; i++) {
K key = b.keyAt(i);
if (a.get(key) == null) {
output.put(key, b.valueAt(i));
}
}
}
return output;
}