diff options
| -rw-r--r-- | core/java/android/hardware/camera2/CameraManager.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index bcb7ebfb286f..6e9dcf5a83a1 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -1714,7 +1714,7 @@ public final class CameraManager { final TaskInfo taskInfo = appTask.getTaskInfo(); final int freeformCameraCompatMode = taskInfo.appCompatTaskInfo .cameraCompatTaskInfo.freeformCameraCompatMode; - if (freeformCameraCompatMode != 0 + if (isInCameraCompatMode(freeformCameraCompatMode) && taskInfo.topActivity != null && taskInfo.topActivity.getPackageName().equals(packageName)) { // WindowManager has requested rotation override. @@ -1741,6 +1741,12 @@ public final class CameraManager { : ICameraService.ROTATION_OVERRIDE_NONE; } + private static boolean isInCameraCompatMode(@CameraCompatTaskInfo.FreeformCameraCompatMode int + freeformCameraCompatMode) { + return (freeformCameraCompatMode != CameraCompatTaskInfo.CAMERA_COMPAT_FREEFORM_UNSPECIFIED) + && (freeformCameraCompatMode != CameraCompatTaskInfo.CAMERA_COMPAT_FREEFORM_NONE); + } + private static int getRotationOverrideForCompatFreeform( @CameraCompatTaskInfo.FreeformCameraCompatMode int freeformCameraCompatMode) { // Only rotate-and-crop if the app and device orientations do not match. |