@Override public void onNewResultImpl(EncodedImage newResult, boolean isLast) { if (isLast && !EncodedImage.isValid(newResult)) { handleError(new NullPointerException("Encoded image is not valid.")); return; } if (!updateDecodeJob(newResult, isLast)) { return; } if (isLast || mProducerContext.isIntermediateResultExpected()) { mJobScheduler.scheduleJob(); } }