Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -17865,6 +17865,7 @@ package android.hardware.camera2 { public class CaptureResult extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureResult.Key<?>> { method @Nullable public <T> T get(android.hardware.camera2.CaptureResult.Key<T>); method @NonNull public String getCameraId(); method public long getFrameNumber(); method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getKeys(); method @NonNull public android.hardware.camera2.CaptureRequest getRequest(); core/java/android/hardware/camera2/CaptureResult.java +18 −1 Original line number Diff line number Diff line Loading @@ -190,6 +190,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { } } private final String mCameraId; @UnsupportedAppUsage private final CameraMetadataNative mResults; private final CaptureRequest mRequest; Loading @@ -202,7 +203,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p>For internal use only</p> * @hide */ public CaptureResult(CameraMetadataNative results, CaptureRequest parent, public CaptureResult(String cameraId, CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras) { if (results == null) { throw new IllegalArgumentException("results was null"); Loading @@ -221,6 +222,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { throw new AssertionError("Results must not be empty"); } setNativeInstance(mResults); mCameraId = cameraId; mRequest = parent; mSequenceId = extras.getRequestId(); mFrameNumber = extras.getFrameNumber(); Loading Loading @@ -251,11 +253,26 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { } setNativeInstance(mResults); mCameraId = "none"; mRequest = null; mSequenceId = sequenceId; mFrameNumber = -1; } /** * Get the camera ID of the camera that produced this capture result. * * For a logical multi-camera, the ID may be the logical or the physical camera ID, depending on * whether the capture result was obtained from * {@link TotalCaptureResult#getPhysicalCameraResults} or not. * * @return The camera ID for the camera that produced this capture result. */ @NonNull public String getCameraId() { return mCameraId; } /** * Get a capture result field value. * Loading core/java/android/hardware/camera2/TotalCaptureResult.java +5 −5 Original line number Diff line number Diff line Loading @@ -70,10 +70,10 @@ public final class TotalCaptureResult extends CaptureResult { * @param partials a list of partial results; {@code null} will be substituted for an empty list * @hide */ public TotalCaptureResult(CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras, List<CaptureResult> partials, int sessionId, PhysicalCaptureResultInfo physicalResults[]) { super(results, parent, extras); public TotalCaptureResult(String logicalCameraId, CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras, List<CaptureResult> partials, int sessionId, PhysicalCaptureResultInfo[] physicalResults) { super(logicalCameraId, results, parent, extras); if (partials == null) { mPartialResults = new ArrayList<>(); Loading @@ -85,7 +85,7 @@ public final class TotalCaptureResult extends CaptureResult { mPhysicalCaptureResults = new HashMap<String, CaptureResult>(); for (PhysicalCaptureResultInfo onePhysicalResult : physicalResults) { CaptureResult physicalResult = new CaptureResult( CaptureResult physicalResult = new CaptureResult(onePhysicalResult.getCameraId(), onePhysicalResult.getCameraMetadata(), parent, extras); mPhysicalCaptureResults.put(onePhysicalResult.getCameraId(), physicalResult); Loading core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +7 −7 Original line number Diff line number Diff line Loading @@ -1980,7 +1980,7 @@ public class CameraDeviceImpl extends CameraDevice // Either send a partial result or the final capture completed result if (isPartialResult) { final CaptureResult resultAsCapture = new CaptureResult(result, request, resultExtras); new CaptureResult(getId(), result, request, resultExtras); // Partial result resultDispatch = new Runnable() { @Override Loading @@ -1992,7 +1992,7 @@ public class CameraDeviceImpl extends CameraDevice for (int i = 0; i < holder.getRequestCount(); i++) { CameraMetadataNative resultLocal = new CameraMetadataNative(resultCopy); CaptureResult resultInBatch = new CaptureResult( CaptureResult resultInBatch = new CaptureResult(getId(), resultLocal, holder.getRequest(i), resultExtras); holder.getCallback().onCaptureProgressed( Loading @@ -2019,8 +2019,8 @@ public class CameraDeviceImpl extends CameraDevice final Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE); final int subsequenceId = resultExtras.getSubsequenceId(); final TotalCaptureResult resultAsCapture = new TotalCaptureResult(result, request, resultExtras, partialResults, holder.getSessionId(), final TotalCaptureResult resultAsCapture = new TotalCaptureResult(getId(), result, request, resultExtras, partialResults, holder.getSessionId(), physicalResults); // Final capture result resultDispatch = new Runnable() { Loading @@ -2038,8 +2038,8 @@ public class CameraDeviceImpl extends CameraDevice new CameraMetadataNative(resultCopy); // No logical multi-camera support for batched output mode. TotalCaptureResult resultInBatch = new TotalCaptureResult( resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), getId(), resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), new PhysicalCaptureResultInfo[0]); holder.getCallback().onCaptureCompleted( Loading core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java +8 −7 Original line number Diff line number Diff line Loading @@ -334,7 +334,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession // Either send a partial result or the final capture completed result if (isPartialResult) { final CaptureResult resultAsCapture = new CaptureResult(result, request, resultExtras); new CaptureResult(mCameraId, result, request, resultExtras); // Partial result resultDispatch = new Runnable() { @Override Loading @@ -349,7 +349,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession CameraMetadataNative resultLocal = new CameraMetadataNative(resultCopy); final CaptureResult resultInBatch = new CaptureResult( resultLocal, holder.getRequest(i), resultExtras); mCameraId, resultLocal, holder.getRequest(i), resultExtras); final CaptureRequest cbRequest = holder.getRequest(i); callback.onCaptureProgressed(CameraOfflineSessionImpl.this, Loading @@ -372,8 +373,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession final Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE); final int subsequenceId = resultExtras.getSubsequenceId(); final TotalCaptureResult resultAsCapture = new TotalCaptureResult(result, request, resultExtras, partialResults, holder.getSessionId(), final TotalCaptureResult resultAsCapture = new TotalCaptureResult(mCameraId, result, request, resultExtras, partialResults, holder.getSessionId(), physicalResults); // Final capture result resultDispatch = new Runnable() { Loading @@ -393,8 +394,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession new CameraMetadataNative(resultCopy); // No logical multi-camera support for batched output mode. TotalCaptureResult resultInBatch = new TotalCaptureResult( resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), mCameraId, resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), new PhysicalCaptureResultInfo[0]); final CaptureRequest cbRequest = holder.getRequest(i); Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -17865,6 +17865,7 @@ package android.hardware.camera2 { public class CaptureResult extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureResult.Key<?>> { method @Nullable public <T> T get(android.hardware.camera2.CaptureResult.Key<T>); method @NonNull public String getCameraId(); method public long getFrameNumber(); method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getKeys(); method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
core/java/android/hardware/camera2/CaptureResult.java +18 −1 Original line number Diff line number Diff line Loading @@ -190,6 +190,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { } } private final String mCameraId; @UnsupportedAppUsage private final CameraMetadataNative mResults; private final CaptureRequest mRequest; Loading @@ -202,7 +203,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p>For internal use only</p> * @hide */ public CaptureResult(CameraMetadataNative results, CaptureRequest parent, public CaptureResult(String cameraId, CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras) { if (results == null) { throw new IllegalArgumentException("results was null"); Loading @@ -221,6 +222,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { throw new AssertionError("Results must not be empty"); } setNativeInstance(mResults); mCameraId = cameraId; mRequest = parent; mSequenceId = extras.getRequestId(); mFrameNumber = extras.getFrameNumber(); Loading Loading @@ -251,11 +253,26 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { } setNativeInstance(mResults); mCameraId = "none"; mRequest = null; mSequenceId = sequenceId; mFrameNumber = -1; } /** * Get the camera ID of the camera that produced this capture result. * * For a logical multi-camera, the ID may be the logical or the physical camera ID, depending on * whether the capture result was obtained from * {@link TotalCaptureResult#getPhysicalCameraResults} or not. * * @return The camera ID for the camera that produced this capture result. */ @NonNull public String getCameraId() { return mCameraId; } /** * Get a capture result field value. * Loading
core/java/android/hardware/camera2/TotalCaptureResult.java +5 −5 Original line number Diff line number Diff line Loading @@ -70,10 +70,10 @@ public final class TotalCaptureResult extends CaptureResult { * @param partials a list of partial results; {@code null} will be substituted for an empty list * @hide */ public TotalCaptureResult(CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras, List<CaptureResult> partials, int sessionId, PhysicalCaptureResultInfo physicalResults[]) { super(results, parent, extras); public TotalCaptureResult(String logicalCameraId, CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras, List<CaptureResult> partials, int sessionId, PhysicalCaptureResultInfo[] physicalResults) { super(logicalCameraId, results, parent, extras); if (partials == null) { mPartialResults = new ArrayList<>(); Loading @@ -85,7 +85,7 @@ public final class TotalCaptureResult extends CaptureResult { mPhysicalCaptureResults = new HashMap<String, CaptureResult>(); for (PhysicalCaptureResultInfo onePhysicalResult : physicalResults) { CaptureResult physicalResult = new CaptureResult( CaptureResult physicalResult = new CaptureResult(onePhysicalResult.getCameraId(), onePhysicalResult.getCameraMetadata(), parent, extras); mPhysicalCaptureResults.put(onePhysicalResult.getCameraId(), physicalResult); Loading
core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +7 −7 Original line number Diff line number Diff line Loading @@ -1980,7 +1980,7 @@ public class CameraDeviceImpl extends CameraDevice // Either send a partial result or the final capture completed result if (isPartialResult) { final CaptureResult resultAsCapture = new CaptureResult(result, request, resultExtras); new CaptureResult(getId(), result, request, resultExtras); // Partial result resultDispatch = new Runnable() { @Override Loading @@ -1992,7 +1992,7 @@ public class CameraDeviceImpl extends CameraDevice for (int i = 0; i < holder.getRequestCount(); i++) { CameraMetadataNative resultLocal = new CameraMetadataNative(resultCopy); CaptureResult resultInBatch = new CaptureResult( CaptureResult resultInBatch = new CaptureResult(getId(), resultLocal, holder.getRequest(i), resultExtras); holder.getCallback().onCaptureProgressed( Loading @@ -2019,8 +2019,8 @@ public class CameraDeviceImpl extends CameraDevice final Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE); final int subsequenceId = resultExtras.getSubsequenceId(); final TotalCaptureResult resultAsCapture = new TotalCaptureResult(result, request, resultExtras, partialResults, holder.getSessionId(), final TotalCaptureResult resultAsCapture = new TotalCaptureResult(getId(), result, request, resultExtras, partialResults, holder.getSessionId(), physicalResults); // Final capture result resultDispatch = new Runnable() { Loading @@ -2038,8 +2038,8 @@ public class CameraDeviceImpl extends CameraDevice new CameraMetadataNative(resultCopy); // No logical multi-camera support for batched output mode. TotalCaptureResult resultInBatch = new TotalCaptureResult( resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), getId(), resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), new PhysicalCaptureResultInfo[0]); holder.getCallback().onCaptureCompleted( Loading
core/java/android/hardware/camera2/impl/CameraOfflineSessionImpl.java +8 −7 Original line number Diff line number Diff line Loading @@ -334,7 +334,7 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession // Either send a partial result or the final capture completed result if (isPartialResult) { final CaptureResult resultAsCapture = new CaptureResult(result, request, resultExtras); new CaptureResult(mCameraId, result, request, resultExtras); // Partial result resultDispatch = new Runnable() { @Override Loading @@ -349,7 +349,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession CameraMetadataNative resultLocal = new CameraMetadataNative(resultCopy); final CaptureResult resultInBatch = new CaptureResult( resultLocal, holder.getRequest(i), resultExtras); mCameraId, resultLocal, holder.getRequest(i), resultExtras); final CaptureRequest cbRequest = holder.getRequest(i); callback.onCaptureProgressed(CameraOfflineSessionImpl.this, Loading @@ -372,8 +373,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession final Range<Integer> fpsRange = request.get(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE); final int subsequenceId = resultExtras.getSubsequenceId(); final TotalCaptureResult resultAsCapture = new TotalCaptureResult(result, request, resultExtras, partialResults, holder.getSessionId(), final TotalCaptureResult resultAsCapture = new TotalCaptureResult(mCameraId, result, request, resultExtras, partialResults, holder.getSessionId(), physicalResults); // Final capture result resultDispatch = new Runnable() { Loading @@ -393,8 +394,8 @@ public class CameraOfflineSessionImpl extends CameraOfflineSession new CameraMetadataNative(resultCopy); // No logical multi-camera support for batched output mode. TotalCaptureResult resultInBatch = new TotalCaptureResult( resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), mCameraId, resultLocal, holder.getRequest(i), resultExtras, partialResults, holder.getSessionId(), new PhysicalCaptureResultInfo[0]); final CaptureRequest cbRequest = holder.getRequest(i); Loading