From b07003ae347b0a113854320fe58691b4502f35a2 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Fri, 27 Nov 2015 17:02:54 -0800 Subject: [PATCH] fix yakju JWR66Y front-camera misbehavior fixes #4715 Closes #4738 // FREEBIE --- .../securesms/components/camera/CameraView.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/components/camera/CameraView.java b/src/org/thoughtcrime/securesms/components/camera/CameraView.java index 6a7205995e..c00d264b2e 100644 --- a/src/org/thoughtcrime/securesms/components/camera/CameraView.java +++ b/src/org/thoughtcrime/securesms/components/camera/CameraView.java @@ -370,6 +370,13 @@ public class CameraView extends ViewGroup { return outputOrientation; } + // https://github.com/WhisperSystems/Signal-Android/issues/4715 + private boolean isTroublemaker() { + return getCameraInfo().facing == CameraInfo.CAMERA_FACING_FRONT && + "JWR66Y".equals(Build.DISPLAY) && + "yakju".equals(Build.PRODUCT); + } + private @NonNull CameraInfo getCameraInfo() { final CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(cameraId, info); @@ -460,7 +467,7 @@ public class CameraView extends ViewGroup { } final float newWidth = visibleRect.width() * scale; final float newHeight = visibleRect.height() * scale; - final float centerX = (VERSION.SDK_INT < 14) ? previewWidth - newWidth / 2 : previewWidth / 2; + final float centerX = (VERSION.SDK_INT < 14 || isTroublemaker()) ? previewWidth - newWidth / 2 : previewWidth / 2; final float centerY = previewHeight / 2; visibleRect.set((int) (centerX - newWidth / 2),