From 17eebff45c1d90388a65ec31ed9cb000dc3cc382 Mon Sep 17 00:00:00 2001 From: Will Wheeler Date: Thu, 15 Mar 2018 15:40:30 -0700 Subject: [PATCH] Fix stream error and date format error Fixes #1220 --- .../java/org/reactnative/camera/CameraModule.java | 11 ++++++++--- .../org/reactnative/camera/RNCameraViewHelper.java | 8 ++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/org/reactnative/camera/CameraModule.java b/android/src/main/java/org/reactnative/camera/CameraModule.java index 00ed9fe..5022a1d 100644 --- a/android/src/main/java/org/reactnative/camera/CameraModule.java +++ b/android/src/main/java/org/reactnative/camera/CameraModule.java @@ -27,6 +27,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import java.io.ByteArrayOutputStream; + import javax.annotation.Nullable; public class CameraModule extends ReactContextBaseJavaModule { @@ -201,9 +203,12 @@ public class CameraModule extends ReactContextBaseJavaModule { } } else { Bitmap image = RNCameraViewHelper.generateSimulatorPhoto(cameraView.getWidth(), cameraView.getHeight()); - ByteBuffer byteBuffer = ByteBuffer.allocate(image.getRowBytes() * image.getHeight()); - image.copyPixelsToBuffer(byteBuffer); - new ResolveTakenPictureAsyncTask(byteBuffer.array(), promise, options).execute(); + + ByteArrayOutputStream stream = new ByteArrayOutputStream(); + image.compress(Bitmap.CompressFormat.JPEG, 100, stream); + byte[] byteArray = stream.toByteArray(); + + new ResolveTakenPictureAsyncTask(byteArray, promise, options, cacheDirectory).execute(); } } catch (Exception e) { promise.reject("E_CAMERA_BAD_VIEWTAG", "takePictureAsync: Expected a Camera component"); diff --git a/android/src/main/java/org/reactnative/camera/RNCameraViewHelper.java b/android/src/main/java/org/reactnative/camera/RNCameraViewHelper.java index 92bafa1..3dbccdb 100644 --- a/android/src/main/java/org/reactnative/camera/RNCameraViewHelper.java +++ b/android/src/main/java/org/reactnative/camera/RNCameraViewHelper.java @@ -292,8 +292,12 @@ public class RNCameraViewHelper { textPaint.setColor(Color.YELLOW); textPaint.setTextSize(35); Calendar calendar = Calendar.getInstance(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.YY HH:mm:ss", Locale.getDefault()); - canvas.drawText(simpleDateFormat.format(calendar.getTime()), width * 0.1f, height * 0.9f, textPaint); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd G '->' HH:mm:ss z"); + canvas.drawText(simpleDateFormat.format(calendar.getTime()), width * 0.1f, height * 0.2f, textPaint); + canvas.drawText(simpleDateFormat.format(calendar.getTime()), width * 0.2f, height * 0.4f, textPaint); + canvas.drawText(simpleDateFormat.format(calendar.getTime()), width * 0.3f, height * 0.6f, textPaint); + canvas.drawText(simpleDateFormat.format(calendar.getTime()), width * 0.4f, height * 0.8f, textPaint); + return fakePhoto; } }