Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1b5a2a8 authored by Shuzhen Wang's avatar Shuzhen Wang Committed by android-build-merger
Browse files

Merge "Camera2: Use Set for physical camera IDs" into pi-dev

am: 83c4690f

Change-Id: I11c86616264823d52e71e15db350ba6b588099b5
parents b2ee30e9 83c4690f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -15777,7 +15777,7 @@ package android.hardware.camera2 {
    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailablePhysicalCameraRequestKeys();
    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableSessionKeys();
    method public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeys();
    method public java.util.List<java.lang.String> getPhysicalCameraIds();
    method public java.util.Set<java.lang.String> getPhysicalCameraIds();
    field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
    field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
    field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
+10 −11
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ import android.util.Rational;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * <p>The properties describing a
@@ -450,23 +452,20 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
    }

    /**
     * Returns the list of physical camera ids that this logical {@link CameraDevice} is
     * Returns the set of physical camera ids that this logical {@link CameraDevice} is
     * made up of.
     *
     * <p>A camera device is a logical camera if it has
     * REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA capability. If the camera device
     * doesn't have the capability, the return value will be an empty list. </p>
     * doesn't have the capability, the return value will be an empty set. </p>
     *
     * <p>The list returned is not modifiable, so any attempts to modify it will throw
     * <p>The set returned is not modifiable, so any attempts to modify it will throw
     * a {@code UnsupportedOperationException}.</p>
     *
     * <p>Each physical camera id is only listed once in the list. The order of the keys
     * is undefined.</p>
     *
     * @return List of physical camera ids for this logical camera device.
     * @return Set of physical camera ids for this logical camera device.
     */
    @NonNull
    public List<String> getPhysicalCameraIds() {
    public Set<String> getPhysicalCameraIds() {
        int[] availableCapabilities = get(REQUEST_AVAILABLE_CAPABILITIES);
        if (availableCapabilities == null) {
            throw new AssertionError("android.request.availableCapabilities must be non-null "
@@ -475,7 +474,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri

        if (!ArrayUtils.contains(availableCapabilities,
                REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA)) {
            return Collections.emptyList();
            return Collections.emptySet();
        }
        byte[] physicalCamIds = get(LOGICAL_MULTI_CAMERA_PHYSICAL_IDS);

@@ -485,9 +484,9 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
        } catch (java.io.UnsupportedEncodingException e) {
            throw new AssertionError("android.logicalCam.physicalIds must be UTF-8 string");
        }
        String[] physicalCameraIdList = physicalCamIdString.split("\0");
        String[] physicalCameraIdArray = physicalCamIdString.split("\0");

        return Collections.unmodifiableList(Arrays.asList(physicalCameraIdList));
        return Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(physicalCameraIdArray)));
    }

    /*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
+1 −1
Original line number Diff line number Diff line
@@ -808,7 +808,7 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
         *
         *<p>This method can be called for logical camera devices, which are devices that have
         * REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA capability and calls to
         * {@link CameraCharacteristics#getPhysicalCameraIds} return a non-empty list of
         * {@link CameraCharacteristics#getPhysicalCameraIds} return a non-empty set of
         * physical devices that are backing the logical camera. The camera Id included in the
         * 'physicalCameraId' argument selects an individual physical device that will receive
         * the customized capture request field.</p>
+1 −1
Original line number Diff line number Diff line
@@ -138,7 +138,7 @@ public final class TotalCaptureResult extends CaptureResult {
     *
     * <p>This function can be called for logical multi-camera devices, which are devices that have
     * REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA capability and calls to {@link
     * CameraCharacteristics#getPhysicalCameraIds} return a non-empty list of physical devices that
     * CameraCharacteristics#getPhysicalCameraIds} return a non-empty set of physical devices that
     * are backing the logical camera.</p>
     *
     * <p>If one or more streams from the underlying physical cameras were requested by the