/* * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.camera2; import android.annotation.NonNull; import android.hardware.camera2.impl.CameraMetadataNative; import android.hardware.camera2.impl.CaptureResultExtras; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** *
The total assembled results of a single image capture from the image sensor.
* *Contains the final configuration for the capture hardware (sensor, lens, * flash), the processing pipeline, the control algorithms, and the output * buffers.
* *A {@code TotalCaptureResult} is produced by a {@link CameraDevice} after processing a * {@link CaptureRequest}. All properties listed for capture requests can also * be queried on the capture result, to determine the final values used for * capture. The result also includes additional metadata about the state of the * camera device during the capture.
* *All properties returned by {@link CameraCharacteristics#getAvailableCaptureResultKeys()} * are available (that is {@link CaptureResult#get} will return non-{@code null}, if and only if * that key that was enabled by the request. A few keys such as * {@link CaptureResult#STATISTICS_FACES} are disabled by default unless enabled with a switch (such * as {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE}). Refer to each key documentation on * a case-by-case basis.
* *{@link TotalCaptureResult} objects are immutable.
* * @see CameraDevice.CaptureCallback#onCaptureCompleted */ public final class TotalCaptureResult extends CaptureResult { private final ListFor testing only.
* @hide */ public TotalCaptureResult(CameraMetadataNative results, int sequenceId) { super(results, sequenceId); mPartialResults = new ArrayList<>(); mSessionId = CameraCaptureSession.SESSION_ID_NONE; } /** * Get the read-only list of partial results that compose this total result. * *The list is returned is unmodifiable; attempting to modify it will result in a * {@code UnsupportedOperationException} being thrown.
* *The list size will be inclusive between {@code 0} and * {@link CameraCharacteristics#REQUEST_PARTIAL_RESULT_COUNT}, with elements in ascending order * of when {@link CameraCaptureSession.CaptureCallback#onCaptureProgressed} was invoked.
* * @return unmodifiable list of partial results */ @NonNull public List