public HealthStatsMetrics set()

in metrics/src/main/java/com/facebook/battery/metrics/healthstats/HealthStatsMetrics.java [307:355]


  public HealthStatsMetrics set(HealthStats healthStats) {
    dataType = healthStats.getDataType();

    measurement.clear();
    for (int i = 0; i < healthStats.getMeasurementKeyCount(); i++) {
      int key = healthStats.getMeasurementKeyAt(i);
      measurement.put(key, healthStats.getMeasurement(key));
    }

    measurements.clear();
    for (int i = 0; i < healthStats.getMeasurementsKeyCount(); i++) {
      int key = healthStats.getMeasurementsKeyAt(i);
      ArrayMap<String, Long> value = new ArrayMap<>();
      for (Map.Entry<String, Long> entry : healthStats.getMeasurements(key).entrySet()) {
        value.put(entry.getKey(), entry.getValue());
      }
      measurements.put(key, value);
    }

    timer.clear();
    for (int i = 0; i < healthStats.getTimerKeyCount(); i++) {
      int key = healthStats.getTimerKeyAt(i);
      TimerMetrics value =
          new TimerMetrics(healthStats.getTimerCount(key), healthStats.getTimerTime(key));
      timer.put(key, value);
    }

    timers.clear();
    for (int i = 0; i < healthStats.getTimersKeyCount(); i++) {
      int key = healthStats.getTimersKeyAt(i);
      ArrayMap<String, TimerMetrics> value = new ArrayMap<>();
      for (Map.Entry<String, TimerStat> entry : healthStats.getTimers(key).entrySet()) {
        value.put(entry.getKey(), new TimerMetrics(entry.getValue()));
      }
      timers.put(key, value);
    }

    stats.clear();
    for (int i = 0; i < healthStats.getStatsKeyCount(); i++) {
      int key = healthStats.getStatsKeyAt(i);
      ArrayMap<String, HealthStatsMetrics> value = new ArrayMap<>();
      for (Map.Entry<String, HealthStats> entry : healthStats.getStats(key).entrySet()) {
        value.put(entry.getKey(), new HealthStatsMetrics(entry.getValue()));
      }
      stats.put(key, value);
    }

    return this;
  }