Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -19313,6 +19313,7 @@ package android.hardware.camera2 { public abstract static class CameraExtensionSession.ExtensionCaptureCallback { ctor public CameraExtensionSession.ExtensionCaptureCallback(); method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, int); method public void onCaptureProcessProgressed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, @IntRange(from=0, to=100) int); method public void onCaptureProcessStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest); method public void onCaptureResultAvailable(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.TotalCaptureResult); core/api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4828,7 +4828,7 @@ package android.hardware.camera2.extension { @FlaggedApi("com.android.internal.camera.flags.concert_mode") public static interface SessionProcessor.CaptureCallback { method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureCompleted(long, int, @NonNull android.hardware.camera2.CaptureResult); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(int, int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureProcessStarted(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureSequenceAborted(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureSequenceCompleted(int); core/java/android/hardware/camera2/CameraExtensionSession.java +31 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package android.hardware.camera2; import android.annotation.FlaggedApi; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.hardware.camera2.utils.HashCodeHelpers; import com.android.internal.camera.flags.Flags; import java.util.concurrent.Executor; /** Loading Loading @@ -131,6 +134,34 @@ public abstract class CameraExtensionSession implements AutoCloseable { // default empty implementation } /** * This method is called instead of * {@link #onCaptureProcessStarted} when the camera device failed * to produce the required input for the device-specific extension. The * cause could be a failed camera capture request, a failed * capture result or dropped camera frame. More information about * the reason is included in the 'failure' argument. * * <p>Other requests are unaffected, and some or all image buffers * from the capture may have been pushed to their respective output * streams.</p> * * <p>The default implementation of this method does nothing.</p> * * @param session the session received during * {@link StateCallback#onConfigured(CameraExtensionSession)} * @param request The request that was given to the CameraDevice * @param failure The capture failure reason * * @see #capture * @see #setRepeatingRequest */ @FlaggedApi(Flags.FLAG_CONCERT_MODE) public void onCaptureFailed(@NonNull CameraExtensionSession session, @NonNull CaptureRequest request, @CaptureFailure.FailureReason int failure) { // default empty implementation } /** * This method is called independently of the others in * ExtensionCaptureCallback, when a capture sequence finishes. Loading core/java/android/hardware/camera2/extension/ICaptureCallback.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package android.hardware.camera2.extension; import android.hardware.camera2.extension.CaptureFailure; import android.hardware.camera2.extension.Request; import android.hardware.camera2.impl.CameraMetadataNative; Loading @@ -28,4 +29,5 @@ interface ICaptureCallback void onCaptureSequenceAborted(int captureSequenceId); void onCaptureCompleted(long shutterTimestamp, int requestId, in CameraMetadataNative results); void onCaptureProcessProgressed(int progress); void onCaptureProcessFailed(int captureSequenceId, int captureFailureReason); } core/java/android/hardware/camera2/extension/SessionProcessor.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package android.hardware.camera2.extension; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CaptureFailure; import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.hardware.camera2.impl.CameraExtensionUtils.HandlerExecutor; Loading Loading @@ -132,13 +134,14 @@ public abstract class SessionProcessor { * This method is called instead of * {@link #onCaptureProcessStarted} when the camera device failed * to produce the required input for the device-specific * extension. The cause could be a failed camera capture request, * a failed capture result or dropped camera frame. * extension. The callback allows clients to be notified * about failure reason. * * @param captureSequenceId id of the current capture sequence * @param failure The capture failure reason */ @FlaggedApi(Flags.FLAG_CONCERT_MODE) void onCaptureFailed(int captureSequenceId); void onCaptureFailed(int captureSequenceId, @CaptureFailure.FailureReason int failure); /** * This method is called independently of the others in the Loading Loading @@ -474,9 +477,9 @@ public abstract class SessionProcessor { } @Override public void onCaptureFailed(int captureSequenceId) { public void onCaptureFailed(int captureSequenceId, int failure) { try { mCaptureCallback.onCaptureFailed(captureSequenceId); mCaptureCallback.onCaptureProcessFailed(captureSequenceId, failure); } catch (RemoteException e) { Log.e(TAG, "Failed to notify capture failure start due to remote exception!"); } Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -19313,6 +19313,7 @@ package android.hardware.camera2 { public abstract static class CameraExtensionSession.ExtensionCaptureCallback { ctor public CameraExtensionSession.ExtensionCaptureCallback(); method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, int); method public void onCaptureProcessProgressed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, @IntRange(from=0, to=100) int); method public void onCaptureProcessStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest); method public void onCaptureResultAvailable(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.TotalCaptureResult);
core/api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4828,7 +4828,7 @@ package android.hardware.camera2.extension { @FlaggedApi("com.android.internal.camera.flags.concert_mode") public static interface SessionProcessor.CaptureCallback { method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureCompleted(long, int, @NonNull android.hardware.camera2.CaptureResult); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureFailed(int, int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureProcessStarted(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureSequenceAborted(int); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public void onCaptureSequenceCompleted(int);
core/java/android/hardware/camera2/CameraExtensionSession.java +31 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,14 @@ package android.hardware.camera2; import android.annotation.FlaggedApi; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.hardware.camera2.utils.HashCodeHelpers; import com.android.internal.camera.flags.Flags; import java.util.concurrent.Executor; /** Loading Loading @@ -131,6 +134,34 @@ public abstract class CameraExtensionSession implements AutoCloseable { // default empty implementation } /** * This method is called instead of * {@link #onCaptureProcessStarted} when the camera device failed * to produce the required input for the device-specific extension. The * cause could be a failed camera capture request, a failed * capture result or dropped camera frame. More information about * the reason is included in the 'failure' argument. * * <p>Other requests are unaffected, and some or all image buffers * from the capture may have been pushed to their respective output * streams.</p> * * <p>The default implementation of this method does nothing.</p> * * @param session the session received during * {@link StateCallback#onConfigured(CameraExtensionSession)} * @param request The request that was given to the CameraDevice * @param failure The capture failure reason * * @see #capture * @see #setRepeatingRequest */ @FlaggedApi(Flags.FLAG_CONCERT_MODE) public void onCaptureFailed(@NonNull CameraExtensionSession session, @NonNull CaptureRequest request, @CaptureFailure.FailureReason int failure) { // default empty implementation } /** * This method is called independently of the others in * ExtensionCaptureCallback, when a capture sequence finishes. Loading
core/java/android/hardware/camera2/extension/ICaptureCallback.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ package android.hardware.camera2.extension; import android.hardware.camera2.extension.CaptureFailure; import android.hardware.camera2.extension.Request; import android.hardware.camera2.impl.CameraMetadataNative; Loading @@ -28,4 +29,5 @@ interface ICaptureCallback void onCaptureSequenceAborted(int captureSequenceId); void onCaptureCompleted(long shutterTimestamp, int requestId, in CameraMetadataNative results); void onCaptureProcessProgressed(int progress); void onCaptureProcessFailed(int captureSequenceId, int captureFailureReason); }
core/java/android/hardware/camera2/extension/SessionProcessor.java +8 −5 Original line number Diff line number Diff line Loading @@ -18,8 +18,10 @@ package android.hardware.camera2.extension; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CaptureFailure; import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.hardware.camera2.impl.CameraExtensionUtils.HandlerExecutor; Loading Loading @@ -132,13 +134,14 @@ public abstract class SessionProcessor { * This method is called instead of * {@link #onCaptureProcessStarted} when the camera device failed * to produce the required input for the device-specific * extension. The cause could be a failed camera capture request, * a failed capture result or dropped camera frame. * extension. The callback allows clients to be notified * about failure reason. * * @param captureSequenceId id of the current capture sequence * @param failure The capture failure reason */ @FlaggedApi(Flags.FLAG_CONCERT_MODE) void onCaptureFailed(int captureSequenceId); void onCaptureFailed(int captureSequenceId, @CaptureFailure.FailureReason int failure); /** * This method is called independently of the others in the Loading Loading @@ -474,9 +477,9 @@ public abstract class SessionProcessor { } @Override public void onCaptureFailed(int captureSequenceId) { public void onCaptureFailed(int captureSequenceId, int failure) { try { mCaptureCallback.onCaptureFailed(captureSequenceId); mCaptureCallback.onCaptureProcessFailed(captureSequenceId, failure); } catch (RemoteException e) { Log.e(TAG, "Failed to notify capture failure start due to remote exception!"); } Loading