diff options
Diffstat (limited to 'apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java')
-rw-r--r-- | apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java index c56eeb8df6b..11e1cfe60f4 100644 --- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java +++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java @@ -944,6 +944,11 @@ public class ItsService extends Service implements SensorEventListener { } else if ("getSupportedExtensions".equals(cmdObj.getString("cmdName"))) { String cameraId = cmdObj.getString("cameraId"); doGetSupportedExtensions(cameraId); + } else if ("getSupportedExtensionSizes".equals(cmdObj.getString("cmdName"))) { + String cameraId = cmdObj.getString("cameraId"); + int extension = cmdObj.getInt("extension"); + int format = cmdObj.getInt("format"); + doGetSupportedExtensionSizes(cameraId, extension, format); } else if ("doBasicRecording".equals(cmdObj.getString("cmdName"))) { String cameraId = cmdObj.getString("cameraId"); int profileId = cmdObj.getInt("profileId"); @@ -2362,6 +2367,23 @@ public class ItsService extends Service implements SensorEventListener { } } + private void doGetSupportedExtensionSizes( + String id, int extension, int format) throws ItsException { + try { + CameraExtensionCharacteristics chars = + mCameraManager.getCameraExtensionCharacteristics(id); + List<Size> extensionSizes = chars.getExtensionSupportedSizes(extension, format); + String response = extensionSizes.stream() + .distinct() + .sorted(Comparator.comparingInt(s -> s.getWidth() * s.getHeight())) + .map(Size::toString) + .collect(Collectors.joining(";")); + mSocketRunnableObj.sendResponse("supportedExtensionSizes", response); + } catch (CameraAccessException e) { + throw new ItsException("Failed to get supported extensions sizes list", e); + } + } + private class MediaCodecListener extends MediaCodec.Callback { private final MediaMuxer mMediaMuxer; private final Object mCondition; |