From f301331b15eea7795dfa0219642784166d55b626 Mon Sep 17 00:00:00 2001 From: Nathan Ward Date: Mon, 2 Jan 2017 15:27:07 -0600 Subject: [PATCH] [Android): fixes crashes related to orientation (#537) --- .../main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java index 1dd3edb..4f4dd95 100644 --- a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java +++ b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java @@ -573,7 +573,9 @@ public class RCTCameraModule extends ReactContextBaseJavaModule ); final ExifIFD0Directory exifIFD0Directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class); - if (exifIFD0Directory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) { + if (exifIFD0Directory == null) { + return data; + } else if (exifIFD0Directory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) { final int exifOrientation = exifIFD0Directory.getInt(ExifIFD0Directory.TAG_ORIENTATION); return rotate(data, exifOrientation); } @@ -654,6 +656,7 @@ public class RCTCameraModule extends ReactContextBaseJavaModule final Boolean shouldMirror = options.hasKey("mirrorImage") && options.getBoolean("mirrorImage"); RCTCamera.getInstance().adjustCameraRotationToDeviceOrientation(options.getInt("type"), deviceOrientation); + camera.setPreviewCallback(null); camera.takePicture(null, null, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) {