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

Commit 2f6138bf authored by Shuzhen Wang's avatar Shuzhen Wang Committed by Android (Google) Code Review
Browse files

Merge "Camera: Fix race condition in CameraManager" into main

parents c31c2631 af274a1b
Loading
Loading
Loading
Loading
+17 −15
Original line number Diff line number Diff line
@@ -818,7 +818,7 @@ public final class CameraManager {
            }

            boolean hasConcurrentStreams =
                    CameraManagerGlobal.get().cameraIdHasConcurrentStreamsLocked(cameraId,
                    CameraManagerGlobal.get().cameraIdHasConcurrentStreams(cameraId,
                            mContext.getDeviceId(), getDevicePolicyFromContext(mContext));
            metadata.setHasMandatoryConcurrentStreams(hasConcurrentStreams);

@@ -2629,15 +2629,16 @@ public final class CameraManager {
         * @return Whether the camera device was found in the set of combinations returned by
         *         getConcurrentCameraIds
         */
        public boolean cameraIdHasConcurrentStreamsLocked(String cameraId, int deviceId,
        public boolean cameraIdHasConcurrentStreams(String cameraId, int deviceId,
                int devicePolicy) {
            synchronized (mLock) {
                DeviceCameraInfo info = new DeviceCameraInfo(cameraId,
                        devicePolicy == DEVICE_POLICY_DEFAULT ? DEVICE_ID_DEFAULT : deviceId);
                if (!mDeviceStatus.containsKey(info)) {
                    // physical camera ids aren't advertised in concurrent camera id combinations.
                    if (DEBUG) {
                    Log.v(TAG, " physical camera id " + cameraId + " is hidden." +
                            " Available logical camera ids : " + mDeviceStatus);
                        Log.v(TAG, " physical camera id " + cameraId + " is hidden."
                                + " Available logical camera ids : " + mDeviceStatus);
                    }
                    return false;
                }
@@ -2648,6 +2649,7 @@ public final class CameraManager {
                }
                return false;
            }
        }

        public void setTorchMode(
                String cameraId,