public void decorateAtTimeOfCaptureRequestAvailable(CaptureResultProxy captureResult){
  Face[] facesCaptured=captureResult.get(CaptureResult.STATISTICS_FACES);
  if (facesCaptured == null) {
    mFaceProxies=null;
  }
 else {
    mFaceProxies=new ArrayList<>(facesCaptured.length);
    for (    Face face : facesCaptured) {
      mFaceProxies.add(Camera2FaceProxy.from(face));
    }
  }
  mLensFocusDistance=captureResult.get(CaptureResult.LENS_FOCUS_DISTANCE);
}

public void decorateAtTimeOfCaptureRequestAvailable ( CaptureResultProxy captureResult ) { Face [ ] facesCaptured = captureResult . get ( CaptureResult . STATISTICS_FACES ) ; if ( facesCaptured == null ) { mFaceProxies = null ; } else { mFaceProxies = new ArrayList < > ( facesCaptured . length ) ; for ( Face face : facesCaptured ) { mFaceProxies . add ( Camera2FaceProxy . from ( face ) ) ; } } mLensFocusDistance = captureResult . get ( CaptureResult . LENS_FOCUS_DISTANCE ) ; }
decorate the collector when the captureresult becomes available , which happens sometime after picture is taken . in the current implementation , we query this structure for two fields : 1 ) captureresult . statistics_faces and 2 ) captureresult . lens_focus_distance
