Merge "Adding boolean to determine whether a surface is MultiResolution" into tm-qpr-dev am: 70c12a09b5 am: 90ae364cd4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22102275

Change-Id: I421323976ea328ffe80896419873b4e7bc15004e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Scott Wiest
2023-03-21 02:36:35 +00:00
committed by Automerger Merge Worker
4 changed files with 7 additions and 1 deletions

View File

@@ -36,4 +36,5 @@ parcelable CameraOutputConfig
int surfaceGroupId;
String physicalCameraId;
List<CameraOutputConfig> sharedSurfaceConfigs;
boolean isMultiResolutionOutput;
}

View File

@@ -258,6 +258,9 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
OutputConfiguration cameraOutput = new OutputConfiguration(output.surfaceGroupId,
outputSurface);
if (output.isMultiResolutionOutput) {
cameraOutput.setMultiResolutionOutput();
}
if ((output.sharedSurfaceConfigs != null) && !output.sharedSurfaceConfigs.isEmpty()) {
cameraOutput.enableSurfaceSharing();
for (CameraOutputConfig sharedOutputConfig : output.sharedSurfaceConfigs) {

View File

@@ -418,7 +418,7 @@ public final class OutputConfiguration implements Parcelable {
* call, or no non-negative group ID has been set.
* @hide
*/
void setMultiResolutionOutput() {
public void setMultiResolutionOutput() {
if (mIsShared) {
throw new IllegalStateException("Multi-resolution output flag must not be set for " +
"configuration with surface sharing");

View File

@@ -2076,6 +2076,7 @@ public class CameraExtensionsProxyService extends Service {
ret.outputId.id = output.getId();
ret.physicalCameraId = output.getPhysicalCameraId();
ret.surfaceGroupId = output.getSurfaceGroupId();
ret.isMultiResolutionOutput = false;
if (output instanceof SurfaceOutputConfigImpl) {
SurfaceOutputConfigImpl surfaceConfig = (SurfaceOutputConfigImpl) output;
ret.type = CameraOutputConfig.TYPE_SURFACE;
@@ -2095,6 +2096,7 @@ public class CameraExtensionsProxyService extends Service {
ret.type = CameraOutputConfig.TYPE_MULTIRES_IMAGEREADER;
ret.imageFormat = multiResReaderConfig.getImageFormat();
ret.capacity = multiResReaderConfig.getMaxImages();
ret.isMultiResolutionOutput = true;
} else {
throw new IllegalStateException("Unknown output config type!");
}