public CompositeMetrics diff()

in metrics/src/main/java/com/facebook/battery/metrics/composite/CompositeMetrics.java [27:49]


  public CompositeMetrics diff(@Nullable CompositeMetrics b, CompositeMetrics result) {
    if (result == null) {
      throw new IllegalArgumentException("CompositeMetrics doesn't support nullable results");
    }

    if (b == null) {
      result.set(this);
    } else {
      for (int i = 0, size = mMetricsMap.size(); i < size; i++) {
        Class c = mMetricsMap.keyAt(i);
        boolean valid = isValid(c) && b.isValid(c);

        if (valid) {
          SystemMetrics resultMetric = result.getMetric(c);
          if (resultMetric != null) {
            getMetric(c).diff(b.getMetric(c), resultMetric);
          }
        }
        result.setIsValid(c, valid);
      }
    }
    return result;
  }