protected void maybeHandleIntermediateResult(
      PooledByteBufferOutputStream pooledOutputStream, FetchState fetchState) {
    final long nowMs;
    if (shouldPropagateIntermediateResults(fetchState, fetchState.getContext())
        && (nowMs = getSystemUptime()) - fetchState.getLastIntermediateResultTimeMs()
            >= TIME_BETWEEN_PARTIAL_RESULTS_MS) {
      fetchState.setLastIntermediateResultTimeMs(nowMs);
      fetchState
          .getListener()
          .onProducerEvent(
              fetchState.getContext(), PRODUCER_NAME, INTERMEDIATE_RESULT_PRODUCER_EVENT);
      notifyConsumer(
          pooledOutputStream,
          fetchState.getOnNewResultStatusFlags(),
          fetchState.getResponseBytesRange(),
          fetchState.getConsumer(),
          fetchState.getContext());
    }
  }
Time between two consecutive partial results are propagated upstream

<p>TODO 5399646: make this configurable
imagepipeline/src/main/java/com/facebook/imagepipeline/producers/NetworkFetchProducer.java