From e33b3dd3a6ba339c3e8f9a37d28c0e49c97e90b7 Mon Sep 17 00:00:00 2001 From: Yedidya Kennard Date: Wed, 17 Aug 2016 16:57:39 +0300 Subject: [PATCH] Front camera images saved right side up --- .../java/com/wix/RNCameraKit/camera/CameraModule.java | 10 +++------- .../com/wix/RNCameraKit/camera/CameraViewManager.java | 11 ++++++++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/android/src/main/java/com/wix/RNCameraKit/camera/CameraModule.java b/android/src/main/java/com/wix/RNCameraKit/camera/CameraModule.java index f0b31cd9ec..4c8a26574b 100644 --- a/android/src/main/java/com/wix/RNCameraKit/camera/CameraModule.java +++ b/android/src/main/java/com/wix/RNCameraKit/camera/CameraModule.java @@ -5,12 +5,9 @@ import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.hardware.Camera; -import android.media.ExifInterface; import android.net.Uri; import android.os.AsyncTask; -import android.os.Environment; import android.provider.MediaStore; -import android.util.Log; import com.drew.imaging.ImageMetadataReader; import com.drew.metadata.Metadata; @@ -22,10 +19,6 @@ import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; /** * Created by yedidyak on 04/07/2016. @@ -142,6 +135,9 @@ protected Void doInBackground(byte[]... data) { default: break; // Unknown } + if(CameraViewManager.getCameraInfo().facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { + bitmapMatrix.postRotate(180); + } // Create new bitmap. image = Bitmap.createBitmap(image, 0, 0, image.getWidth(), image.getHeight(), bitmapMatrix, false); } diff --git a/android/src/main/java/com/wix/RNCameraKit/camera/CameraViewManager.java b/android/src/main/java/com/wix/RNCameraKit/camera/CameraViewManager.java index 81a13a8729..62be2f2308 100644 --- a/android/src/main/java/com/wix/RNCameraKit/camera/CameraViewManager.java +++ b/android/src/main/java/com/wix/RNCameraKit/camera/CameraViewManager.java @@ -148,10 +148,15 @@ public static void setCameraDisplayOrientation(Activity activity) { camera.setParameters(parameters); } - public static int getRotation(Activity activity) { - Camera.CameraInfo info = - new Camera.CameraInfo(); + public static Camera.CameraInfo getCameraInfo() { + Camera.CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(currentCamera, info); + return info; + } + + public static int getRotation(Activity activity) { + Camera.CameraInfo info = getCameraInfo(); + int rotation = activity.getWindowManager().getDefaultDisplay() .getRotation(); int degrees = 0;