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

am: 83c4690f55

Change-Id: I11c86616264823d52e71e15db350ba6b588099b5
This commit is contained in:
Shuzhen Wang
2018-03-20 01:04:20 +00:00
committed by android-build-merger
4 changed files with 13 additions and 14 deletions

View File

@@ -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;

View File

@@ -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~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~

View File

@@ -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>

View File

@@ -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