From 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93 Mon Sep 17 00:00:00 2001 From: liyujie <2352380935@qq.com> Date: Thu, 28 Aug 2025 12:04:21 +0000 Subject: [PATCH] [4/4]解决USB摄像头打开相机预览界面绿屏 --- android/packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/android/packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java b/android/packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java old mode 100755 new mode 100644 index 582d77f..f261213 --- a/android/packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java +++ b/android/packages/apps/Camera2/src/com/android/camera/settings/PictureSizeLoader.java @@ -49,17 +49,22 @@ public static class PictureSizes { public final List<Size> backCameraSizes; public final List<Size> frontCameraSizes; + public final List<Size> externalCameraSizes; public final Optional<SelectedVideoQualities> videoQualitiesBack; public final Optional<SelectedVideoQualities> videoQualitiesFront; - + public final Optional<SelectedVideoQualities> videoQualitiesExternal; PictureSizes(List<Size> backCameraSizes, List<Size> frontCameraSizes, + List<Size> externalCameraSizes, Optional<SelectedVideoQualities> videoQualitiesBack, - Optional<SelectedVideoQualities> videoQualitiesFront) { + Optional<SelectedVideoQualities> videoQualitiesFront, + Optional<SelectedVideoQualities> videoQualitiesExternal) { this.backCameraSizes = backCameraSizes; this.frontCameraSizes = frontCameraSizes; + this.externalCameraSizes = externalCameraSizes; this.videoQualitiesBack = videoQualitiesBack; this.videoQualitiesFront = videoQualitiesFront; + this.videoQualitiesExternal = videoQualitiesExternal; } } @@ -111,17 +116,24 @@ * We then calculate the resolutions that should be available and in the end * filter it in case a resolution is on the blacklist for this device. */ + public PictureSizes computePictureSizes() { List<Size> backCameraSizes = computeSizesForCamera(SettingsUtil.CAMERA_FACING_BACK); List<Size> frontCameraSizes = computeSizesForCamera(SettingsUtil.CAMERA_FACING_FRONT); + List<Size> externalCameraSizes = computeSizesForCamera(SettingsUtil.CAMERA_FACING_EXTERNAL); Optional<SelectedVideoQualities> videoQualitiesBack = - computeQualitiesForCamera(SettingsUtil.CAMERA_FACING_BACK); + computeQualitiesForCamera(SettingsUtil.CAMERA_FACING_BACK); Optional<SelectedVideoQualities> videoQualitiesFront = - computeQualitiesForCamera(SettingsUtil.CAMERA_FACING_FRONT); - return new PictureSizes(backCameraSizes, frontCameraSizes, videoQualitiesBack, - videoQualitiesFront); + computeQualitiesForCamera(SettingsUtil.CAMERA_FACING_FRONT); + Optional<SelectedVideoQualities> videoQualitiesExternal = + computeQualitiesForCamera(SettingsUtil.CAMERA_FACING_EXTERNAL); + return new PictureSizes(backCameraSizes, frontCameraSizes, externalCameraSizes, + videoQualitiesBack, + videoQualitiesFront, + videoQualitiesExternal); } + private List<Size> computeSizesForCamera(CameraDeviceSelector facingSelector) { List<Size> sizes; int cameraId = SettingsUtil.getCameraId(mCameraDeviceInfo, facingSelector); -- Gitblit v1.6.2